This commit was manufactured by cvs2svn to create tag 'v20041120_1320'.
diff --git a/bundles/org.eclipse.wst.dtd.core/.classpath b/bundles/org.eclipse.wst.dtd.core/.classpath
deleted file mode 100644
index df094ee..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/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 35a5f4d..0000000
--- a/bundles/org.eclipse.wst.dtd.core/plugin.properties
+++ /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
-#     
-###############################################################################
-Structured_Source_DTD_Model.name=Structured Source DTD Model
-Structured_Source_DTD_Model_NL_Support.name=Structured Source DTD Model NL Support
-! Properties file for component: XML tools SSE DTD Model
-! Packaged for translation in:  xml.zip
-
-!plugin.xml
-_UI_PLUGIN_NAME=SSE DTD Model
-
-! 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
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 158ae48..0000000
--- a/bundles/org.eclipse.wst.dtd.core/plugin.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-	id="org.eclipse.wst.dtd.core"
-	name="%Structured_Source_DTD_Model.name"
-	version="1.0.0"
-	provider-name="IBM"
-	class="org.eclipse.wst.dtd.core.DTDPlugin">
-
-	<runtime>
-		<library name="dtdmodel.jar">
-			<export name="*" />
-		</library>
-	</runtime>
-	<requires>
-		<import plugin="org.eclipse.core.runtime.compatibility" />
-		<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.sse.core.handler.dtd">
-		</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">
-      <factory
-            contentTypeId="org.eclipse.wst.dtd.core.dtdsource"
-            class="org.eclipse.wst.sse.core.filebuffers.BasicStructuredDocumentFactory:org.eclipse.wst.dtd.core.dtdsource"/>
-   </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"
-               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 7914575..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Attribute.java
+++ /dev/null
@@ -1,369 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://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.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 = DTDPlugin.getDTDString("_UI_CHARACTER_DATA_DESC"); //$NON-NLS-1$
-	public static final String ENTITIES = DTDPlugin.getDTDString("_UI_ENTITY_NAMES_DESC"); //$NON-NLS-1$
-	public static final String ENTITY = DTDPlugin.getDTDString("_UI_ENTITY_NAME_DESC"); //$NON-NLS-1$
-	public static final String ENUMERATED_NAME = DTDPlugin.getDTDString("_UI_ENUM_NAME_TOKENS_DESC"); //$NON-NLS-1$
-	public static final String ENUMERATED_NOTATION = DTDPlugin.getDTDString("_UI_ENUM_NOTATION_DESC"); //$NON-NLS-1$
-	public static final String FIXED = "#FIXED"; //$NON-NLS-1$
-	public static final String ID = DTDPlugin.getDTDString("_UI_IDENTIFIER_DESC"); //$NON-NLS-1$
-	public static final String IDREF = DTDPlugin.getDTDString("_UI_ID_REFERENCE_DESC"); //$NON-NLS-1$
-	public static final String IDREFS = DTDPlugin.getDTDString("_UI_ID_REFERENCES_DESC"); //$NON-NLS-1$
-
-	public static final String IMPLIED = "#IMPLIED"; //$NON-NLS-1$
-	public static final String NMTOKEN = DTDPlugin.getDTDString("_UI_NAME_TOKEN_DESC"); //$NON-NLS-1$
-	public static final String NMTOKENS = DTDPlugin.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 getStructuredDocumentRegion().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 DTDPlugin.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 getStructuredDocumentRegion().getEndOffset(typeRegion);
-		} else {
-			ITextRegion nameRegion = getNameRegion();
-			return getStructuredDocumentRegion().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 getStructuredDocumentRegion().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 = getStructuredDocumentRegion().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(), getStructuredDocumentRegion());
-			}
-			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 ? "" : getStructuredDocumentRegion().getText(defaultKindRegion); //$NON-NLS-1$
-		if (!kind.equals(oldDefaultKind)) {
-			String newText = kind;
-			int startOffset = 0;
-			int length = 0;
-			if (defaultKindRegion != null) {
-				startOffset = getStructuredDocumentRegion().getStartOffset(defaultKindRegion);
-				length = getStructuredDocumentRegion().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 = getStructuredDocumentRegion().getEndOffset(defaultValue) - startOffset;
-				}
-			}
-			replaceText(requestor, startOffset, length, newText);
-			// do something if there is no "kind" region
-		}
-	}
-
-	public void setDefaultKind(String kind) {
-		beginRecording(this, DTDPlugin.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 = getStructuredDocumentRegion().getStartOffset(defaultValue);
-			endOffset = getStructuredDocumentRegion().getEndOffset(defaultValue);
-		}
-
-		ITextRegion defaultKindRegion = getDefaultKindRegion();
-		if (defaultKindRegion != null) {
-			startOffset = getStructuredDocumentRegion().getStartOffset(defaultKindRegion);
-			endOffset = endOffset == 0 ? getStructuredDocumentRegion().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, DTDPlugin.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 = getStructuredDocumentRegion().getStartOffset(region);
-				if (endOffset == 0) {
-					endOffset = getStructuredDocumentRegion().getEndOffset(region);
-				}
-			} else if (startOffset == 0) {
-				ITextRegion nameRegion = getNameRegion();
-				newText += " "; //$NON-NLS-1$
-				endOffset = startOffset = getStructuredDocumentRegion().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, DTDPlugin.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 635c001..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/AttributeEnumList.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.dtd.core;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-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(getStructuredDocumentRegion().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, DTDPlugin.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 b52422c..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.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, DTDPlugin.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, getStructuredDocumentRegion().getEndOffset(nameRegion), 0, "\n\t" + name + " CDATA #IMPLIED"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-
-		}
-
-		endRecording(this);
-	}
-
-	public Image getImage() {
-		return DTDPlugin.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();
-		boolean isLastChild = false;
-		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(), getStructuredDocumentRegion());
-				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 618cb92..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMBasicNode.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
- *     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.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 DTDPlugin.getInstance().getImage(DTDResource.PCDATAICON);
-		}
-
-		if (isRootElementContent()) {
-			if (name.equals(EMPTY)) {
-				return DTDPlugin.getInstance().getImage(DTDResource.EMPTYICON);
-			} else if (name.equals(ANY)) {
-				return DTDPlugin.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 e242136..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMGroupNode.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://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.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, DTDPlugin.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, DTDPlugin.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(getStructuredDocumentRegion(), 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 = getStructuredDocumentRegion().getText(currentRegion).charAt(0);
-					return connector;
-				}
-			}
-		}
-		return connector;
-	}
-
-	public Image getImage() {
-		DTDPlugin resourcePlugin = DTDPlugin.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;
-		boolean isLastChild = position == children.length;
-		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, DTDPlugin.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();
-		// we skip past the first left paren we see since that is the
-		// beginning of our own node
-		boolean isConnectorSet = false;
-		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(), getStructuredDocumentRegion());
-					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(), getStructuredDocumentRegion());
-					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(), getStructuredDocumentRegion());
-						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, DTDPlugin.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(getStructuredDocumentRegion(), 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, getStructuredDocumentRegion().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 168cefd..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMNode.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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.core;
-
-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 = DTDPlugin.getDTDString("_UI_LABEL_CM_NODE_ANY"); //$NON-NLS-1$
-	public static final String CHILDREN = DTDPlugin.getDTDString("_UI_LABEL_CM_NODE_CHILD_CONTENT"); //$NON-NLS-1$
-
-	public static final String EMPTY = DTDPlugin.getDTDString("_UI_LABEL_CM_NODE_EMPTY"); //$NON-NLS-1$
-	public static final String MIXED = DTDPlugin.getDTDString("_UI_LABEL_CM_NODE_MIX_CONTENT"); //$NON-NLS-1$
-	public static final String PCDATA = DTDPlugin.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, DTDPlugin.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, DTDPlugin.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, DTDPlugin.getDTDString("_UI_LABEL_CM_NODE_SET") + " " + content + " " + DTDPlugin.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, DTDPlugin.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 be37d13..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/CMRepeatableNode.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.dtd.core;
-
-import org.eclipse.swt.graphics.Image;
-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() {
-		DTDPlugin resourcePlugin = DTDPlugin.getInstance();
-		return resourcePlugin.getImage(DTDResource.ELEMENTREFICON);
-	}
-
-	public char getOccurrence() {
-		ITextRegion occurRegion = getOccurrenceRegion();
-		if (occurRegion != null && occurRegion.getType() == DTDRegionTypes.OCCUR_TYPE) {
-			return getStructuredDocumentRegion().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, DTDPlugin.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, getStructuredDocumentRegion().getStartOffset(region), 1, ""); //$NON-NLS-1$
-					} else {
-						//            Region oldOccur = region.createCopy();
-						getDTDFile().getStructuredDocument().replaceText(requestor, getStructuredDocumentRegion().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, getStructuredDocumentRegion().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 fa58df0..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.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 DTDPlugin.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 = getStructuredDocumentRegion().getEndOffset();
-		if (commentStartTag != null) {
-			pair.startOffset = getStructuredDocumentRegion().getEndOffset(commentStartTag);
-		}
-		if (endCommentTag != null) {
-			pair.endOffset = getStructuredDocumentRegion().getStartOffset(endCommentTag);
-		}
-	}
-
-	public String getText() {
-		String text = getStructuredDocumentRegion().getText();
-		int flatNodeStart = getStructuredDocumentRegion().getStartOffset();
-		StartEndPair pair = new StartEndPair();
-		getStartAndEndOffsetForText(pair);
-		return text.substring(pair.startOffset - flatNodeStart, pair.endOffset - flatNodeStart);
-	}
-
-	public void setText(String newText) {
-		beginRecording(this, DTDPlugin.getDTDString("_UI_LABEL_COMMENT_CHG")); //$NON-NLS-1$
-		int flatNodeStart = getStructuredDocumentRegion().getStartOffset();
-		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 2e6b0bb..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDFile.java
+++ /dev/null
@@ -1,667 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://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.Enumeration;
-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.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 ArrayList folderList = null;
-	protected IStructuredDocument fStructuredDocument;
-
-	private boolean isMovingNode = false;
-
-	protected ArrayList lists = new ArrayList();
-
-	protected ArrayList modelListeners = new ArrayList();
-
-	protected ArrayList 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;
-		this.fStructuredDocument = dtdModel.getStructuredDocument();
-	}
-
-	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();
-
-		Enumeration flatNodes = list.elements();
-		TopLevelNode previousNode = null;
-		while (flatNodes.hasMoreElements()) {
-			IStructuredDocumentRegion flatNode = (IStructuredDocumentRegion) flatNodes.nextElement();
-			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, DTDPlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_ATTR_LIST")); //$NON-NLS-1$
-		DTDNode topLevelNode = null;
-		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, DTDPlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_COMMENT")); //$NON-NLS-1$
-		DTDNode topLevelNode = null;
-		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, DTDPlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_ELEMENT")); //$NON-NLS-1$
-		DTDNode topLevelNode = null;
-		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, DTDPlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_ENTITY")); //$NON-NLS-1$
-		DTDNode topLevelNode = null;
-		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, DTDPlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_NOTATION")); //$NON-NLS-1$
-		DTDNode topLevelNode = null;
-		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, DTDPlugin.getDTDString("_UI_LABEL_DTD_FILE_ADD_PARM_ENTITY_REF")); //$NON-NLS-1$
-		DTDNode topLevelNode = null;
-		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, DTDPlugin.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 DTDPlugin.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.getStructuredDocumentRegion()));
-
-				DTDNode afterNode = null;
-				if (index + 1 < getNodes().size()) {
-					afterNode = (DTDNode) getNodes().get(index + 1);
-				}
-				if (afterNode != null) {
-					offset = afterNode.getStructuredDocumentRegion().getStartOffset();
-				} else {
-					// add to end
-					if (getStructuredDocument().getLastStructuredDocumentRegion() != null) {
-						offset = getStructuredDocument().getLastStructuredDocumentRegion().getEndOffset();
-					}
-				}
-			} else {
-				offset = node.getStructuredDocumentRegion().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.getStructuredDocumentRegion() == 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 ArrayList 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 ArrayList 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 fStructuredDocument;
-	}
-
-	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.getStructuredDocumentRegion();
-		// 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 (fStructuredDocument != null && fStructuredDocument.getRegionList() != null) {
-			buildNodes(fStructuredDocument.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.getStructuredDocumentRegion() == 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.getStructuredDocumentRegion());
-			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 ()
-		 */
-	}
-
-	/**
-	 * Sets the flatModel.
-	 * 
-	 * @param flatModel
-	 *            The flatModel to set
-	 */
-	public void setStructuredDocument(IStructuredDocument flatModel) {
-		this.fStructuredDocument = flatModel;
-	}
-}
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 8edc3e4..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDNode.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://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.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, DTDPlugin.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 getStructuredDocumentRegion().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 += getStructuredDocumentRegion().getText(region);
-			}
-		}
-		return text;
-	}
-
-	abstract public Image getImage();
-
-	public String getName() {
-		ITextRegion region = getNameRegion();
-		if (region != null) {
-			return getStructuredDocumentRegion().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(getStructuredDocumentRegion().getText(region));
-		}
-		return sb.toString();
-	}
-
-	public short getNodeType() {
-		return -1;
-	}
-
-	public int getStartOffset() {
-		return getStructuredDocumentRegion().getStartOffset(getStartRegion());
-	}
-
-	//  private Region startRegion,endRegion;
-	public ITextRegion getStartRegion() {
-		return regions.get(0);
-		//    return startRegion;
-	}
-
-	/**
-	 * Get the value of flatNode.
-	 * 
-	 * @return value of flatNode.
-	 */
-	public IStructuredDocumentRegion getStructuredDocumentRegion() {
-		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 getStructuredDocumentRegion().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, getStructuredDocumentRegion().getStartOffset(nameRegion), nameRegion.getLength(), name);
-			}
-		}
-	}
-
-	public void setName(String name) {
-		beginRecording(this, DTDPlugin.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.
-	 */
-	public void setStructuredDocumentRegion(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 6a9d11f..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/DTDPlugin.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.dtd.core;
-
-import java.text.MessageFormat;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-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 DTDPlugin extends AbstractUIPlugin {
-	private static DTDPlugin 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 DTDPlugin getInstance() {
-		return instance;
-	}
-
-	public static DTDPlugin getPlugin() {
-		return instance;
-	}
-
-	private ResourceBundle resourceBundle;
-
-	public DTDPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		instance = this;
-		try {
-			resourceBundle = descriptor.getResourceBundle();
-		} 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/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 492cd71..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.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, DTDPlugin.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, DTDPlugin.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 = getStructuredDocumentRegion().getStartOffset(whitespace);
-			length = whitespace.getLength() >= 2 ? 1 : 0;
-		} else {
-			ITextRegion nameRegion = getNameRegion();
-			if (nameRegion != null) {
-				startOffset = getStructuredDocumentRegion().getEndOffset(nameRegion);
-			} else {
-				ITextRegion elementTag = getNextRegion(iterator(), DTDRegionTypes.ELEMENT_TAG);
-				startOffset = getStructuredDocumentRegion().getEndOffset(elementTag);
-			}
-		}
-		replaceText(requestor, startOffset, length, content);
-	}
-
-	public void addGroup() {
-		beginRecording(this, DTDPlugin.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 DTDPlugin.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);
-		}
-
-		CMBasicNode basicNode = null;
-		while (iter.hasNext()) {
-			ITextRegion currentRegion = iter.next();
-
-			if (contentModel == null) {
-				if (currentRegion.getType().equals(DTDRegionTypes.NAME)) {
-					contentModel = basicNode = new CMBasicNode(getDTDFile(), getStructuredDocumentRegion());
-				} else if (currentRegion.getType().equals(DTDRegionTypes.CONTENT_PCDATA)) {
-					contentModel = basicNode = new CMBasicNode(getDTDFile(), getStructuredDocumentRegion());
-				} else if (currentRegion.getType().equals(DTDRegionTypes.LEFT_PAREN)) {
-					contentModel = new CMGroupNode(getDTDFile(), getStructuredDocumentRegion());
-				}
-			}
-
-			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 ff93bf7..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Entity.java
+++ /dev/null
@@ -1,324 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://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.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 = DTDPlugin.getDTDString("_UI_LABEL_ENTITY_SET_EXT_ENTITY"); //$NON-NLS-1$
-	private static String setGeneralEntity = DTDPlugin.getDTDString("_UI_LABEL_ENTITY_SET_GENERAL_ENTITY"); //$NON-NLS-1$
-	private static String setInternalEntity = DTDPlugin.getDTDString("_UI_LABEL_ENTITY_SET_INT_ENTITY"); //$NON-NLS-1$
-
-	private static String setParameterEntity = DTDPlugin.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 DTDPlugin.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 getStructuredDocumentRegion().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 = getStructuredDocumentRegion().getStartOffset(ndataRegion);
-			endOffset = getStructuredDocumentRegion().getEndOffset(ndataRegion);
-		}
-		ITextRegion value = getNextRegion(iterator(), DTDRegionTypes.NDATA_VALUE);
-		if (value != null) {
-			if (startOffset == 0) {
-				startOffset = getStructuredDocumentRegion().getStartOffset(value);
-			}
-			endOffset = getStructuredDocumentRegion().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, getStructuredDocumentRegion().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 = getStructuredDocumentRegion().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 = getStructuredDocumentRegion().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 = getStructuredDocumentRegion().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, getStructuredDocumentRegion().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 = getStructuredDocumentRegion().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 = getStructuredDocumentRegion().getEndOffset(keyword);
-						}
-
-					} else {
-						startOffset = getStructuredDocumentRegion().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 " + DTDPlugin.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 = getStructuredDocumentRegion().getStartOffset(region);
-					if (region.getType() == DTDRegionTypes.WHITESPACE && region.getLength() > 1) {
-						length = 1;
-					}
-				} else {
-					startOffset = getStructuredDocumentRegion().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, getStructuredDocumentRegion().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, getStructuredDocumentRegion().getStartOffset(valueRegion), valueRegion.getLength(), quoteChar + v + quoteChar);
-				} else {
-					int startOffset = 0, length = 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 = getStructuredDocumentRegion().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, DTDPlugin.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 4fa8c5f..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/ExternalNode.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.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;
-
-
-// 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 = getStructuredDocumentRegion().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 = getStructuredDocumentRegion().getStartOffset(publicKeyword);
-					String newString = "SYSTEM"; //$NON-NLS-1$
-					if (systemValue == null) {
-						newString += " \"\""; //$NON-NLS-1$
-					}
-					replaceText(requestor, startOffset, getStructuredDocumentRegion().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, getStructuredDocumentRegion().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, getStructuredDocumentRegion().getEndOffset(publicKeyword), 0, " " + quoteChar + v + quoteChar); //$NON-NLS-1$
-					} else {
-						// we need the public keyword as well
-						if (systemKeyword != null) {
-							replaceText(requestor, getStructuredDocumentRegion().getStartOffset(systemKeyword), systemKeyword.getLength(), "PUBLIC " + quoteChar + v + quoteChar); //$NON-NLS-1$
-						} else {
-							ITextRegion nameRegion = getNameRegion();
-							replaceText(requestor, getStructuredDocumentRegion().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, DTDPlugin.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, getStructuredDocumentRegion().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, getStructuredDocumentRegion().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, getStructuredDocumentRegion().getEndOffset(nameRegion), 0, " SYSTEM " + quoteChar + v + quoteChar); //$NON-NLS-1$
-					} else {
-						// put it after the public value region
-						ITextRegion publicValueRegion = getPublicValueRegion();
-						replaceText(requestor, getStructuredDocumentRegion().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, DTDPlugin.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 f2b58c3..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Logger.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.dtd.core;
-
-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;
-
-/**
- * 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 {
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	private static Plugin fPlugin = DTDPlugin.getInstance();
-	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 (!fPlugin.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, 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 (!fPlugin.isDebugging())
-			return;
-
-		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)) {
-					Status statusObj = new Status(IStatus.OK, fPluginId, IStatus.OK, message, exception);
-					fPlugin.getLog().log(statusObj);
-					return;
-				}
-			}
-		}
-	}
-
-	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/NamedTopLevelNode.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/NamedTopLevelNode.java
deleted file mode 100644
index 56ba63a..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, getStructuredDocumentRegion().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 863dfb7..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/NodeList.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.dtd.core;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.swt.graphics.Image;
-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 DTDPlugin.getInstance().getImage(DTDResource.FLDR_EL);
-		} else if (listType == DTDRegionTypes.ENTITY_TAG) {
-			return DTDPlugin.getInstance().getImage(DTDResource.FLDR_ENT);
-		} else if (listType == DTDRegionTypes.NOTATION_TAG) {
-			return DTDPlugin.getInstance().getImage(DTDResource.FLDR_NOT);
-		} else if (listType == DTDRegionTypes.COMMENT_START) {
-			return DTDPlugin.getInstance().getImage(DTDResource.FLDR_COMM);
-		} else if (listType == DTDRegionTypes.ATTLIST_TAG) {
-			return DTDPlugin.getInstance().getImage(DTDResource.FLDR_ATTLIST);
-		} else if (listType == DTDRegionTypes.UNKNOWN_CONTENT) {
-			return DTDPlugin.getInstance().getImage(DTDResource.FLDR_UNREC);
-		} else
-			return null;
-	}
-
-	public String getListType() {
-		return listType;
-	}
-
-	public String getName() {
-		if (listType == DTDRegionTypes.ELEMENT_TAG) {
-			return DTDPlugin.getDTDString("_UI_LABEL_NODE_LIST_ELEMENTS"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.ENTITY_TAG) {
-			return DTDPlugin.getDTDString("_UI_LABEL_NODE_LIST_ENTITIES"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.NOTATION_TAG) {
-			return DTDPlugin.getDTDString("_UI_LABEL_NODE_LIST_NOTATIONS"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.COMMENT_START) {
-			return DTDPlugin.getDTDString("_UI_LABEL_NODE_LIST_COMMENTS"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.ATTLIST_TAG) {
-			return DTDPlugin.getDTDString("_UI_LABEL_NODE_LIST_ATTRIBUTES"); //$NON-NLS-1$
-		} else if (listType == DTDRegionTypes.UNKNOWN_CONTENT) {
-			return DTDPlugin.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 05d75df..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Notation.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;
-
-import org.eclipse.swt.graphics.Image;
-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 DTDPlugin.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 4af2336..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.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 DTDPlugin.getInstance().getImage(DTDResource.ENTITYREFERENCEICON);
-	}
-
-	public String getName() {
-		return getStructuredDocumentRegion().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 = getStructuredDocumentRegion().getEndOffset();
-		if (commentStartTag != null) {
-			pair.startOffset = getStructuredDocumentRegion().getEndOffset(commentStartTag);
-		}
-		if (endCommentTag != null) {
-			pair.endOffset = getStructuredDocumentRegion().getEndOffset(endCommentTag);
-		}
-	}
-
-	public String getText() {
-		String text = getStructuredDocumentRegion().getText();
-		int flatNodeStart = getStructuredDocumentRegion().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, getStructuredDocumentRegion().getStartOffset(), getStructuredDocumentRegion().getLength(), "%" + name + ";"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public void setReferencedEntity(String name) {
-		beginRecording(this, DTDPlugin.getDTDString("_UI_LABEL_PARM_ENTITY_REF_CHG_ENTITY_REF")); //$NON-NLS-1$
-		setReferencedEntity(this, name);
-		endRecording(this);
-	}
-
-	public void setText(String newText) {
-		beginRecording(this, DTDPlugin.getDTDString("_UI_LABEL_PARM_ENTITY_REF_COMMENT_CHG")); //$NON-NLS-1$
-		int flatNodeStart = getStructuredDocumentRegion().getStartOffset();
-		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 44e67b4..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/TopLevelNode.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;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-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(), DTDPlugin.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 0ca7997..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/Unrecognized.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;
-
-import org.eclipse.swt.graphics.Image;
-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 DTDPlugin.getInstance().getImage(DTDResource.UNRECOGNIZEDICON);
-	}
-
-	public String getName() {
-		String text = getStructuredDocumentRegion().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/builder/participants/DTDTaskTagParticipant.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/builder/participants/DTDTaskTagParticipant.java
deleted file mode 100644
index 9daa805..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/builder/participants/DTDTaskTagParticipant.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.participants;
-
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.participants.TaskTagParticipant;
-import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-
-
-public class DTDTaskTagParticipant extends TaskTagParticipant {
-	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/ContentDescriberForDTD.java b/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/content/ContentDescriberForDTD.java
deleted file mode 100644
index fa4c731..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/content/ContentDescriberForDTD.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.content;
-
-import org.eclipse.core.runtime.content.ITextContentDescriber;
-import org.eclipse.wst.common.encoding.AbstractContentDescriber;
-import org.eclipse.wst.common.encoding.IResourceCharsetDetector;
-import org.eclipse.wst.xml.core.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/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 287d51d..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/document/DTDModelImpl.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.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
-	 *            com.ibm.sed.structured.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);
-		document.setStructuredDocument(newStructuredDocument);
-	}
-
-}
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 9cd2207..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/DTDDocumentCharsetDetector.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
- *     
- *******************************************************************************/
-/*
- * 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.common.encoding.AbstractResourceEncodingDetector;
-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 fff661c..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/encoding/DTDDocumentLoader.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.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() {
-		// Copied from com.ibm.etools.dtd.sed.model.DTDLoader
-		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/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/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 e047697..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, com.ibm.encoding.resource.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 2c50a0d..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.sse.core.handler.dtd"; //$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 4785a1b..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 6bdc39e..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/tokenizer/DTDTokenizer.java
+++ /dev/null
@@ -1,1430 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://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 java.io.IOException;
-
-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>file:/E:/wsad5/eclipse/plugins/com.ibm.etools.dtdmodel/src/com/ibm/etools/dtd/sed/parser/tokenizer/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 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;
-		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;
-
-			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 1b47d5a..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 com.ibm.etools.dtd.sed.parser.tokenizer;

-

-import com.ibm.etools.dtd.sed.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 fa2d0f9..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDModelUpdater.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.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) {
-			Entity entity = (Entity) node;
-			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 79bfcf2..0000000
--- a/bundles/org.eclipse.wst.dtd.core/src/org/eclipse/wst/dtd/core/util/DTDReferenceUpdater.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.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) {
-			Entity entity = (Entity) referencedNode;
-			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.dtd.ui/.classpath b/bundles/org.eclipse.wst.dtd.ui/.classpath
deleted file mode 100644
index df094ee..0000000
--- a/bundles/org.eclipse.wst.dtd.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.dtd.ui/.compatibility b/bundles/org.eclipse.wst.dtd.ui/.compatibility
deleted file mode 100644
index 3ea4f29..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/.compatibility
+++ /dev/null
@@ -1,2 +0,0 @@
-#Wed Mar 24 13:53:52 EST 2004

-.project=4140

diff --git a/bundles/org.eclipse.wst.dtd.ui/.cvsignore b/bundles/org.eclipse.wst.dtd.ui/.cvsignore
deleted file mode 100644
index 4f388b8..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-bin
-
-build.xml
-dtdeditor.jar
-temp.folder
-org.eclipse.wst.dtd.ui_1.0.0.jar
diff --git a/bundles/org.eclipse.wst.dtd.ui/.project b/bundles/org.eclipse.wst.dtd.ui/.project
deleted file mode 100644
index 16b209c..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.dtd.ui</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.ui/README.txt b/bundles/org.eclipse.wst.dtd.ui/README.txt
deleted file mode 100644
index 5a653fe..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-The dtd implementation of the sse editor.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.dtd.ui/build.properties b/bundles/org.eclipse.wst.dtd.ui/build.properties
deleted file mode 100644
index 88b9844..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/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,\
-               icons/,\
-               plugin.properties
-source.dtdeditor.jar = src/
-src.includes = plugin.xml,\
-               icons/,\
-               build.xml,\
-               plugin.properties
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/DTDFile.gif b/bundles/org.eclipse.wst.dtd.ui/icons/DTDFile.gif
deleted file mode 100644
index 211c437..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/DTDFile.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_Attribute.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_Attribute.gif
deleted file mode 100644
index 00bb7b4..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_Attribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_Element.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_Element.gif
deleted file mode 100644
index 01f4889..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_Element.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_ElementToConModel.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_ElementToConModel.gif
deleted file mode 100644
index 1a8236b..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_ElementToConModel.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_GroupToConModel.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_GroupToConModel.gif
deleted file mode 100644
index 8168fb3..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/ctool16/ADD_GroupToConModel.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_Attribute.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_Attribute.gif
deleted file mode 100644
index a7fb780..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_Attribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_Element.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_Element.gif
deleted file mode 100644
index 3755e5e..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_Element.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_ElementToConModel.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_ElementToConModel.gif
deleted file mode 100644
index 1a58e11..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_ElementToConModel.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_GroupToConModel.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_GroupToConModel.gif
deleted file mode 100644
index d525a21..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/dtool16/ADD_GroupToConModel.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_Attribute.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_Attribute.gif
deleted file mode 100644
index 00bb7b4..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_Attribute.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_Element.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_Element.gif
deleted file mode 100644
index 01f4889..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_Element.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_ElementToConModel.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_ElementToConModel.gif
deleted file mode 100644
index 1a8236b..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_ElementToConModel.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_GroupToConModel.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_GroupToConModel.gif
deleted file mode 100644
index 8168fb3..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/etool16/ADD_GroupToConModel.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Comment.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Comment.gif
deleted file mode 100644
index 39611d6..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Comment.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Entity.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Entity.gif
deleted file mode 100644
index cb41506..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Entity.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Entity_Reference.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Entity_Reference.gif
deleted file mode 100644
index 5efa9b9..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Entity_Reference.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Notation.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Notation.gif
deleted file mode 100644
index 57ad089..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/ADD_Notation.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/organize_dtd_logically.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/organize_dtd_logically.gif
deleted file mode 100644
index 093c6ba..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/organize_dtd_logically.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/sort.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/sort.gif
deleted file mode 100644
index 23c5d0b..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/sort.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/validate.gif b/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/validate.gif
deleted file mode 100644
index 86196e9..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/full/obj16/validate.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/icons/sourceEditor.gif b/bundles/org.eclipse.wst.dtd.ui/icons/sourceEditor.gif
deleted file mode 100644
index 75ebdb8..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/icons/sourceEditor.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.dtd.ui/plugin.properties b/bundles/org.eclipse.wst.dtd.ui/plugin.properties
deleted file mode 100644
index 1a48cf9..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/plugin.properties
+++ /dev/null
@@ -1,350 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-SSE_DTD_Source_Editor.name=SSE DTD Source Editor
-SSE_DTD_Source_Editor_NL_Support.name=SSE DTD Source Editor NL Support
-DTD_Source_Page_Editor.name=DTD Source Page Editor
-! Properties file for component: XMDTD - XML Tools DTD Editor
-! Packaged for translation in:  xml.zip
-
-!plugin.xml
-_UI_PLUGIN_NAME=DTD Editor
-_UI_EDITOR_NAME=DTD Editor
-_UI_WIZARD_NEW_DTD=DTD File
-_UI_CREATE_NEW_DTD_FILE=Create a new DTD file
-_UI_XML_TOOLS_PREFERENCE_PAGE=XML
-_UI_DTD_EDITOR_PREFERENCE=DTD
-
-! GenerateDTDActionDelegate - XML validation check
-_UI_DIALOG_TITLE_XML_ERROR=Invalid XML
-_UI_DIALOG_INFO_XML_INVALID=IWAK0090I The XML file contains errors. Open it in the XML editor and validate it for details.
-
-!
-! Preference Page
-!
-_UI_SEPARATE_DESIGN_AND_SOURCE_VIEW=Separate design and source view
-_UI_COMBINED_DESIGN_AND_SOURCE_VIEW=Combined design and source view
-_UI_LABEL_EDITOR_LAYOUT=Editor Layout
-_UI_LABEL_DTD_FILES=DTD Files
-_UI_LABEL_DTD_STYLES=DTD Styles
-
-!AddAttributeAction
-_UI_DEFAULT_NEW_ATTRIBUTE=Attribute
-_UI_ACTION_DTD_ADD_ATTRIBUTE=Add Attribute
-_UI_ACTION_DTD_ADD_ELEMENT=Add Element
-
-!actions/AddGroupToContentModelAction.java
-_UI_ACTION_ADD_GROUP=Add &Group
-
-!AddEntityAction
-_UI_ACTION_ADD_ENTITY=Add &Entity
-
-
-! Flat Page Header Text
-_UI_PAGE_HEADING_ELEMENT=Element
-_UI_PAGE_HEADING_ATTRIBUTE=Attribute
-_UI_PAGE_HEADING_NOTATION=Notation
-_UI_PAGE_HEADING_PARAM_ENTITY_REF=External Parameter Entity Reference
-_UI_PAGE_HEADING_ENTITY=Entity
-_UI_PAGE_HEADING_COMMENT=Comment
-_UI_PAGE_HEADING_ATTLIST=Attribute List
-_UI_PAGE_HEADING_CONTENT_MODEL=Content Model
-_UI_PAGE_HEADING_CONTENT_MODEL_GROUP=Content Model Group
-
-!BlankWindow
-_UI_LABEL_VIEW_NOT_AVAILABLE=View is not available for selected object.
-
-!AttributeWindow
-_UI_ACTION_NOTATION_INFO=Attribute Information
-_UI_LABEL_ATTRIBUTE_NAME=Name:
-_UI_LABEL_ATTRIBUTE_TYPE=Type:
-_UI_RADIO_DEFAULT=Default
-_UI_GROUP_ENUMERATED_DEFAULTS=Enumerated defaults
-_UI_BUTTON_ADD=Add  >>
-_UI_BUTTON_REMOVE=<< Remove
-_UI_CHKBOX_DEFAULT=Default
-_UI_GROUP_ELEMENT_COMMENT=Comment
-_UI_CHKBOX_ENUMERATED_DEFAULT=Default
-_UI_CHKBOX_NOTATION_COMBO=Default
-_UI_GROUP_ATTRIBUTE=Attribute default value
-
-!ContentWindow  & ElementWindow
-_UI_LABEL_DTD_NAME=Name
-_UI_GROUP_OCCURRENCE=Occurrence
-
-!the following four symbols are also used in dtdeditor/presentation/GroupContentWindow.java
-!! NOTE TO TRANSLATOR: Please keep the characters in parentheses in translated text i.e. (1)
-_UI_RADIO_JUST_ONCE=Just once (1)
-_UI_RADIO_ONE_OR_MORE=One or more (+)
-_UI_RADIO_OPTIONAL=Optional (?)
-_UI_RADIO_ZERO_OR_MORE=Zero or more (*)
-
-!context menu for .dtd files
-_UI_MENU_GENERATE=&Generate
-_UI_MENU_JAVA=&Java Beans...
-_UI_MENU_XML_SCHEMA=XML &Schema...
-_UI_MENU_HTML_FORM=&HTML Form...
-
-!presentation/DTDContextContributor.java
-_UI_MENU_GENERATE_JAVA=Generate &Java Beans...
-_UI_MENU_GENERATE_XML_SCHEMA=Generate &XML Schema...
-_UI_MENU_GENERATE_HTML_FORM=Generate &HTML Form...
-_UI_MENU_GENERATE_SAMPLE_XML=Generate XM&L...
-_UI_MENU_VALIDATE_DTD=&Validate DTD
-_UI_TOOLTIP_VALIDATE_DTD=Validate the current state of the DTD
-_UI_TOOLTIP_GENERATE_HTML=Generate an HTML form for the DTD
-_UI_TOOLTIP_GENERATE_SAMPLE_XML=Generate an XML from the DTD
-_UI_TOOLTIP_GENERATE_XML_SCHEMA=Generate an XML Schema from the DTD
-_UI_TOOLTIP_GENERATE_JAVA=Generate Java Beans for the DTD
-
-_UI_ACTION_DELETE=Delete
-_UI_ACTION_CONTEXT_ADD_NOTATION=Add &Notation
-_UI_TOOLTIP_ADD_NOTATION=Add a notation to the DTD.
-_UI_ACTION_CONTEXT_ADD_ENTITY=Add &Entity
-_UI_TOOLTIP_ADD_ENTITY=Add an entity to the DTD.
-_UI_ACTION_CONTEXT_ADD_ELEMENT=Add Ele&ment
-_UI_TOOLTIP_ADD_ELEMENT=Add an element to the DTD.
-_UI_ACTION_CONTEXT_ADD_ATTRIBUTE=Add Attribute
-_UI_TOOLTIP_ADD_ATTRIBUTE_SELECTED=Add an attribute to the selected element.
-_UI_ACTION_ADD_ATTRIBUTELIST=Add Attribute &List
-_UI_TOOLTIP_ADD_ATTRIBUTELIST_SELECTED=Add an attribute list to the selected element.
-_UI_ACTION_ADD_GROUP_CONTENT=Add Group To Con&tent Model
-_UI_TOOLTIP_ADD_GROUP=Add a group to the content model of the selected group or element.
-_UI_ACTION_ADD_ELEMENT_CONTENT=Add Element To C&ontent Model
-_UI_TOOLTIP_ADD_ELEMENT_CONTENT=Add an element to the content model.
-_UI_MENU_DTD_EDITOR=&DTD
-_UI_TOOLTIP_ADD_COMMENT=Add a comment to the DTD.
-
-!presentation/DTDEditor.java
-_UI_WORKBOOKPAGE_SOURCE=Source
-_UI_WORKBOOKPAGE_DESIGN=Design
-
-!the following is used: _UI_MENU_UNDO_1 + _UI_MENU_UNDO_2
-_UI_MENU_UNDO_1=&Undo
-!! NOTE TO TRANSLATOR: Do not translate following line - shortcut key
-_UI_MENU_UNDO_2=@Ctrl+Z
-
-!the following is used: _UI_MENU_UNDO_DESC + a description of the command to be undone
-_UI_MENU_UNDO_DESC=Undo:
-
-!the following is used: _UI_MENU_REDO_1 + _UI_MENU_REDO_2
-_UI_MENU_REDO_1=&Redo
-!! NOTE TO TRANSLATOR: Do not translate following line - shortcut key
-_UI_MENU_REDO_2=@Ctrl+Y
-
-!the following is used: _UI_MENU_REDO_DESC + a description of the command to be done again
-_UI_MENU_REDO_DESC=Redo:
-
-!presentation/ElementWindow
-_UI_ELEMENT_NAME=Name
-_UI_ELEMENT_COMMENT=Comment
-
-!DTDOutliner
-_UI_ACTION_ADD_DTD_NOTATION=Add &Notation
-_UI_ACTION_ADD_DTD_ENTITY=Add &Entity
-_UI_ACTION_ADD_DTD_ELEMENT=Add Ele&ment
-_UI_ACTION_ADD_DTD_COMMENT=Add &Comment
-_UI_ACTION_DTD_DELETE=&Delete
-_UI_ACTION_ADD_ATTRIBUTE=Add &Attribute
-_UI_ACTION_GROUP_ADD_GROUP=Add Group to Con&tent Model
-_UI_ACTION_ADD_ELEMENT=Add Element to C&ontent Model
-
-!DTDContentOutlinePage
-_UI_BUTTON_GROUP_ITEMS_LOGICALLY=Group items logically.
-_UI_BUTTON_UNGROUP_ITEMS_LOGICALLY=Do not group items logically.
-_UI_BUTTON_SORT_ITEMS=Sort items alphabetically.
-_UI_BUTTON_UNSORT_ITEMS=Do not sort items alphabetically.
-
-!provider/EntityItemProvider.java
-_UI_COLUMN_PARAMETER=Parameter
-_UI_COLUMN_GENERAL=General
-
-!provider/FolderItemProvider.java
-_UI_LABEL_ELEMENTS_FOLDER=Elements
-_UI_LABEL_NOTATIONS_FOLDER=Notations
-_UI_LABEL_ENITIES_FOLDER=Entities
-
-!Wizards/InputSelectionPage.java
-_UI_BUTTON_SELECT_ALL=&Select All
-_UI_BUTTON_UNSELECT_ALL=&Clear All
-
-!Wizards/HTMLFormWizard.java
-_UI_HTML_WIZARD_NEW_FILE_TITLE=Generate HTML Form
-_UI_HTML_WIZARD_NEW_FILE_DESC=Generate an HTML form from the selected DTD file.
-
-!Wizards/NewDTDWizard.java
-_UI_WIZARD_NEW_DTD_TITLE=Create DTD
-_UI_WIZARD_CREATE_DTD_HEADING=Create DTD File
-_UI_WIZARD_CREATE_DTD_EXPL=Select how you would like to create your DTD file.
-_UI_RADIO_CREATE_DTD=Create DTD file from scratch
-_UI_RADIO_CREATE_DTD_FROM_XML=Create DTD file from an XML file
-
-_UI_WIZARD_NEW_DTD_HEADING=New DTD
-_UI_WIZARD_NEW_DTD_EXPL=Create a new DTD file. Specify the folder and name for the file.
-
-_UI_WIZARD_NEW_XSD_HEADING=New XML Schema
-_UI_WIZARD_NEW_XSD_EXPL=Create a new XML Schema file from the XML file.
-
-_UI_WIZARD_XML_FILE_HEADING=XML Files
-_UI_WIZARD_XML_FILE_EXPL=Select the XML files to create the DTD file from.
-_UI_LABEL_XML_FILES=XML Files:
-
-_UI_STATUS_XML_CONTAINS_ERRORS=XML files specified contained errors.
-_UI_BUTTON_ADD_XML=Add...
-_UI_BUTTON_REMOVE_XML=Remove
-
-!wizards/ServletNamePage
-_UI_WIZARD_SERVLET_NAME_HEADING=Servlet Name
-_UI_LABEL_SERVLET_NAME=&Enter the servlet name:
-_UI_LABEL_MISSING_SERVLET_NAME=Provide a servlet name
-_UI_LABEL_DEFAULT_SERVLET_NAME=http://localhost/servlet/testServlet
-
-!wizards/GenerateXMLSchemaHelper.java & DTD2XSDWizard.java
-_UI_WIZARD_DTD2XSD_TITLE=Generate
-_UI_GENERATE_XSD_TITLE=Generate XML Schema
-_UI_GENERATE_XSD_DESCRIPTION=Generate an XML schema from the selected DTD file.
-_UI_PAGE_GEN_OPTIONS_TITLE=XML Schema Generation Options
-_UI_PAGE_GEN_OPTIONS_DESC=Select how you want your XML schema generated
-_UI_GENERATE_XSD_LONG_DESC=You can create one XML schema file that includes the selected DTD and any of the DTDs it references.  Alternatively, you can create individual schema files that correspond to the selected DTD and any of the DTDs it references.
-
-
-_UI_GROUP_OPTIONS=Options
-_UI_BUTTON_GEN_ONE_SCHEMA=&Create one XML schema that includes all the DTD files
-_UI_BUTTON_GEN_MULTI_SCHEMAS=Create an &XML schema for each DTD file
-
-!EntityWindow
-_UI_GROUP_ENTITY_INFORMATION=Entity information
-_UI_LABEL_NAME=Name:
-_UI_LABLE_TYPE=Type:
-_UI_RADIO_GENERAL=General
-_UI_RADIO_PARAMETER=Parameter
-_UI_CHKBOX_EXTERNAL=External
-_UI_GROUP_INTERNAL=Internal Entity
-_UI_DIALOG_SELECT_DTD=Select System ID File
-_UI_DIALOG_SELECT_DTD_DESC=Please select a resource to be used for the System ID.
-_UI_GROUP_INTERNAL_ENTITY=Internal entity
-_UI_LABEL_VALUE_INTERNAL=Value:
-_UI_GROUP_EXTERNAL_ENTITY=External entity
-_UI_LABEL_VALUE=Value
-_UI_GROUP_COMMENT=Comment
-_UI_LABEL_SYSTEM_ID=System ID:
-_UI_BUTTON_SELECT=Select...
-_UI_LABEL_PUBLIC_ID=Public ID:
-_UI_LABEL_NOTATION_NAME=Notation name
-_UI_LABEL_UNPARSE_ENTITY=(Unparsed entity)
-_UI_TOOLTIP_GENERAL=Use entity in XML documents.
-_UI_TOOLTIP_PARAMETER=Use entity in a DTD.
-_UI_TOOLTIP_EXTERNAL=Refer to an external DTD.
-_UI_LABEL_BROWSE=Browse...
-
-!presentation/NotationsTable.java
-_UI_COLUMN_NOTATION_NAME=Notation Name
-_UI_COLUMN_DECLARATION=Declaration
-
-!GroupContentWindow
-_UI_GROUP_MODEL_GROUP=Model group
-_UI_GROUP_CONNECTOR=Connector
-_UI_GROUP_MODEL_GROUP_OCCURRENCE=Occurrence
-_UI_RADIO_SEQUENCE=Sequence (,)
-_UI_RADIO_CHOICE=Choice (|)
-_UI_LABEL_CONTENT_MODEL_TYPE=Content model type:
-
-!EntitiesTable
-_UI_COLUMN_ENTITY_NAME=Entity Name
-_UI_COLUMN_TYPE=Type
-_UI_COLUMN_DECLARATION=Declaration
-
-!AddNotationAction
-_UI_DEFAULT_NOTATION=Notation
-_UI_ACTION_ADD_NOTATION=Add &Notation
-
-!ElementsTable
-_UI_COLUMN_ELEMENT_NAME=Element Name
-_UI_COLUMN_CONTENT_MODEL=Content Model
-_UI_COLUMN_ATTRIBUTES=Attributes
-
-!ValidateDTDAction
-_UI_MSGBOX_DTD_VALID_TITLE=Validation Successful
-_UI_MSGBOX_DTD_VALID_TEXT=The DTD file is valid.
-
-!NotationWindow
-_UI_LABEL_NOTATION_INFORMATION=Notation information
-_UI_LABEL_NOTATION_NAME=Name:
-_UI_LABEL_NOTATION_SYSTEM_ID=System ID:
-_UI_LABEL_NOTATION_PUBLIC_ID=Public ID:
-_UI_LABEL_NOTATION_COMMENT=Comment
-
-!ParameterEntityReferenceWindow
-_UI_GROUP_EXTERNAL_PARM_ENTITY_REF=External parameter entity reference
-_UI_LABEL_ENTITY_NAME=Entity name:
-_UI_LABEL_REFERENCED_FILE=Referenced file:
-
-!InputSelectionPage (HTMLFormWizard)
-_UI_INPUT_SEL_PAGE_TITLE=Form Input Selection
-_UI_INPUT_SEL_PAGE_DESC=Select the form input fields to be generated
-
-!HTMLFormWizard (HTMLFormWizard)
-_UI_HTML_WIZARD_TITLE=HTML Form Creation Wizard
-
-! ParameterEntityReferenceWindow
-_UI_BUTTON_DETAILS=Details...
-
-!DTDContextContributer
-_UI_ACTION_ADD_PARAM_ENTITY_REF=Add &Parameter Entity Reference
-
-!DragAttributeCommand
-_UI_MOVE_ATTRIBUTE=Move Attribute
-
-!DragContentModelCommand
-_UI_MOVE_CONTENT=Move Content
-
-!DragTopLevelNodesCommand
-_UI_MOVE_NODE=Move Node
-_UI_MOVE_NODES=Move Nodes
-
-!DTDValidator
-_UI_DTD_VALIDATOR=DTD Validator
-
-!======================================================================================
-!
-! Here is the list of Error strings that have message IDs - make sure they are unique
-!  Range for DTDEditor messageIDs: IWAX0201 - IWAX0400
-!
-!======================================================================================
-_ERROR_MIN_ONE_XML_FILE=IWAK0091E At least one XML File must be added
-_ERROR_MIN_ONE_XML_FILE_FOR_OP=IWAK0092E At least one XML file is required to perform the operation.
-_ERROR_NO_FILENAME=IWAK0093E Enter a file name
-_ERROR_FILE_DOES_NOT_EXIST=IWAK0094E File does not exist
-_ERROR_FILENAME_INVALID=IWAK0095E Invalid file name
-_ERROR_FILENAME_MUST_END_DTD=IWAK0096E The file name must end in .dtd
-_ERROR_TITLE_GENERATE_DTD_FAILED=IWAK0097E Generate DTD failed
-_ERROR_MSG_GENERATE_DTD_FAILED=IWAK0098E Errors were encountered while generating the DTD.
-
-_ERROR_INVALID_NAME_SPACE=IWAK0099E Name field cannot contain a space
-_ERROR_VALIDATE_FAILED=IWAK0100E Validation failed
-_ERROR_DTD_INVALID=IWAK0101E The DTD file is invalid.  Please check the Tasks view for more details.
-_ERROR_LIMITE_EXCEEDED=IWAK0102E The DTD file is not valid.  The message limit for the Tasks view has been exceeded.  Please increase the limit and try again.
-
-_ERROR_TITLE_GENERATE_JAVABEAN_FAILED=IWAK0103E Generate Java Beans failed
-_ERROR_MSG_GENERATE_JAVABEAN_FAILED=IWAK0104E Errors were encountered while generating the Java Beans.
-DTDColorPage.0=<\!ELEMENT Main (One,Two+)>\r\n<\!ELEMENT One (Three,Four)>\r\n<\!ATTLIST One\r\n oneone CDATA \#REQUIRED\r\n>\r\n<\!-- You need this -->\r\n<\!ELEMENT Two (moremore*)>\r\n<\!ATTLIST Two\r\n twotwo CDATA \#REQUIRED\r\n twothree (aaa | bbb) "aaa"\r\n>\r\n
-DTDColorPage.1=Comments
-DTDColorPage.2=Data
-DTDColorPage.3=Default
-DTDColorPage.4=Keywords
-DTDColorPage.5=Strings
-DTDColorPage.6=Symbols
-DTDColorPage.7=Tag Delimiters
-DTDColorPage.8=Tag Names
-DTDPropertySourceAdapter.0=Name
-DTDPropertySourceAdapter.1=Contents
-DTDPropertySourceAdapter.2=Attributes
diff --git a/bundles/org.eclipse.wst.dtd.ui/plugin.xml b/bundles/org.eclipse.wst.dtd.ui/plugin.xml
deleted file mode 100644
index c014603..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/plugin.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.dtd.ui"
-   name="%SSE_DTD_Source_Editor.name"
-   version="1.0.0"
-   provider-name="IBM"
-   class="org.eclipse.wst.dtd.ui.DTDEditorPlugin">
-
-   <runtime>
-      <library name="dtdeditor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <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.xml.core"/>
-      <import plugin="org.eclipse.wst.dtd.core"/>
-      <import plugin="org.eclipse.wst.sse.core"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.workbench"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.wst.common.encoding"/>
-      <import plugin="org.eclipse.wst.common.ui"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%DTD_Source_Page_Editor.name"
-            icon="icons/DTDFile.gif"
-            extensions="dtd,ent,mod"
-            contributorClass="org.eclipse.wst.dtd.ui.ActionContributorDTD"
-            class="org.eclipse.wst.dtd.ui.StructuredTextEditorDTD"
-            symbolicFontName="org.eclipse.wst.sse.ui.textfont"
-            id="org.eclipse.wst.dtd.ui.StructuredTextEditorDTD">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.extendedconfiguration">
-      <contentoutlineconfiguration
-            class="org.eclipse.wst.dtd.ui.views.contentoutline.DTDContentOutlineConfiguration"
-            target="org.eclipse.wst.dtd.core.dtdsource">
-      </contentoutlineconfiguration>
-      <textviewerconfiguration
-            class="org.eclipse.wst.dtd.ui.StructuredTextViewerConfigurationDTD"
-            target="org.eclipse.wst.dtd.core.dtdsource">
-      </textviewerconfiguration>
-      <characterpairmatcher
-            class="org.eclipse.wst.dtd.ui.text.DTDDocumentRegionEdgeMatcher"
-            target="org.eclipse.wst.dtd.core.dtdsource">
-      </characterpairmatcher>
-      <preferencepages
-            preferenceids="org.eclipse.wst.sse.ui.preferences/org.eclipse.wst.sse.ui.preferences.dtd"
-            target="org.eclipse.wst.dtd.core.dtdsource">
-      </preferencepages>
-   </extension>
-   <extension
-      point="org.eclipse.core.filebuffers.annotationModelCreation">
-      <factory
-            contentTypeId="org.eclipse.wst.dtd.core.dtdsource"
-            class="org.eclipse.wst.sse.ui.StructuredResourceMarkerAnnotationModelFactory"/>
-   </extension>
-   <extension
-         point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
-      <adapterFactoryDescription
-            class="org.eclipse.wst.dtd.ui.registry.AdapterFactoryProviderForDTD">
-            <contentType id="org.eclipse.wst.dtd.core.dtdsource"/>
-      </adapterFactoryDescription>
-   </extension>
-<!-- Editor actionsets -->
-   <extension
-         point="org.eclipse.ui.actionSetPartAssociations">
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.edit.text.actionSet.annotationNavigation">
-         <part
-               id="org.eclipse.wst.dtd.ui.StructuredTextEditorDTD">
-         </part>
-      </actionSetPartAssociation>
-      <actionSetPartAssociation
-            targetID="org.eclipse.ui.NavigateActionSet">
-         <part
-               id="org.eclipse.wst.dtd.ui.StructuredTextEditorDTD">
-         </part>
-      </actionSetPartAssociation>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%_UI_LABEL_DTD_FILES"
-            category="org.eclipse.wst.sse.ui.preferences"
-            class="org.eclipse.wst.dtd.ui.preferences.DTDFilesPreferencePage"
-            id="org.eclipse.wst.sse.ui.preferences.dtd">
-      </page>
-      <page
-            name="%_UI_LABEL_DTD_STYLES"
-            category="org.eclipse.wst.sse.ui.preferences.dtd"
-            class="org.eclipse.wst.dtd.ui.preferences.DTDColorPage"
-            id="org.eclipse.wst.sse.ui.preferences.dtd.styles">
-      </page>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/ActionContributorDTD.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/ActionContributorDTD.java
deleted file mode 100644
index b09a082..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/ActionContributorDTD.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.ui;
-
-import org.eclipse.wst.sse.ui.edit.util.ActionContributor;
-
-/**
- * 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 ActionContributorDTD extends ActionContributor {
-	protected static final String[] EDITOR_IDS = {"org.eclipse.wst.dtd.ui.StructuredTextEditorDTD", "org.eclipse.wst.sse.ui.StructuredTextEditor"}; //$NON-NLS-1$ //$NON-NLS-2$
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.edit.util.ActionContributor#getExtensionIDs()
-	 */
-	protected String[] getExtensionIDs() {
-		return EDITOR_IDS;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/DTDEditorPlugin.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/DTDEditorPlugin.java
deleted file mode 100644
index a7e5ade..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/DTDEditorPlugin.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.dtd.ui;
-
-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.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.dtd.ui.style.IStyleConstantsDTD;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.preferences.ui.ColorHelper;
-
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class DTDEditorPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static DTDEditorPlugin plugin;
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static DTDEditorPlugin 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 = DTDEditorPlugin.getDefault().getResourceBundle();
-		try {
-			if (bundle != null)
-				return bundle.getString(key);
-			else
-				return key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * true if editor preference store has been initialized with default
-	 * values false otherwise
-	 */
-	private boolean preferencesInitd = false;
-
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-
-	/**
-	 * The constructor.
-	 */
-	public DTDEditorPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-		try {
-			//resourceBundle =
-			// ResourceBundle.getBundle("org.eclipse.wst.dtd.ui.DTDPluginResources");
-			resourceBundle = descriptor.getResourceBundle();
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-
-		// reference the preference store so
-		// initializeDefaultPreferences(IPreferenceStore preferenceStore) is
-		// called
-		IPreferenceStore store = getPreferenceStore();
-		// for some reason initializeDefaultPreferences is not always called,
-		// so
-		// just add an extra check to see if not initialized, then call init
-		if (!preferencesInitd) {
-			initializeDefaultPreferences(store);
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	private void initializeDefaultDTDPreferences(IPreferenceStore store) {
-		String ctId = IContentTypeIdentifier.ContentTypeID_DTD;
-
-		// DTD Style Preferences
-		String NOBACKGROUNDBOLD = " | null | false"; //$NON-NLS-1$
-		String styleValue = ColorHelper.getColorString(0, 0, 0) + NOBACKGROUNDBOLD;
-		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsDTD.DTD_DEFAULT, ctId), styleValue); //black
-
-		styleValue = ColorHelper.getColorString(63, 63, 191) + NOBACKGROUNDBOLD;
-		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsDTD.DTD_TAG, ctId), styleValue); // blue
-		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsDTD.DTD_TAGNAME, ctId), styleValue); // blue
-
-		styleValue = ColorHelper.getColorString(127, 127, 127) + NOBACKGROUNDBOLD;
-		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsDTD.DTD_COMMENT, ctId), styleValue); // grey
-
-		styleValue = ColorHelper.getColorString(128, 0, 0) + NOBACKGROUNDBOLD;
-		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsDTD.DTD_KEYWORD, ctId), styleValue); // dark
-		// red
-
-		styleValue = ColorHelper.getColorString(63, 159, 95) + NOBACKGROUNDBOLD;
-		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsDTD.DTD_STRING, ctId), styleValue); //green
-
-		styleValue = ColorHelper.getColorString(191, 95, 95) + NOBACKGROUNDBOLD;
-		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsDTD.DTD_DATA, ctId), styleValue); // light
-		// red
-
-		styleValue = ColorHelper.getColorString(128, 0, 0) + NOBACKGROUNDBOLD;
-		store.setDefault(PreferenceKeyGenerator.generateKey(IStyleConstantsDTD.DTD_SYMBOL, ctId), styleValue); // dark
-		// red
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeDefaultPluginPreferences()
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-
-		// ignore this preference store
-		// use EditorPlugin preference store
-		IPreferenceStore editorStore = ((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).getPreferenceStore();
-		EditorPlugin.initializeDefaultEditorPreferences(editorStore);
-		initializeDefaultDTDPreferences(editorStore);
-		preferencesInitd = true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/StructuredTextEditorDTD.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/StructuredTextEditorDTD.java
deleted file mode 100644
index 59e8671..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/StructuredTextEditorDTD.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.ui;
-
-import org.eclipse.wst.dtd.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class StructuredTextEditorDTD extends StructuredTextEditor {
-	protected void initializeEditor() {
-		super.initializeEditor();
-		setHelpContextId(IHelpContextIds.DTD_SOURCEVIEW_HELPID);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/StructuredTextViewerConfigurationDTD.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/StructuredTextViewerConfigurationDTD.java
deleted file mode 100644
index d2267b3..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/StructuredTextViewerConfigurationDTD.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.dtd.ui;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.wst.dtd.core.rules.StructuredTextPartitionerForDTD;
-import org.eclipse.wst.dtd.ui.style.LineStyleProviderForDTD;
-import org.eclipse.wst.dtd.ui.taginfo.DTDBestMatchHoverProcessor;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
-import org.eclipse.wst.sse.ui.style.Highlighter;
-import org.eclipse.wst.sse.ui.style.IHighlighter;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-import org.eclipse.wst.sse.ui.style.LineStyleProviderForNoOp;
-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;
-
-
-/**
- * Provides the best dtd hover help documentation (by using other hover help
- * processors) Priority of hover help processors is: ProblemHoverProcessor,
- * AnnotationHoverProcessor
- */
-public class StructuredTextViewerConfigurationDTD extends StructuredTextViewerConfiguration {
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-		if (configuredContentTypes == null) {
-			configuredContentTypes = new String[]{StructuredTextPartitionerForDTD.ST_DTD_DEFAULT, StructuredTextPartitioner.ST_DEFAULT_PARTITION, StructuredTextPartitioner.ST_UNKNOWN_PARTITION};
-		}
-		return configuredContentTypes;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see com.ibm.sed.editor.StructuredTextViewerConfiguration#getHighlighter(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IHighlighter getHighlighter(ISourceViewer viewer) {
-		if (fHighlighter == null) {
-			fHighlighter = new Highlighter();
-		}
-
-		// We need to add the providers each time this method is called.
-		// See StructuredTextViewer.configure() method (defect#246727)
-		LineStyleProvider dtdProvider = new LineStyleProviderForDTD();
-		LineStyleProvider noopProvider = new LineStyleProviderForNoOp();
-
-		// com.ibm.sed.editor.ST_DEFAULT
-		fHighlighter.addProvider(StructuredTextPartitionerForDTD.ST_DTD_DEFAULT, dtdProvider);
-		fHighlighter.addProvider(StructuredTextPartitioner.ST_DEFAULT_PARTITION, dtdProvider);
-		fHighlighter.addProvider(StructuredTextPartitioner.ST_UNKNOWN_PARTITION, noopProvider);
-
-		//fHighlighter.setModel(((StructuredTextViewer) viewer).getModel());
-		fHighlighter.setDocument((IStructuredDocument) viewer.getDocument());
-
-		return fHighlighter;
-	}
-
-	/*
-	 * (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 = EditorPlugin.getDefault().getTextHoverManager().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 DTDBestMatchHoverProcessor();
-				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);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DTDDragAndDropManager.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DTDDragAndDropManager.java
deleted file mode 100644
index 990d012..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DTDDragAndDropManager.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.ui.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.dtd.core.Attribute;
-import org.eclipse.wst.dtd.core.CMNode;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.TopLevelNode;
-
-public class DTDDragAndDropManager implements DragAndDropManager {
-
-	public DragAndDropCommand createCommand(Object target, float location, int operations, int operation, Collection source) {
-		if (target instanceof DTDNode) {
-			DTDNode node = (DTDNode) target;
-
-			if (node instanceof TopLevelNode) {
-				return new DragTopLevelNodesCommand(target, location, operations, operation, source);
-			}
-			if (node instanceof Attribute) {
-				return new DragAttributeCommand(target, location, operations, operation, source);
-			}
-			if (node instanceof CMNode) {
-				return new DragContentModelCommand(target, location, operations, operation, source);
-			}
-
-		}
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DragAttributeCommand.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DragAttributeCommand.java
deleted file mode 100644
index cde3bff..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DragAttributeCommand.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.ui.dnd;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.ui.dnd.DefaultDragAndDropCommand;
-import org.eclipse.wst.dtd.core.Attribute;
-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.ui.DTDEditorPlugin;
-
-
-
-public class DragAttributeCommand extends DefaultDragAndDropCommand {
-
-	public DragAttributeCommand(Object target, float location, int operations, int operation, Collection sources) {
-		super(target, location, operations, operation, sources);
-	}
-
-	public boolean canExecute() {
-		Iterator iter = sources.iterator();
-		while (iter.hasNext()) {
-			Object source = iter.next();
-			if (!(source instanceof Attribute)) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	public void execute() {
-		DTDNode referenceNode = (DTDNode) target;
-		DTDFile dtdFile = referenceNode.getDTDFile();
-		if (referenceNode instanceof Attribute) {
-			dtdFile.getDTDModel().beginRecording(this, DTDEditorPlugin.getResourceString("_UI_MOVE_ATTRIBUTE")); //$NON-NLS-1$
-			AttributeList attList = (AttributeList) referenceNode.getParentNode();
-			Iterator iter = sources.iterator();
-			while (iter.hasNext()) {
-				DTDNode node = (DTDNode) iter.next();
-				if (node instanceof Attribute) {
-					attList.insertIntoModel(this, (Attribute) referenceNode, (Attribute) node, isAfter());
-					dtdFile.deleteNode(this, node);
-				}
-			}
-			dtdFile.getDTDModel().endRecording(this);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DragContentModelCommand.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DragContentModelCommand.java
deleted file mode 100644
index d0ac95f..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DragContentModelCommand.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.dtd.ui.dnd;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.wst.common.ui.dnd.DefaultDragAndDropCommand;
-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.ui.DTDEditorPlugin;
-
-
-public class DragContentModelCommand extends DefaultDragAndDropCommand {
-
-	public DragContentModelCommand(Object target, float location, int operations, int operation, Collection sources) {
-		super(target, location, operations, operation, sources);
-	}
-
-	public boolean canExecute() {
-		if (!(target instanceof CMNode)) {
-			return false;
-		}
-
-		Iterator iter = sources.iterator();
-		while (iter.hasNext()) {
-			Object source = iter.next();
-			if (!(source instanceof CMNode)) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	public void execute() {
-		DTDNode referenceNode = (DTDNode) target;
-
-		if (referenceNode instanceof CMNode) {
-			DTDFile dtdFile = referenceNode.getDTDFile();
-
-			DTDNode parent = (DTDNode) referenceNode.getParentNode();
-			dtdFile.getDTDModel().beginRecording(this, DTDEditorPlugin.getResourceString("_UI_MOVE_CONTENT")); //$NON-NLS-1$
-			boolean parentIsElement = false;
-			Element element = null;
-			CMGroupNode group = null;
-			if (parent instanceof Element) {
-				parentIsElement = true;
-				element = (Element) parent;
-			} else {
-				group = (CMGroupNode) parent;
-			}
-
-			if (element == null && group == null) {
-				// no parent to add to
-				return;
-			}
-
-			Iterator iter = sources.iterator();
-			while (iter.hasNext()) {
-				DTDNode node = (DTDNode) iter.next();
-				if (node instanceof CMNode) {
-					if (parentIsElement) {
-						if (element.getContentModel() == node) {
-							continue;
-						}
-						element.replaceContentModel(this, (CMNode) node);
-					} else {
-						if (referenceNode == node || (isAfter() && referenceNode.getNextSibling() == node) || (!isAfter() && node.getNextSibling() == referenceNode)) {
-							continue;
-						}
-
-						group.insertIntoModel(this, (CMNode) referenceNode, (CMNode) node, isAfter());
-
-					}
-					DTDNode nodeParent = (DTDNode) node.getParentNode();
-					nodeParent.delete(this, node);
-				}
-			}
-			dtdFile.getDTDModel().endRecording(this);
-		}
-	}
-
-	public int getFeedback() {
-		DTDNode referenceNode = (DTDNode) target;
-		if (referenceNode instanceof CMNode) {
-			CMNode cmNode = (CMNode) referenceNode;
-			if (cmNode.isRootElementContent() && cmNode instanceof CMBasicNode) {
-				return DND.FEEDBACK_SELECT;
-			}
-		}
-
-		return super.getFeedback();
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DragTopLevelNodesCommand.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DragTopLevelNodesCommand.java
deleted file mode 100644
index 0a8f6f8..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/dnd/DragTopLevelNodesCommand.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.ui.dnd;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.eclipse.wst.common.ui.dnd.DefaultDragAndDropCommand;
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.TopLevelNode;
-import org.eclipse.wst.dtd.ui.DTDEditorPlugin;
-
-public class DragTopLevelNodesCommand extends DefaultDragAndDropCommand {
-
-	static private final String moveNode = DTDEditorPlugin.getResourceString("_UI_MOVE_NODE"); //$NON-NLS-1$
-	static private final String moveNodes = DTDEditorPlugin.getResourceString("_UI_MOVE_NODES"); //$NON-NLS-1$
-
-	public DragTopLevelNodesCommand(Object target, float location, int operations, int operation, Collection sources) {
-		super(target, location, operations, operation, sources);
-	}
-
-	public boolean canExecute() {
-		if (!(target instanceof TopLevelNode)) {
-			return false;
-		}
-
-		Iterator iter = sources.iterator();
-		while (iter.hasNext()) {
-			Object source = iter.next();
-			if (!(source instanceof TopLevelNode)) {
-				return false;
-			}
-		}
-		return true;
-	}
-
-	public void execute() {
-		DTDNode referenceNode = (DTDNode) target;
-
-		DTDFile dtdFile = referenceNode.getDTDFile();
-		dtdFile.getDTDModel().beginRecording(this, sources.size() > 1 ? moveNodes : moveNode);
-		Iterator iter = sources.iterator();
-		while (iter.hasNext()) {
-			DTDNode node = (DTDNode) iter.next();
-			if (node instanceof TopLevelNode) {
-				dtdFile.moveNode(this, referenceNode, node, isAfter());
-			}
-		}
-		dtdFile.getDTDModel().endRecording(this);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/internal/editor/DTDEditorPluginImageHelper.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/internal/editor/DTDEditorPluginImageHelper.java
deleted file mode 100644
index 7a7e9ae..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/internal/editor/DTDEditorPluginImageHelper.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.dtd.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.dtd.ui.DTDEditorPlugin;
-
-
-/**
- * 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 DTDEditorPluginImageHelper {
-	private static DTDEditorPluginImageHelper instance = null;
-
-	/**
-	 * Gets the instance.
-	 * 
-	 * @return Returns a DTDEditorPluginImageHelper
-	 */
-	public synchronized static DTDEditorPluginImageHelper getInstance() {
-		if (instance == null)
-			instance = new DTDEditorPluginImageHelper();
-		return instance;
-	}
-
-	//	 save a descriptor for each image
-	private HashMap fImageDescRegistry = null;
-	private final String PLUGINID = DTDEditorPlugin.getDefault().getBundle().getSymbolicName();
-
-	/**
-	 * 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.dtd.ui/src/org/eclipse/wst/dtd/ui/internal/editor/DTDEditorPluginImages.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/internal/editor/DTDEditorPluginImages.java
deleted file mode 100644
index 3f0a780..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/internal/editor/DTDEditorPluginImages.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.ui.internal.editor;
-
-/**
- * Bundle of most images used by the DTD Source Editor plug-in.
- */
-public class DTDEditorPluginImages {
-	public static final String IMG_CTOOL_ADD_ATTRIBUTE = "icons/full/ctool16/ADD_Attribute.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CTOOL_ADD_ELEMENT = "icons/full/ctool16/ADD_Element.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CTOOL_ADD_ELEMENTTOCONMODEL = "icons/full/ctool16/ADD_ElementToConModel.gif"; //$NON-NLS-1$
-
-	public static final String IMG_CTOOL_ADD_GROUPTOCONMODEL = "icons/full/ctool16/ADD_GroupToConModel.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_ADD_ATTRIBUTE = "icons/full/dtool16/ADD_Attribute.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_ADD_ELEMENT = "icons/full/dtool16/ADD_Element.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_ADD_ELEMENTTOCONMODEL = "icons/full/dtool16/ADD_ElementToConModel.gif"; //$NON-NLS-1$
-	public static final String IMG_DTOOL_ADD_GROUPTOCONMODEL = "icons/full/dtool16/ADD_GroupToConModel.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_ADD_ATTRIBUTE = "icons/full/etool16/ADD_Attribute.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_ADD_ELEMENT = "icons/full/etool16/ADD_Element.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_ADD_ELEMENTTOCONMODEL = "icons/full/etool16/ADD_ElementToConModel.gif"; //$NON-NLS-1$
-	public static final String IMG_ETOOL_ADD_GROUPTOCONMODEL = "icons/full/etool16/ADD_GroupToConModel.gif"; //$NON-NLS-1$
-
-	public static final String IMG_OBJ_ADD_COMMENT = "icons/full/obj16/ADD_Comment.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_ADD_ENTITY = "icons/full/obj16/ADD_Entity.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_ADD_ENTITY_REFERENCE = "icons/full/obj16/ADD_Entity_Reference.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_ADD_NOTATION = "icons/full/obj16/ADD_Notation.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_ORGANIZE_DTD_LOGICALLY = "icons/full/obj16/organize_dtd_logically.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_SORT = "icons/full/obj16/sort.gif"; //$NON-NLS-1$
-	public static final String IMG_OBJ_VALIDATE = "icons/full/obj16/validate.gif"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/internal/editor/IHelpContextIds.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/internal/editor/IHelpContextIds.java
deleted file mode 100644
index ffce903..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/internal/editor/IHelpContextIds.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.dtd.ui.internal.editor;
-
-import org.eclipse.wst.dtd.ui.DTDEditorPlugin;
-
-/**
- * Help context ids for the DTD Source Editor.
- * <p>
- * This interface contains constants only; it is not intended to be
- * implemented.
- * </p>
- *  
- */
-public interface IHelpContextIds {
-
-	// org.eclipse.wst.dtd.ui.
-	public static final String PREFIX = DTDEditorPlugin.getDefault().getBundle().getSymbolicName() + "."; //$NON-NLS-1$
-	// DTD Files Preference page
-	public static final String DTD_PREFWEBX_FILES_HELPID = PREFIX + "webx0020"; //$NON-NLS-1$
-	// DTD Styles Preference page
-	public static final String DTD_PREFWEBX_STYLES_HELPID = PREFIX + "webx0021"; //$NON-NLS-1$
-
-	// DTD Source page editor
-	public static final String DTD_SOURCEVIEW_HELPID = PREFIX + "edtd0000"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/preferences/DTDColorPage.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/preferences/DTDColorPage.java
deleted file mode 100644
index c3ad60e..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/preferences/DTDColorPage.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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.dtd.ui.preferences;
-
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.Platform;
-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.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.dtd.core.parser.DTDRegionParser;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.dtd.ui.DTDEditorPlugin;
-import org.eclipse.wst.dtd.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.dtd.ui.style.IStyleConstantsDTD;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-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.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.preferences.ui.AbstractColorPage;
-import org.eclipse.wst.sse.ui.preferences.ui.StyledTextColorPicker;
-
-
-
-public class DTDColorPage 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.DTD_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, PreferenceKeyGenerator.generateKey((String) i.next(), IContentTypeIdentifier.ContentTypeID_DTD)));
-		}
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return EditorPlugin.getDefault().getPreferenceStore();
-	}
-
-	public String getSampleText() {
-		return DTDEditorPlugin.getResourceString("DTDColorPage.0"); //$NON-NLS-1$
-	}
-
-	protected void initContextStyleMap(Dictionary contextStyleMap) {
-		contextStyleMap.put(DTDRegionTypes.CONTENT_EMPTY, IStyleConstantsDTD.DTD_DATA);
-		contextStyleMap.put(DTDRegionTypes.CONTENT_ANY, IStyleConstantsDTD.DTD_DATA);
-		contextStyleMap.put(DTDRegionTypes.CONTENT_PCDATA, IStyleConstantsDTD.DTD_DATA);
-		contextStyleMap.put(DTDRegionTypes.NDATA_VALUE, IStyleConstantsDTD.DTD_DATA);
-		contextStyleMap.put(DTDRegionTypes.NAME, IStyleConstantsDTD.DTD_DATA);
-		contextStyleMap.put(DTDRegionTypes.ENTITY_PARM, IStyleConstantsDTD.DTD_DATA);
-
-		contextStyleMap.put(DTDRegionTypes.ELEMENT_TAG, IStyleConstantsDTD.DTD_TAGNAME);
-		contextStyleMap.put(DTDRegionTypes.ENTITY_TAG, IStyleConstantsDTD.DTD_TAGNAME);
-		contextStyleMap.put(DTDRegionTypes.ATTLIST_TAG, IStyleConstantsDTD.DTD_TAGNAME);
-		contextStyleMap.put(DTDRegionTypes.NOTATION_TAG, IStyleConstantsDTD.DTD_TAGNAME);
-
-		contextStyleMap.put(DTDRegionTypes.CONNECTOR, IStyleConstantsDTD.DTD_SYMBOL);
-		contextStyleMap.put(DTDRegionTypes.OCCUR_TYPE, IStyleConstantsDTD.DTD_SYMBOL);
-
-		contextStyleMap.put(DTDRegionTypes.START_TAG, IStyleConstantsDTD.DTD_TAG);
-		contextStyleMap.put(DTDRegionTypes.END_TAG, IStyleConstantsDTD.DTD_TAG);
-		contextStyleMap.put(DTDRegionTypes.EXCLAMATION, IStyleConstantsDTD.DTD_TAG);
-
-		contextStyleMap.put(DTDRegionTypes.COMMENT_START, IStyleConstantsDTD.DTD_COMMENT);
-		contextStyleMap.put(DTDRegionTypes.COMMENT_CONTENT, IStyleConstantsDTD.DTD_COMMENT);
-		contextStyleMap.put(DTDRegionTypes.COMMENT_END, IStyleConstantsDTD.DTD_COMMENT);
-
-		contextStyleMap.put(DTDRegionTypes.SINGLEQUOTED_LITERAL, IStyleConstantsDTD.DTD_STRING);
-		contextStyleMap.put(DTDRegionTypes.DOUBLEQUOTED_LITERAL, IStyleConstantsDTD.DTD_STRING);
-
-		contextStyleMap.put(DTDRegionTypes.SYSTEM_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.PUBLIC_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.NDATA_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.CDATA_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.ID_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.IDREF_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.IDREFS_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.ENTITY_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.ENTITIES_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.NMTOKEN_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.NMTOKENS_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.NOTATION_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.REQUIRED_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.IMPLIED_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-		contextStyleMap.put(DTDRegionTypes.FIXED_KEYWORD, IStyleConstantsDTD.DTD_KEYWORD);
-	}
-
-	protected void initDescriptions(Dictionary descriptions) {
-		descriptions.put(IStyleConstantsDTD.DTD_COMMENT, DTDEditorPlugin.getResourceString("DTDColorPage.1")); //$NON-NLS-1$
-		descriptions.put(IStyleConstantsDTD.DTD_DATA, DTDEditorPlugin.getResourceString("DTDColorPage.2")); //$NON-NLS-1$
-		descriptions.put(IStyleConstantsDTD.DTD_DEFAULT, DTDEditorPlugin.getResourceString("DTDColorPage.3")); //$NON-NLS-1$
-		descriptions.put(IStyleConstantsDTD.DTD_KEYWORD, DTDEditorPlugin.getResourceString("DTDColorPage.4")); //$NON-NLS-1$
-		descriptions.put(IStyleConstantsDTD.DTD_STRING, DTDEditorPlugin.getResourceString("DTDColorPage.5")); //$NON-NLS-1$
-		descriptions.put(IStyleConstantsDTD.DTD_SYMBOL, DTDEditorPlugin.getResourceString("DTDColorPage.6")); //$NON-NLS-1$
-		descriptions.put(IStyleConstantsDTD.DTD_TAG, DTDEditorPlugin.getResourceString("DTDColorPage.7")); //$NON-NLS-1$
-		descriptions.put(IStyleConstantsDTD.DTD_TAGNAME, DTDEditorPlugin.getResourceString("DTDColorPage.8")); //$NON-NLS-1$
-	}
-
-	protected void initStyleList(ArrayList list) {
-		list.add(IStyleConstantsDTD.DTD_COMMENT);
-		list.add(IStyleConstantsDTD.DTD_DATA);
-		list.add(IStyleConstantsDTD.DTD_DEFAULT);
-		list.add(IStyleConstantsDTD.DTD_KEYWORD);
-		list.add(IStyleConstantsDTD.DTD_STRING);
-		list.add(IStyleConstantsDTD.DTD_SYMBOL);
-		list.add(IStyleConstantsDTD.DTD_TAG);
-		list.add(IStyleConstantsDTD.DTD_TAGNAME);
-	}
-
-	public boolean performOk() {
-		// required since the superclass *removes* existing preferences before
-		// saving its own
-		super.performOk();
-
-		EditorPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-
-	protected void setupPicker(StyledTextColorPicker picker) {
-
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		if (plugin != null) {
-			IModelManager mmanager = plugin.getModelManager();
-			picker.setParser(mmanager.createStructuredDocumentFor(IContentTypeIdentifier.ContentTypeID_DTD).getParser());
-		} else
-			picker.setParser(new DTDRegionParser());
-
-		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);
-
-		picker.setGeneratorKey(IContentTypeIdentifier.ContentTypeID_DTD);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/preferences/DTDFilesPreferencePage.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/preferences/DTDFilesPreferencePage.java
deleted file mode 100644
index e7f075d..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/preferences/DTDFilesPreferencePage.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.dtd.ui.preferences;
-
-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.dtd.core.DTDPlugin;
-import org.eclipse.wst.dtd.ui.DTDEditorPlugin;
-import org.eclipse.wst.dtd.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.preferences.ui.AbstractPreferencePage;
-
-
-public class DTDFilesPreferencePage extends AbstractPreferencePage {
-
-	protected Control createContents(Composite parent) {
-		Composite composite = (Composite) super.createContents(parent);
-		WorkbenchHelp.setHelp(composite, IHelpContextIds.DTD_PREFWEBX_FILES_HELPID);
-
-		setSize(composite);
-		loadPreferences();
-
-		return composite;
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return DTDEditorPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected void doSavePreferenceStore() {
-		DTDPlugin.getInstance().savePluginPreferences(); // model
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.AbstractPreferencePage#getModelPreferences()
-	 */
-	protected Preferences getModelPreferences() {
-		return DTDPlugin.getInstance().getPluginPreferences();
-	}
-
-	public boolean performOk() {
-		boolean result = super.performOk();
-
-		doSavePreferenceStore();
-
-		return result;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/registry/AdapterFactoryProviderForDTD.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/registry/AdapterFactoryProviderForDTD.java
deleted file mode 100644
index 1af4340..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/registry/AdapterFactoryProviderForDTD.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.dtd.ui.registry;
-
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.dtd.core.modelhandler.ModelHandlerForDTD;
-import org.eclipse.wst.dtd.ui.views.properties.DTDPropertySourceAdapterFactory;
-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;
-
-
-/**
- * @author nitin
- * 
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class AdapterFactoryProviderForDTD implements AdapterFactoryProvider {
-
-	/**
-	 *  
-	 */
-	public AdapterFactoryProviderForDTD() {
-		super();
-		// TODO Auto-generated constructor stub
-	}
-
-	/*
-	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
-	 */
-	public void addAdapterFactories(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 DTDPropertySourceAdapterFactory();
-			factoryRegistry.addFactory(factory);
-		}
-
-		//		factory = factoryRegistry.getFactoryFor(JFaceNodeAdapter.class);
-		//		if (factory == null) {
-		//			factory = new JFaceNodeAdapterFactory(JFaceNodeAdapter.class,
-		// true);
-		//			factoryRegistry.addFactory(factory);
-		//		}
-	}
-
-	/*
-	 * @see AdapterFactoryProvider#isFor(ContentTypeDescription)
-	 */
-	public boolean isFor(IDocumentTypeHandler contentTypeDescription) {
-		return (contentTypeDescription instanceof ModelHandlerForDTD);
-	}
-
-	public void reinitializeFactories(IStructuredModel structuredModel) {
-		// nothing to do, since no embedded type
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/style/IStyleConstantsDTD.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/style/IStyleConstantsDTD.java
deleted file mode 100644
index 393cbf1..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/style/IStyleConstantsDTD.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.ui.style;
-
-/**
- * Contains the symbolic name of styles used by LineStyleProvider,
- * ColorManager, and any others who may be interested
- */
-public interface IStyleConstantsDTD {
-
-	public static final String DTD_COMMENT = "dtdComment"; //$NON-NLS-1$
-
-	// Data are variables
-	public static final String DTD_DATA = "dtdData"; //$NON-NLS-1$
-	public static final String DTD_DEFAULT = "dtdDefault"; //$NON-NLS-1$
-
-	// keywords are constants like IMPLIED or PCDATA
-	public static final String DTD_KEYWORD = "dtdKeyword"; //$NON-NLS-1$
-
-	// strings are anything in quotes
-	public static final String DTD_STRING = "dtdString"; //$NON-NLS-1$
-
-	// All the remaining symbols
-	public static final String DTD_SYMBOL = "dtdSymbol"; //$NON-NLS-1$
-
-	// tags are '<', '!', or '>'
-	public static final String DTD_TAG = "dtdTag"; //$NON-NLS-1$
-
-	// tagnames are like ELEMENT, ATTLIST, etc.
-	public static final String DTD_TAGNAME = "dtdTagName"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/style/LineStyleProviderForDTD.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/style/LineStyleProviderForDTD.java
deleted file mode 100644
index be41e5e..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/style/LineStyleProviderForDTD.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.dtd.ui.style;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.wst.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-
-
-public class LineStyleProviderForDTD extends AbstractLineStyleProvider implements LineStyleProvider {
-	public LineStyleProviderForDTD() {
-		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(IStyleConstantsDTD.DTD_DEFAULT);
-		}
-		String type = region.getType();
-		if (type == DTDRegionTypes.CONTENT_EMPTY || type == DTDRegionTypes.CONTENT_ANY || type == DTDRegionTypes.CONTENT_PCDATA) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsDTD.DTD_DATA);
-		} else if (type == DTDRegionTypes.ELEMENT_TAG || type == DTDRegionTypes.ENTITY_TAG || type == DTDRegionTypes.ATTLIST_TAG || type == DTDRegionTypes.NOTATION_TAG) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsDTD.DTD_TAGNAME);
-		} else if (type == DTDRegionTypes.CONNECTOR || type == DTDRegionTypes.OCCUR_TYPE) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsDTD.DTD_SYMBOL);
-		} else if (type == DTDRegionTypes.NDATA_VALUE) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsDTD.DTD_DATA);
-		} else if (type == DTDRegionTypes.START_TAG || type == DTDRegionTypes.END_TAG || type == DTDRegionTypes.EXCLAMATION) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsDTD.DTD_TAG);
-		} else if (type == DTDRegionTypes.COMMENT_START || type == DTDRegionTypes.COMMENT_CONTENT || type == DTDRegionTypes.COMMENT_END) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsDTD.DTD_COMMENT);
-		} else if (type == DTDRegionTypes.SINGLEQUOTED_LITERAL || type == DTDRegionTypes.DOUBLEQUOTED_LITERAL) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsDTD.DTD_STRING);
-		} else if (type == DTDRegionTypes.SYSTEM_KEYWORD || type == DTDRegionTypes.PUBLIC_KEYWORD || type == DTDRegionTypes.NDATA_KEYWORD || type == DTDRegionTypes.CDATA_KEYWORD || type == DTDRegionTypes.ID_KEYWORD || type == DTDRegionTypes.IDREF_KEYWORD || type == DTDRegionTypes.IDREFS_KEYWORD || type == DTDRegionTypes.ENTITY_KEYWORD || type == DTDRegionTypes.ENTITIES_KEYWORD || type == DTDRegionTypes.NMTOKEN_KEYWORD || type == DTDRegionTypes.NMTOKENS_KEYWORD || type == DTDRegionTypes.NOTATION_KEYWORD || type == DTDRegionTypes.REQUIRED_KEYWORD || type == DTDRegionTypes.IMPLIED_KEYWORD || type == DTDRegionTypes.FIXED_KEYWORD) {
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsDTD.DTD_KEYWORD);
-		} else if (type == DTDRegionTypes.NAME || type == DTDRegionTypes.ENTITY_PARM) {
-			//			if (region instanceof DTDRegion) {
-			//				DTDRegion dtdRegion = (DTDRegion) region;
-			//				IStructuredDocumentRegion flatNode = dtdRegion.getParent();
-			//				String regionText = flatNode.getText(dtdRegion);
-			//				if (regionText.equals("ANY") || regionText.equals("EMPTY")) {
-			//					return new TextAttribute(DTDColors.DTD_KEYWORD);
-			//				}
-			//			}
-			return (TextAttribute) getTextAttributes().get(IStyleConstantsDTD.DTD_DATA);
-		}
-
-		// default, return null to signal "not handled"
-		// in which case, other factories should be tried
-		return null;
-	}
-
-	protected IPreferenceStore getColorPreferences() {
-		return EditorPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected String getPreferenceKey(String key) {
-		String contentTypeId = IContentTypeIdentifier.ContentTypeID_DTD;
-		return PreferenceKeyGenerator.generateKey(key, contentTypeId);
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		String styleKey = null;
-
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (getPreferenceKey(IStyleConstantsDTD.DTD_DEFAULT).equals(prefKey)) {
-				styleKey = IStyleConstantsDTD.DTD_DEFAULT;
-			} else if (getPreferenceKey(IStyleConstantsDTD.DTD_TAG).equals(prefKey)) {
-				styleKey = IStyleConstantsDTD.DTD_TAG;
-			} else if (getPreferenceKey(IStyleConstantsDTD.DTD_TAGNAME).equals(prefKey)) {
-				styleKey = IStyleConstantsDTD.DTD_TAGNAME;
-			} else if (getPreferenceKey(IStyleConstantsDTD.DTD_COMMENT).equals(prefKey)) {
-				styleKey = IStyleConstantsDTD.DTD_COMMENT;
-			} else if (getPreferenceKey(IStyleConstantsDTD.DTD_KEYWORD).equals(prefKey)) {
-				styleKey = IStyleConstantsDTD.DTD_KEYWORD;
-			} else if (getPreferenceKey(IStyleConstantsDTD.DTD_STRING).equals(prefKey)) {
-				styleKey = IStyleConstantsDTD.DTD_STRING;
-			} else if (getPreferenceKey(IStyleConstantsDTD.DTD_DATA).equals(prefKey)) {
-				styleKey = IStyleConstantsDTD.DTD_DATA;
-			} else if (getPreferenceKey(IStyleConstantsDTD.DTD_SYMBOL).equals(prefKey)) {
-				styleKey = IStyleConstantsDTD.DTD_SYMBOL;
-			}
-		}
-
-		if (styleKey != null) {
-			// overwrite style preference with new value
-			addTextAttribute(styleKey);
-			super.handlePropertyChange(event);
-		}
-	}
-
-	protected void loadColors() {
-		clearColors();
-
-		addTextAttribute(IStyleConstantsDTD.DTD_DEFAULT);
-		addTextAttribute(IStyleConstantsDTD.DTD_TAG);
-		addTextAttribute(IStyleConstantsDTD.DTD_TAGNAME);
-		addTextAttribute(IStyleConstantsDTD.DTD_COMMENT);
-		addTextAttribute(IStyleConstantsDTD.DTD_KEYWORD);
-		addTextAttribute(IStyleConstantsDTD.DTD_STRING);
-		addTextAttribute(IStyleConstantsDTD.DTD_DATA);
-		addTextAttribute(IStyleConstantsDTD.DTD_SYMBOL);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/style/LineStyleProviderForDTDSubSet.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/style/LineStyleProviderForDTDSubSet.java
deleted file mode 100644
index 8f4048e..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/style/LineStyleProviderForDTDSubSet.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.dtd.ui.style;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.TextAttribute;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.wst.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.dtd.core.rules.StructuredTextPartitionerForDTD;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-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.EditorPlugin;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.preferences.ui.ColorHelper;
-import org.eclipse.wst.sse.ui.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-
-
-public class LineStyleProviderForDTDSubSet extends AbstractLineStyleProvider implements LineStyleProvider {
-	private int fInternalAdjustment;
-
-	private IStructuredModel fInternalModel = null;
-	private LineStyleProviderForDTD fInternalProvider = null;
-	private StyleRange[] fInternalRanges;
-
-	public LineStyleProviderForDTDSubSet() {
-
-		super();
-		fInternalProvider = new LineStyleProviderForDTD();
-		fInternalRanges = new StyleRange[0];
-		fInternalAdjustment = 0;
-	}
-
-	/**
-	 * @param lineRequestStart
-	 * @param lineRequestLength
-	 * @param holdResults
-	 */
-	private void addStyleRanges(int lineRequestStart, int lineRequestLength, Collection holdResults) {
-
-	}
-
-	protected TextAttribute getAttributeFor(ITextRegion region) {
-		TextAttribute ta = null;
-
-		String prefString = getColorPreferences().getString(getPreferenceKey(IStyleConstantsDTD.DTD_DEFAULT));
-		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();
-			ta = createTextAttribute(foreground, background, bold);
-		}
-		return ta;
-	}
-
-	protected IPreferenceStore getColorPreferences() {
-		return EditorPlugin.getDefault().getPreferenceStore();
-	}
-
-	/**
-	 * @return
-	 */
-	private IStructuredDocument getInternalDocument() {
-		if (fInternalModel == null) {
-			fInternalModel = getModelManager().createUnManagedStructuredModelFor(IContentTypeIdentifier.ContentTypeID_DTD);
-		}
-		return fInternalModel.getStructuredDocument();
-	}
-
-	private IModelManager getModelManager() {
-
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	protected String getPreferenceKey(String key) {
-		String contentTypeId = IContentTypeIdentifier.ContentTypeID_DTD;
-		return PreferenceKeyGenerator.generateKey(key, contentTypeId);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.structured.style.AbstractLineStyleProvider#prepareRegions(org.eclipse.jface.text.ITypedRegion,
-	 *      int, int, java.util.Collection)
-	 */
-	public boolean prepareRegions(ITypedRegion typedRegion, int lineRequestStart, int lineRequestLength, Collection holdResults) {
-
-		if (!StructuredTextPartitionerForDTD.ST_DTD_DEFAULT.equals(typedRegion.getType())) {
-			// compute an internal DTD model and return linestyles for it
-			ITextRegion dtdContentRegion = null;
-			IStructuredDocumentRegion doctype = getDocument().getRegionAtCharacterOffset(typedRegion.getOffset());
-			if (doctype != null)
-				dtdContentRegion = doctype.getRegionAtCharacterOffset(typedRegion.getOffset());
-			String contents = dtdContentRegion != null ? doctype.getFullText(dtdContentRegion) : null;
-			IStructuredDocument document = getInternalDocument();
-			if (document == null)
-				return false;
-			updateStyleRanges(document, contents, typedRegion.getOffset());
-			addStyleRanges(lineRequestStart, lineRequestLength, holdResults);
-			return true;
-		}
-		return false;
-	}
-
-	public void release() {
-		if (fInternalProvider != null) {
-			fInternalProvider.release();
-		}
-		super.release();
-	}
-
-	private void updateStyleRanges(IStructuredDocument document, String contents, int adjustment) {
-
-		if (!document.get().equals(contents) || fInternalAdjustment != adjustment) {
-			document.set(contents);
-			try {
-				ITypedRegion regions[] = getInternalDocument().computePartitioning(0, document.getLength());
-				List ranges = new ArrayList();
-				fInternalProvider.init(getInternalDocument(), getHighlighter());
-				for (int i = 0; i < regions.length; i++) {
-					fInternalProvider.prepareRegions(regions[i], regions[i].getOffset(), regions[i].getLength(), ranges);
-				}
-				fInternalAdjustment = adjustment;
-				fInternalRanges = (StyleRange[]) ranges.toArray(new StyleRange[0]);
-				for (int i = 0; i < fInternalRanges.length; i++)
-					fInternalRanges[i].start += fInternalAdjustment;
-			} catch (BadLocationException e) {
-				fInternalRanges = new StyleRange[0];
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/taginfo/DTDBestMatchHoverProcessor.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/taginfo/DTDBestMatchHoverProcessor.java
deleted file mode 100644
index 0ed9370..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/taginfo/DTDBestMatchHoverProcessor.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.dtd.ui.taginfo;
-
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.wst.sse.ui.taginfo.AbstractBestMatchHoverProcessor;
-
-
-/**
- * @author amywu
- */
-public class DTDBestMatchHoverProcessor extends AbstractBestMatchHoverProcessor {
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.dtd.ui.taginfo.AbstractBestMatchHoverProcessor#getTagInfoHover()
-	 */
-	protected ITextHover getTagInfoHover() {
-		// DTD has no taginfo hover
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/text/DTDDocumentRegionEdgeMatcher.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/text/DTDDocumentRegionEdgeMatcher.java
deleted file mode 100644
index 7b58e19..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/text/DTDDocumentRegionEdgeMatcher.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.dtd.ui.text;
-
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.sse.ui.text.DocumentRegionEdgeMatcher;
-
-
-public class DTDDocumentRegionEdgeMatcher extends DocumentRegionEdgeMatcher {
-
-	/**
-	 * @param validContexts
-	 * @param nextMatcher
-	 */
-	public DTDDocumentRegionEdgeMatcher() {
-		super(new String[]{DTDRegionTypes.START_TAG, DTDRegionTypes.COMMENT_START}, null);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDContentOutlineConfiguration.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDContentOutlineConfiguration.java
deleted file mode 100644
index d48d682..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDContentOutlineConfiguration.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.dtd.ui.views.contentoutline;
-
-import java.util.HashMap;
-import java.util.Map;
-
-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.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.dtd.ui.DTDEditorPlugin;
-import org.eclipse.wst.dtd.ui.dnd.DTDDragAndDropManager;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.sse.ui.views.contentoutline.PropertyChangeUpdateActionContributionItem;
-import org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration;
-
-/**
- * @author nitin
- *  
- */
-public class DTDContentOutlineConfiguration extends StructuredContentOutlineConfiguration {
-
-	private DTDContextMenuHelper fMenuHelper;
-	private TransferDragSourceListener[] fTransferDragSourceListeners;
-	private TransferDropTargetListener[] fTransferDropTargetListeners;
-	private Map fViewerContributions;
-	private final String OUTLINE_ORDER_PREF = "outline-order"; //$NON-NLS-1$
-	private final String OUTLINE_SORT_PREF = "outline-sort"; //$NON-NLS-1$
-
-	/**
-	 * @param editor
-	 */
-	public DTDContentOutlineConfiguration() {
-		super();
-		fViewerContributions = new HashMap(2);
-	}
-
-	public IContributionItem[] createToolbarContributions(TreeViewer viewer) {
-		Assert.isTrue(getContentProvider(viewer) instanceof DTDTreeContentProvider);
-		IContributionItem[] items = super.createToolbarContributions(viewer);
-
-		SortAction sortAction = new SortAction(viewer, DTDEditorPlugin.getDefault().getPreferenceStore(), getSortPreferenceKey());
-		OrderAction orderAction = new OrderAction(viewer, (DTDTreeContentProvider) getContentProvider(viewer), DTDEditorPlugin.getDefault().getPreferenceStore(), getOrderPreferenceKey());
-		IContributionItem sortItem = new PropertyChangeUpdateActionContributionItem(sortAction);
-		IContributionItem orderItem = new PropertyChangeUpdateActionContributionItem(orderAction);
-
-		if (items == null) {
-			items = new IContributionItem[2];
-			items[0] = sortItem;
-			items[1] = orderItem;
-		} else {
-			IContributionItem[] combinedItems = new IContributionItem[items.length + 2];
-			combinedItems[0] = sortItem;
-			combinedItems[1] = orderItem;
-			System.arraycopy(items, 0, combinedItems, 2, items.length);
-			items = combinedItems;
-		}
-		return items;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getContentProvider(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public IContentProvider getContentProvider(TreeViewer viewer) {
-		if (fContentProvider == null) {
-			fContentProvider = new DTDTreeContentProvider();
-		}
-		return super.getContentProvider(viewer);
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getLabelProvider(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public ILabelProvider getLabelProvider(TreeViewer viewer) {
-		if (fLabelProvider == null) {
-			fLabelProvider = new DTDLabelProvider();
-		}
-		return super.getLabelProvider(viewer);
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getMenuListener(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public IMenuListener getMenuListener(TreeViewer viewer) {
-		fMenuHelper.createMenuListenersFor(viewer);
-		return fMenuHelper.getMenuListener();
-	}
-
-	public String getOrderPreferenceKey() {
-		return PreferenceKeyGenerator.generateKey(OUTLINE_ORDER_PREF, getDeclaringID());
-	}
-
-	public String getSortPreferenceKey() {
-		return PreferenceKeyGenerator.generateKey(OUTLINE_SORT_PREF, getDeclaringID());
-	}
-
-	/**
-	 * @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 DTDDragAndDropManager());
-			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 setEditor(StructuredTextEditor editor) {
-		super.setEditor(editor);
-		fMenuHelper = new DTDContextMenuHelper(editor);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#unconfigure(org.eclipse.jface.viewers.TreeViewer)
-	 */
-	public void unconfigure(TreeViewer viewer) {
-		super.unconfigure(viewer);
-		fViewerContributions.remove(viewer);
-		fMenuHelper.removeMenuListenersFor(viewer);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDContextMenuHelper.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDContextMenuHelper.java
deleted file mode 100644
index 2be2b85..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDContextMenuHelper.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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-
-
-package org.eclipse.wst.dtd.ui.views.contentoutline;
-
-import java.util.List;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.wst.dtd.core.AttributeList;
-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.NodeList;
-import org.eclipse.wst.dtd.core.document.DTDModelImpl;
-import org.eclipse.wst.dtd.core.parser.DTDRegionTypes;
-import org.eclipse.wst.dtd.core.util.LabelValuePair;
-import org.eclipse.wst.dtd.ui.DTDEditorPlugin;
-import org.eclipse.wst.dtd.ui.internal.editor.DTDEditorPluginImageHelper;
-import org.eclipse.wst.dtd.ui.internal.editor.DTDEditorPluginImages;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.AddAttributeAction;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.AddAttributeListAction;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.AddCommentAction;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.AddElementAction;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.AddElementToContentModelAction;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.AddEntityAction;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.AddGroupToContentModelAction;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.AddNotationAction;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.AddParameterEntityReferenceAction;
-import org.eclipse.wst.dtd.ui.views.contentoutline.actions.DeleteAction;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class DTDContextMenuHelper //extends FocusAdapter
-{
-
-	private class DTDMenuListener implements IMenuListener {
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.jface.action.IMenuListener#menuAboutToShow(org.eclipse.jface.action.IMenuManager)
-		 */
-		public void menuAboutToShow(IMenuManager manager) {
-			updateActions();
-			List selection = DTDContextMenuHelper.this.editor.getSelectedNodes();
-			if (selection != null && selection.size() == 1)
-				addActionItemsForSelection(selection.get(0), manager);
-		}
-	}
-
-	protected AddAttributeAction addAttributeAction;
-	protected AddAttributeListAction addAttributeListAction;
-	protected AddCommentAction addCommentAction;
-	protected AddElementAction addElementAction;
-	protected AddElementToContentModelAction addElementToContentModelAction;
-	protected AddEntityAction addEntityAction;
-	protected AddGroupToContentModelAction addGroupToContentModelAction;
-	protected AddNotationAction addNotationAction;
-	protected AddParameterEntityReferenceAction addParameterEntityReferenceAction;
-	protected DeleteAction deleteAction;
-
-	private StructuredTextEditor editor;
-
-	private IMenuListener fMenuListener;
-	protected IAction redoAction;
-
-	//     protected CutAction cutAction;
-	//     protected CopyAction copyAction;
-	//     protected PasteAction pasteAction;
-	protected IAction undoAction;
-
-	//private List viewerList = new Vector();
-
-	public DTDContextMenuHelper(StructuredTextEditor editor) {
-		this.editor = editor;
-		fMenuListener = new DTDMenuListener();
-		addNotationAction = new AddNotationAction(editor, DTDEditorPlugin.getResourceString("_UI_ACTION_ADD_DTD_NOTATION")); //$NON-NLS-1$
-		addEntityAction = new AddEntityAction(editor, DTDEditorPlugin.getResourceString("_UI_ACTION_ADD_DTD_ENTITY")); //$NON-NLS-1$
-		addElementAction = new AddElementAction(editor, DTDEditorPlugin.getResourceString("_UI_ACTION_ADD_DTD_ELEMENT")); //$NON-NLS-1$
-		addCommentAction = new AddCommentAction(editor, DTDEditorPlugin.getResourceString("_UI_ACTION_ADD_DTD_COMMENT")); //$NON-NLS-1$
-
-		addParameterEntityReferenceAction = new AddParameterEntityReferenceAction(editor, DTDEditorPlugin.getResourceString("_UI_ACTION_ADD_PARAM_ENTITY_REF")); //$NON-NLS-1$
-		deleteAction = new DeleteAction(DTDEditorPlugin.getResourceString("_UI_ACTION_DTD_DELETE")); //$NON-NLS-1$
-		addAttributeAction = new AddAttributeAction(editor, DTDEditorPlugin.getResourceString("_UI_ACTION_ADD_ATTRIBUTE")); //$NON-NLS-1$
-		addAttributeListAction = new AddAttributeListAction(editor, DTDEditorPlugin.getResourceString("_UI_ACTION_ADD_ATTRIBUTELIST")); //$NON-NLS-1$
-
-		addGroupToContentModelAction = new AddGroupToContentModelAction(editor, DTDEditorPlugin.getResourceString("_UI_ACTION_GROUP_ADD_GROUP")); //$NON-NLS-1$
-		addElementToContentModelAction = new AddElementToContentModelAction(editor, DTDEditorPlugin.getResourceString("_UI_ACTION_ADD_ELEMENT")); //$NON-NLS-1$
-
-		addNotationAction.setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_OBJ_ADD_NOTATION));
-		addEntityAction.setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_OBJ_ADD_ENTITY));
-		addCommentAction.setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_OBJ_ADD_COMMENT));
-		addParameterEntityReferenceAction.setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_OBJ_ADD_ENTITY_REFERENCE));
-
-		// Tri-state images
-		addElementAction.setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_ETOOL_ADD_ELEMENT));
-		addElementAction.setHoverImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_CTOOL_ADD_ELEMENT));
-		addElementAction.setDisabledImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_DTOOL_ADD_ELEMENT));
-
-		addAttributeAction.setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_ETOOL_ADD_ATTRIBUTE));
-		addAttributeAction.setHoverImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_CTOOL_ADD_ATTRIBUTE));
-		addAttributeAction.setDisabledImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_DTOOL_ADD_ATTRIBUTE));
-
-		addAttributeListAction.setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_ETOOL_ADD_ATTRIBUTE));
-		addAttributeListAction.setHoverImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_CTOOL_ADD_ATTRIBUTE));
-		addAttributeListAction.setDisabledImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_DTOOL_ADD_ATTRIBUTE));
-
-		addGroupToContentModelAction.setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_ETOOL_ADD_GROUPTOCONMODEL));
-		addGroupToContentModelAction.setHoverImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_CTOOL_ADD_GROUPTOCONMODEL));
-		addGroupToContentModelAction.setDisabledImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_DTOOL_ADD_GROUPTOCONMODEL));
-
-		addElementToContentModelAction.setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_ETOOL_ADD_ELEMENTTOCONMODEL));
-		addElementToContentModelAction.setHoverImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_CTOOL_ADD_ELEMENTTOCONMODEL));
-		addElementToContentModelAction.setDisabledImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_DTOOL_ADD_ELEMENTTOCONMODEL));
-	}
-
-	public void addActionItemsForSelection(Object selectedObject, IMenuManager menu) {
-		if (undoAction == null) {
-			undoAction = editor.getAction(ActionFactory.UNDO.getId());
-			redoAction = editor.getAction(ActionFactory.REDO.getId());
-		}
-
-		menu.add(undoAction);
-		menu.add(redoAction);
-		menu.add(new Separator());
-
-		if (selectedObject instanceof IndexedNodeList) {
-			// http://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=4201
-			// add appropriate menu to logical view
-			NodeList folder = ((IndexedNodeList) selectedObject).getTarget();
-			if (folder.getListType().equals(DTDRegionTypes.NOTATION_TAG)) {
-				menu.add(addNotationAction);
-			} else if (folder.getListType().equals(DTDRegionTypes.ENTITY_TAG)) {
-				menu.add(addEntityAction);
-			} else if (folder.getListType().equals(DTDRegionTypes.ELEMENT_TAG)) {
-				LabelValuePair[] availableEntities = ((DTDModelImpl) editor.getModel()).createParmEntityContentItems(null);
-				addParameterEntityReferenceAction.setEnabled(availableEntities.length > 0);
-
-				menu.add(addElementAction);
-				menu.add(addParameterEntityReferenceAction);
-			}
-		}
-		if (selectedObject instanceof DTDFile || selectedObject == null) {
-			LabelValuePair[] availableEntities = ((DTDModelImpl) editor.getModel()).createParmEntityContentItems(null);
-			addParameterEntityReferenceAction.setEnabled(availableEntities.length > 0);
-
-			menu.add(addElementAction);
-			menu.add(addEntityAction);
-			menu.add(addNotationAction);
-			menu.add(addParameterEntityReferenceAction);
-			menu.add(addCommentAction);
-			menu.add(addAttributeListAction);
-			menu.add(new Separator());
-		}
-
-		if (selectedObject instanceof Element) {
-			Element dtdElement = (Element) selectedObject;
-
-			if (dtdElement.getContentModel() == null) {
-				menu.add(addGroupToContentModelAction);
-				menu.add(addElementToContentModelAction);
-			}
-			//        if (!(((Element)selectedObject).getContentModel() instanceof
-			// CMGroupNode))
-			//        {
-			//        menu.add(addGroupToContentModelAction);
-			//        }
-			//      addAttributeAction.setElement(selectedObject);
-			menu.add(addAttributeAction);
-		} else if (selectedObject instanceof CMGroupNode) {
-			//      addElementToContentModelAction.setElement(selectedObject);
-			//      addGroupToContentModelAction.setElement(selectedObject);
-			menu.add(addElementToContentModelAction);
-			menu.add(addGroupToContentModelAction);
-		} else if (selectedObject instanceof AttributeList) {
-			menu.add(addAttributeAction);
-		}
-
-		menu.add(new Separator());
-		addEditActions(menu);
-		menu.add(new Separator());
-
-		if (selectedObject instanceof DTDNode && !(selectedObject instanceof CMNode && ((CMNode) selectedObject).isRootElementContent())) {
-			menu.add(deleteAction);
-			deleteAction.setEnabled(true);
-			//        if (selectedObject instanceof DTDElementContent)
-			//        {
-			//          DTDElementContent content = (DTDElementContent) selectedObject;
-			//          if (content.getElement() != null && (content instanceof
-			// DTDPCDataContent || content instanceof DTDEmptyContent))
-			//          {
-			//            deleteAction.setEnabled(false);
-			//          } // end of if ()
-			//        } // end of if ()
-		}
-	}
-
-	public void addEditActions(IMenuManager menu) {
-		//      menu.add(undoAction);
-		//      menu.add(redoAction);
-		//      menu.add(new Separator());
-		//      menu.add(cutAction);
-		//      menu.add(copyAction);
-		//      menu.add(pasteAction);
-	}
-
-	public void createMenuListenersFor(Viewer viewer) {
-		viewer.addSelectionChangedListener(addNotationAction);
-		viewer.addSelectionChangedListener(addEntityAction);
-		viewer.addSelectionChangedListener(addElementAction);
-		viewer.addSelectionChangedListener(addCommentAction);
-		viewer.addSelectionChangedListener(addParameterEntityReferenceAction);
-		viewer.addSelectionChangedListener(deleteAction);
-		viewer.addSelectionChangedListener(addAttributeAction);
-		viewer.addSelectionChangedListener(addAttributeListAction);
-		viewer.addSelectionChangedListener(addGroupToContentModelAction);
-		viewer.addSelectionChangedListener(addElementToContentModelAction);
-
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
-		addNotationAction.selectionChanged(selection);
-		addEntityAction.selectionChanged(selection);
-		addElementAction.selectionChanged(selection);
-		addParameterEntityReferenceAction.selectionChanged(selection);
-		deleteAction.selectionChanged(selection);
-		addAttributeAction.selectionChanged(selection);
-		addAttributeListAction.selectionChanged(selection);
-		addGroupToContentModelAction.selectionChanged(selection);
-		addElementToContentModelAction.selectionChanged(selection);
-
-		//       viewer.addSelectionChangedListener(cutAction);
-		//       viewer.addSelectionChangedListener(copyAction);
-		//       viewer.addSelectionChangedListener(pasteAction);
-
-		//		viewerList.add(viewer);
-		//     viewer.getControl().addFocusListener(this);
-	}
-
-	public DeleteAction getDeleteAction() {
-		return deleteAction;
-	}
-
-	/**
-	 * @return Returns the menuListener.
-	 */
-	public IMenuListener getMenuListener() {
-		return fMenuListener;
-	}
-
-	//    public void focusGained(FocusEvent event)
-	//    {
-	//      updateSelection();
-	//    }
-
-	public void removeMenuListenersFor(Viewer viewer) {
-		viewer.removeSelectionChangedListener(addNotationAction);
-		viewer.removeSelectionChangedListener(addEntityAction);
-		viewer.removeSelectionChangedListener(addElementAction);
-		viewer.removeSelectionChangedListener(addCommentAction);
-		viewer.removeSelectionChangedListener(addParameterEntityReferenceAction);
-		viewer.removeSelectionChangedListener(deleteAction);
-		viewer.removeSelectionChangedListener(addAttributeAction);
-		viewer.removeSelectionChangedListener(addAttributeListAction);
-		viewer.removeSelectionChangedListener(addGroupToContentModelAction);
-		viewer.removeSelectionChangedListener(addElementToContentModelAction);
-	}
-
-	// Update all the actions for the viewer in focus
-	public void updateActions() {
-		//     undoAction.update();
-		//     redoAction.update();
-	}
-
-	public void updateEditActions(IActionBars actionBars) {
-		//      if (actionBars != null)
-		//      {
-		//        actionBars.setGlobalActionHandler(IWorkbenchActionConstants.CUT,
-		// cutAction);
-		//        actionBars.setGlobalActionHandler(IWorkbenchActionConstants.COPY,
-		// copyAction);
-		//        actionBars.setGlobalActionHandler(IWorkbenchActionConstants.PASTE,
-		// pasteAction);
-		//        actionBars.setGlobalActionHandler(IWorkbenchActionConstants.UNDO,
-		// undoAction);
-		//        actionBars.setGlobalActionHandler(IWorkbenchActionConstants.REDO,
-		// redoAction);
-		//      }
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDLabelProvider.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDLabelProvider.java
deleted file mode 100644
index 6ef7e52..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDLabelProvider.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.dtd.ui.views.contentoutline;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.NodeList;
-
-
-/**
- * Based on com.ibm.etools.dtd.editor.viewers.DTDLabelProvider
- */
-
-public class DTDLabelProvider extends LabelProvider {
-
-	public DTDLabelProvider() {
-		super();
-	}
-
-	/**
-	 * Returns the image for the label of the given element.
-	 * 
-	 * @param element
-	 *            the element for which to provide the label image
-	 * @return the image used to label the element, or <code>null</code> if
-	 *         these is no image for the given object
-	 */
-	public Image getImage(Object element) {
-		Image image = null;
-		if (element instanceof DTDNode) {
-			image = ((DTDNode) element).getImage();
-		} else if (element instanceof NodeList) {
-			image = ((NodeList) element).getImage();
-		} else if (element instanceof IndexedNodeList) {
-			return ((IndexedNodeList) element).getTarget().getImage();
-		} else if (element instanceof DTDFile) {
-			image = ((DTDFile) element).getImage();
-		} else {
-			image = super.getImage(element);
-		}
-		return image;
-	}
-
-	/**
-	 * Returns the text for the label of the given element.
-	 * 
-	 * @param element
-	 *            the element for which to provide the label text
-	 * @return the text string used to label the element, or <code>null</code>
-	 *         if these is no text label for the given object
-	 */
-	public String getText(Object element) {
-		if (element instanceof DTDNode) {
-			String name = ((DTDNode) element).getName();
-
-			// strip leading whitespace (useful for multi-line comments)
-			int i = 0;
-			for (i = 0; i < name.length(); i++) {
-				if (!Character.isWhitespace(name.charAt(i)))
-					break;
-			}
-			if (i > 0 && i < name.length() - 1)
-				name = name.substring(i);
-
-			return name;
-		} else if (element instanceof NodeList) {
-			return ((NodeList) element).getListType();
-		} else if (element instanceof IndexedNodeList) {
-			return ((IndexedNodeList) element).getTarget().getName();
-		} else if (element instanceof DTDFile) {
-			return ((DTDFile) element).getName();
-		}
-		return super.getText(element);
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDTreeContentProvider.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDTreeContentProvider.java
deleted file mode 100644
index 6c7c2bf..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/DTDTreeContentProvider.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://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.ui.views.contentoutline;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.dtd.core.Attribute;
-import org.eclipse.wst.dtd.core.AttributeList;
-import org.eclipse.wst.dtd.core.Comment;
-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.NodeList;
-import org.eclipse.wst.dtd.core.Notation;
-import org.eclipse.wst.dtd.core.ParameterEntityReference;
-import org.eclipse.wst.dtd.core.document.DTDModelImpl;
-import org.eclipse.wst.dtd.core.event.IDTDFileListener;
-import org.eclipse.wst.dtd.core.event.NodesEvent;
-
-
-/**
- * Based on com.ibm.etools.dtd.editor.viewers.DTDTreeContentProvider
- */
-
-public class DTDTreeContentProvider implements ITreeContentProvider, IDTDFileListener {
-
-	private Object fInputObject;
-	protected Viewer fViewer;
-
-	// A cached set of IndexedNodeLists, required for getParent to return the
-	// correct instances mapping to TreeItems
-	protected Object[] logicalNodeLists = null;
-
-	private boolean showLogicalOrder = false;
-
-	public DTDTreeContentProvider() {
-		super();
-	}
-
-	public void dispose() {
-		fViewer = null;
-	}
-
-	private void expandToNode(DTDNode node) {
-		DTDFile dtdFile = node.getDTDFile();
-		// first expand the root
-		AbstractTreeViewer viewer = (AbstractTreeViewer) fViewer;
-		viewer.expandToLevel(dtdFile, 1);
-		NodeList listToExpand = null;
-		if (node instanceof Element || node instanceof ParameterEntityReference) {
-			listToExpand = dtdFile.getElementsAndParameterEntityReferences();
-		} else if (node instanceof Notation) {
-			listToExpand = dtdFile.getNotations();
-		} else if (node instanceof Entity) {
-			listToExpand = dtdFile.getEntities();
-		} else if (node instanceof Comment) {
-			listToExpand = dtdFile.getComments();
-		}
-		if (listToExpand != null) {
-			viewer.expandToLevel(listToExpand, 1);
-		}
-		viewer.expandToLevel(node, 0);
-	}
-
-	public Object[] getChildren(Object parentElement) {
-		// return the lists of nodes when in logical order mode, all the Nodes
-		// otherwise
-		if (parentElement instanceof DTDFile) {
-			if (isShowLogicalOrder()) {
-				if (logicalNodeLists == null) {
-					DTDFile file = (DTDFile) parentElement;
-					Object[] children = file.getNodeLists().toArray();
-					for (int i = 0; i < children.length; i++) {
-						children[i] = new IndexedNodeList((NodeList) children[i]);
-					}
-					logicalNodeLists = children;
-				}
-				return logicalNodeLists;
-			} else {
-				return ((DTDFile) parentElement).getNodes().toArray();
-			}
-		} else if (parentElement instanceof NodeList) {
-			return ((NodeList) parentElement).getNodes().toArray();
-		} else if (parentElement instanceof IndexedNodeList) {
-			return ((IndexedNodeList) parentElement).getTarget().getNodes().toArray();
-		} else if (parentElement instanceof Element && isShowLogicalOrder()) {
-			// then group the attributes under the element
-			Object[] children = ((DTDNode) parentElement).getChildren();
-			List attributes = ((Element) parentElement).getElementAttributes();
-			Object[] logicalChildren = new Object[children.length + attributes.size()];
-			int index = 0;
-			for (index = 0; index < children.length; index++) {
-				logicalChildren[index] = children[index];
-			}
-			for (Iterator iter = attributes.iterator(); iter.hasNext();) {
-				logicalChildren[index++] = iter.next();
-			}
-			return logicalChildren;
-		} else if (parentElement instanceof DTDNode) {
-			return ((DTDNode) parentElement).getChildren();
-		}
-		return Collections.EMPTY_LIST.toArray();
-	}
-
-	public Object[] getElements(java.lang.Object inputElement) {
-		Object[] elements = null;
-		// Always show the DTDFile "node"
-		if (inputElement instanceof DTDModelImpl) {
-			elements = new Object[]{((DTDModelImpl) inputElement).getDTDFile()};
-		}
-		if (elements == null) {
-			elements = new Object[0];
-		}
-		return elements;
-	}
-
-	public Object getParent(Object element) {
-		Object parent = null;
-		if (element instanceof DTDNode) {
-			DTDNode node = (DTDNode) element;
-			if (element instanceof Attribute && isShowLogicalOrder()) {
-				// then we must say that the element with the same name
-				// as our attributelist is our parent
-				parent = node.getParentNode();
-				if (parent != null) {
-					String attListName = ((DTDNode) parent).getName();
-					Iterator iter = node.getDTDFile().getNodes().iterator();
-					while (iter.hasNext()) {
-						DTDNode currentNode = (DTDNode) iter.next();
-						if (currentNode instanceof AttributeList && currentNode.getName().equals(attListName)) {
-							parent = currentNode;
-						}
-					}
-				}
-			}
-
-			if (parent == null) {
-				parent = ((DTDNode) element).getParentNode();
-			}
-
-			// if showing in the logical order, return the IndexedNodeList
-			// acting as the parent in the tree
-			if (parent == null) {
-				if (isShowLogicalOrder()) {
-					Object[] indexedNodeLists = getChildren(((DTDModelImpl) fInputObject).getDTDFile());
-					for (int i = 0; i < indexedNodeLists.length && parent == null; i++) {
-						if (indexedNodeLists[i] instanceof IndexedNodeList) {
-							if (((IndexedNodeList) indexedNodeLists[i]).contains(element))
-								parent = indexedNodeLists[i];
-						}
-					}
-				} else {
-					parent = ((DTDModelImpl) fInputObject).getDTDFile();
-				}
-			}
-		} else if (element instanceof IndexedNodeList && fInputObject instanceof DTDModelImpl) {
-			parent = ((DTDModelImpl) fInputObject).getDTDFile();
-		}
-		return parent;
-	}
-
-	public boolean hasChildren(Object element) {
-		Object[] children = getChildren(element);
-		return children.length > 0;
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		fViewer = viewer;
-
-		if (fInputObject instanceof DTDModelImpl) {
-			((DTDModelImpl) fInputObject).getDTDFile().removeDTDFileListener(this);
-		}
-		fInputObject = newInput;
-		if (fInputObject instanceof DTDModelImpl) {
-			((DTDModelImpl) fInputObject).getDTDFile().addDTDFileListener(this);
-		}
-	}
-
-	/**
-	 * Get the value of showLogicalOrder.
-	 * 
-	 * @return value of showLogicalOrder.
-	 */
-	public boolean isShowLogicalOrder() {
-		return showLogicalOrder;
-	}
-
-	public void nodeChanged(DTDNode node) {
-		if (fViewer instanceof StructuredViewer) {
-			//      System.out.println("node changed notified");
-			//      System.out.println("selection before = " +
-			// ((StructuredViewer)view).getSelection());
-			if (node instanceof AttributeList && isShowLogicalOrder()) {
-				// in this case, we are showing attributes under the element.
-				// refresh the element object instead
-				Iterator iter = node.getDTDFile().getNodes().iterator();
-				while (iter.hasNext()) {
-					DTDNode currentNode = (DTDNode) iter.next();
-					if (currentNode.getName().equals(node.getName()) && currentNode instanceof Element) {
-						((StructuredViewer) fViewer).refresh(currentNode);
-					}
-				} // end of while ()
-			} else {
-				// do standard stuff
-				((StructuredViewer) fViewer).refresh(node);
-			}
-			//      System.out.println("selection after = " +
-			// ((StructuredViewer)view).getSelection());
-		}
-	}
-
-	public void nodesAdded(NodesEvent event) {
-		if (fViewer instanceof AbstractTreeViewer) {
-			StructuredViewer viewer = (StructuredViewer) fViewer;
-			ISelection selection = viewer.getSelection();
-
-			Object firstObj = (!selection.isEmpty() && selection instanceof IStructuredSelection) ? ((IStructuredSelection) selection).getFirstElement() : null;
-			DTDNode oldSelectedNode = null;
-			if (firstObj instanceof DTDNode) {
-				oldSelectedNode = (DTDNode) firstObj;
-			}
-
-			// for now just refresh the whole view
-			AbstractTreeViewer abstractTreeViewer = (AbstractTreeViewer) fViewer;
-			abstractTreeViewer.refresh();
-
-			Iterator iter = event.getNodes().iterator();
-			List newSelection = new ArrayList();
-			while (iter.hasNext()) {
-				DTDNode node = (DTDNode) iter.next();
-				if (oldSelectedNode == null || node.getStructuredDocumentRegion() != oldSelectedNode.getStructuredDocumentRegion() || node.getStartOffset() != oldSelectedNode.getStartOffset() || node.getEndOffset() != oldSelectedNode.getEndOffset()) {
-					// add to selection
-					newSelection.add(node);
-					expandToNode(node);
-				}
-			}
-			if (newSelection.size() > 0) {
-				viewer.setSelection(new StructuredSelection(newSelection));
-			}
-
-		}
-	}
-
-	public void nodesRemoved(NodesEvent event) {
-		if (fViewer instanceof AbstractTreeViewer) {
-			AbstractTreeViewer abstractTreeViewer = (AbstractTreeViewer) fViewer;
-			for (Iterator iter = event.getNodes().iterator(); iter.hasNext();) {
-				abstractTreeViewer.remove(iter.next());
-			}
-		}
-
-	}
-
-	/**
-	 * Set the value of showLogicalOrder.
-	 * 
-	 * @param v
-	 *            Value to assign to showLogicalOrder.
-	 */
-	public void setShowLogicalOrder(boolean v) {
-		this.showLogicalOrder = v;
-		if (!v) {
-			// if not using logical order, lose the cached lists
-			logicalNodeLists = null;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/IndexedNodeList.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/IndexedNodeList.java
deleted file mode 100644
index 9225bac..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/IndexedNodeList.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.dtd.ui.views.contentoutline;
-
-import java.util.List;
-
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.NodeList;
-import org.eclipse.wst.sse.core.IndexedRegion;
-
-
-/* package */
-class IndexedNodeList implements IndexedRegion {
-	public NodeList fTarget;
-
-	public IndexedNodeList(NodeList target) {
-		fTarget = target;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.core.IndexedRegion#contains(int)
-	 */
-	public boolean contains(int testPosition) {
-		return getStartOffset() <= testPosition && testPosition <= getEndOffset();
-	}
-
-	public boolean contains(Object child) {
-		return fTarget.getNodes().contains(child);
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.core.IndexedRegion#getEndOffset()
-	 */
-	public int getEndOffset() {
-		int end = 0;
-		List nodes = fTarget.getNodes();
-		for (int i = 0; i < nodes.size(); i++) {
-			int thisEnd = ((DTDNode) nodes.get(i)).getEndOffset();
-			if (end < thisEnd)
-				end = thisEnd;
-		}
-		return end;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.core.IndexedRegion#getStartOffset()
-	 */
-	public int getStartOffset() {
-		int start = -1;
-		List nodes = fTarget.getNodes();
-		for (int i = 0; i < nodes.size(); i++) {
-			int thisStart = ((DTDNode) nodes.get(i)).getStartOffset();
-			if (start > thisStart || start < 0)
-				start = thisStart;
-		}
-		if (start < 0)
-			start = 0;
-		return start;
-	}
-
-	/**
-	 * @return
-	 */
-	public NodeList getTarget() {
-		return fTarget;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return getClass().getName() + ":" + fTarget.toString(); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/OrderAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/OrderAction.java
deleted file mode 100644
index c32c119..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/OrderAction.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
- *     
- *******************************************************************************/
-/*
- * 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.dtd.ui.views.contentoutline;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.wst.dtd.ui.DTDEditorPlugin;
-import org.eclipse.wst.dtd.ui.internal.editor.DTDEditorPluginImageHelper;
-import org.eclipse.wst.dtd.ui.internal.editor.DTDEditorPluginImages;
-import org.eclipse.wst.sse.ui.views.contentoutline.PropertyChangeUpdateAction;
-
-
-/**
- * Based on com.ibm.etools.dtd.editor.DTDContentOutlinePage#OrderAction
- */
-class OrderAction extends PropertyChangeUpdateAction {
-	private DTDTreeContentProvider contentProvider;
-	private TreeViewer treeViewer;
-
-	public OrderAction(TreeViewer viewer, DTDTreeContentProvider provider, IPreferenceStore store, String preferenceKey) {
-		super(DTDEditorPlugin.getResourceString("_UI_BUTTON_GROUP_ITEMS_LOGICALLY"), store, preferenceKey, false); //$NON-NLS-1$
-		setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_OBJ_ORGANIZE_DTD_LOGICALLY));
-		treeViewer = viewer;
-		contentProvider = provider;
-		setToolTipText(getText());
-		contentProvider.setShowLogicalOrder(isChecked());
-	}
-
-	public void update() {
-		super.update();
-		setChecked(getPreferenceStore().getBoolean(getPreferenceKey()));
-		//	treeViewer.getControl().setVisible(false);
-		//	treeViewer.getControl().setRedraw(false);
-		Object[] expandedElements = treeViewer.getExpandedElements();
-		ISelection selection = treeViewer.getSelection();
-		contentProvider.setShowLogicalOrder(isChecked());
-
-		//treeViewer.setInput(treeViewer.getInput());
-		treeViewer.refresh(treeViewer.getInput());
-
-		treeViewer.setExpandedElements(expandedElements);
-		treeViewer.setSelection(selection);
-		// treeViewer.getControl().setVisible(true);
-		//	treeViewer.getControl().setRedraw(true);
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/SortAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/SortAction.java
deleted file mode 100644
index 4a343df..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/SortAction.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.dtd.ui.views.contentoutline;
-
-import java.text.Collator;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.wst.dtd.ui.DTDEditorPlugin;
-import org.eclipse.wst.dtd.ui.internal.editor.DTDEditorPluginImageHelper;
-import org.eclipse.wst.dtd.ui.internal.editor.DTDEditorPluginImages;
-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(DTDEditorPlugin.getResourceString("_UI_BUTTON_SORT_ITEMS"), store, preferenceKey, false); //$NON-NLS-1$
-		setImageDescriptor(DTDEditorPluginImageHelper.getInstance().getImageDescriptor(DTDEditorPluginImages.IMG_OBJ_SORT));
-		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);
-		treeViewer.getControl().setRedraw(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);
-		treeViewer.getControl().setRedraw(true);
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddAttributeAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddAttributeAction.java
deleted file mode 100644
index d63991d..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddAttributeAction.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.dtd.ui.views.contentoutline.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.dtd.core.AttributeList;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.Element;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class AddAttributeAction extends BaseAction {
-
-	public AddAttributeAction(StructuredTextEditor editor, String label) {
-		super(editor, label);
-	}
-
-	public void run() {
-		DTDNode selectedNode = getFirstNodeSelected();
-		String newName = "NewAttribute"; //$NON-NLS-1$
-		if (selectedNode instanceof AttributeList) {
-			((AttributeList) selectedNode).addAttribute(newName);
-		} else if (selectedNode instanceof Element) {
-			((Element) selectedNode).addAttribute(newName);
-		}
-	}
-
-	protected boolean updateSelection(IStructuredSelection selection) {
-		boolean rc = super.updateSelection(selection);
-		DTDNode node = getFirstNodeSelected(selection);
-		if (node instanceof Element) {
-			//      System.out.println("attribute set to true");
-			setEnabled(true);
-		} else {
-			//      System.out.println("attribute set to false");
-			setEnabled(false);
-		}
-
-		return rc;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddAttributeListAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddAttributeListAction.java
deleted file mode 100644
index d5491d8..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddAttributeListAction.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.dtd.ui.views.contentoutline.actions;
-
-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.sse.ui.StructuredTextEditor;
-
-
-public class AddAttributeListAction extends BaseAction {
-
-	public AddAttributeListAction(StructuredTextEditor editor, String label) {
-		super(editor, label);
-	}
-
-	public void run() {
-		DTDNode selectedNode = getFirstNodeSelected();
-		DTDFile dtdFile = getModel().getDTDFile();
-		String attListName = "NewAttList"; //$NON-NLS-1$
-		if (selectedNode != null) {
-			DTDNode topLevelNode = dtdFile.getTopLevelNodeAt(selectedNode.getStartOffset());
-			if (topLevelNode instanceof Element) {
-				attListName = ((Element) topLevelNode).getName();
-			}
-		}
-
-		getModel().getDTDFile().createAttributeList(selectedNode, attListName, true);
-		//    newElement.setName(DTDUniqueNameHelper.getUniqueElementName(dtdFile));
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddCommentAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddCommentAction.java
deleted file mode 100644
index 62d1ebe..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddCommentAction.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.ui.views.contentoutline.actions;
-
-//import com.ibm.etools.dtd.util.DTDUniqueNameHelper;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class AddCommentAction extends BaseAction {
-
-	public AddCommentAction(StructuredTextEditor editor, String label) {
-		super(editor, label);
-	}
-
-	public void run() {
-		DTDNode selectedNode = getFirstNodeSelected();
-		getModel().getDTDFile().createComment(selectedNode, "NewComment", true); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddElementAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddElementAction.java
deleted file mode 100644
index cb15e96..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddElementAction.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.ui.views.contentoutline.actions;
-
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.util.DTDUniqueNameHelper;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class AddElementAction extends BaseAction {
-
-	public AddElementAction(StructuredTextEditor editor, String label) {
-		super(editor, label);
-	}
-
-	public void run() {
-		DTDNode selectedNode = getFirstNodeSelected();
-		DTDFile dtdFile = getModel().getDTDFile();
-		String elementName = DTDUniqueNameHelper.getUniqueElementName(dtdFile);
-		dtdFile.createElement(selectedNode, elementName, true); //$NON-NLS-1$
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddElementToContentModelAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddElementToContentModelAction.java
deleted file mode 100644
index 0e8bef3..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddElementToContentModelAction.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.dtd.ui.views.contentoutline.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.dtd.core.CMGroupNode;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.Element;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class AddElementToContentModelAction extends BaseAction {
-
-	public AddElementToContentModelAction(StructuredTextEditor editor, String label) {
-		super(editor, label);
-	}
-
-	public void run() {
-		DTDNode node = getFirstNodeSelected();
-
-		if (node instanceof CMGroupNode) {
-			((CMGroupNode) node).addChild();
-		} else if (node instanceof Element) {
-			((Element) node).addChild();
-		}
-	}
-
-	protected boolean updateSelection(IStructuredSelection selection) {
-		boolean rc = super.updateSelection(selection);
-		DTDNode node = getFirstNodeSelected(selection);
-		if (node instanceof CMGroupNode) {
-			setEnabled(true);
-		} else {
-			setEnabled(false);
-		}
-		return rc;
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddEntityAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddEntityAction.java
deleted file mode 100644
index 3760879..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddEntityAction.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.dtd.ui.views.contentoutline.actions;
-
-//import com.ibm.etools.dtd.util.DTDUniqueNameHelper;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class AddEntityAction extends BaseAction {
-
-	public AddEntityAction(StructuredTextEditor editor, String label) {
-		super(editor, label);
-	}
-
-	public void run() {
-		DTDNode selectedNode = getFirstNodeSelected();
-
-		getModel().getDTDFile().createEntity(selectedNode, "NewEntity", true); //$NON-NLS-1$
-		//    newElement.setName(DTDUniqueNameHelper.getUniqueElementName(dtdFile));
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddGroupToContentModelAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddGroupToContentModelAction.java
deleted file mode 100644
index 303cd57..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddGroupToContentModelAction.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.ui.views.contentoutline.actions;
-
-import org.eclipse.wst.dtd.core.CMGroupNode;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.Element;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class AddGroupToContentModelAction extends BaseAction {
-
-	//    private Object element;
-
-	public AddGroupToContentModelAction(StructuredTextEditor editor, String label) {
-		super(editor, label);
-	}
-
-	public void run() {
-		DTDNode node = getFirstNodeSelected();
-
-		if (node instanceof CMGroupNode) {
-			((CMGroupNode) node).addGroup();
-		} else if (node instanceof Element) {
-			((Element) node).addGroup();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddNotationAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddNotationAction.java
deleted file mode 100644
index 12bcefa..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddNotationAction.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.dtd.ui.views.contentoutline.actions;
-
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class AddNotationAction extends BaseAction {
-
-	public AddNotationAction(StructuredTextEditor editor, String label) {
-		super(editor, label);
-	}
-
-	public void run() {
-		DTDNode selectedNode = getFirstNodeSelected();
-
-		getModel().getDTDFile().createNotation(selectedNode, "NewNotation", true); //$NON-NLS-1$
-
-		//      newNotation.setName(DTDUniqueNameHelper.getUniqueNotationName(dtdFile));
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddParameterEntityReferenceAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddParameterEntityReferenceAction.java
deleted file mode 100644
index 7ee2c08..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/AddParameterEntityReferenceAction.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.dtd.ui.views.contentoutline.actions;
-
-import org.eclipse.wst.dtd.core.DTDFile;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.util.LabelValuePair;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-public class AddParameterEntityReferenceAction extends BaseAction {
-	public AddParameterEntityReferenceAction(StructuredTextEditor editor, String label) {
-		super(editor, label);
-	}
-
-	public String getFirstExternalParameterEntity(DTDFile dtdFile) {
-		LabelValuePair[] freeExternalEntities = dtdFile.getDTDModel().createParmEntityContentItems(null);
-
-		if (freeExternalEntities.length > 0) {
-			return (String) freeExternalEntities[0].fValue;
-			//      return (Entity) freeExternalEntities[0].fValue;
-		}
-		return null;
-	}
-
-	public void run() {
-		DTDFile dtdFile = getModel().getDTDFile();
-		String extEntity = getFirstExternalParameterEntity(dtdFile);
-		DTDNode selectedNode = getFirstNodeSelected();
-		if (extEntity != null) {
-			dtdFile.createParameterEntityReference(selectedNode, extEntity, true);
-		} else {
-			dtdFile.createParameterEntityReference(selectedNode, "%NewEntityReference;", true); //$NON-NLS-1$
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/BaseAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/BaseAction.java
deleted file mode 100644
index 110bbee..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/BaseAction.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.dtd.ui.views.contentoutline.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IEditorActionBarContributor;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.core.document.DTDModelImpl;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-abstract public class BaseAction extends SelectionListenerAction {
-
-	protected IEditorActionBarContributor contextContributor;
-	private StructuredTextEditor fTextEditor;
-
-	public BaseAction(StructuredTextEditor editor, String text) {
-		this(editor, text, null);
-	}
-
-	public BaseAction(StructuredTextEditor editor, String text, ImageDescriptor imageDesc) {
-		super(text);
-		fTextEditor = editor;
-		setImageDescriptor(imageDesc);
-	}
-
-	public IEditorActionBarContributor getContextContributor() {
-		return contextContributor;
-	}
-
-	public DTDNode getFirstNodeSelected() {
-		return getFirstNodeSelected(getStructuredSelection());
-	}
-
-	public DTDNode getFirstNodeSelected(IStructuredSelection selection) {
-		Iterator iter = selection.iterator();
-		//DTDNode referencePoint = null;
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			if (element instanceof DTDNode) {
-				return (DTDNode) element;
-			}
-		}
-		return null;
-	}
-
-	public DTDModelImpl getModel() {
-		return (DTDModelImpl) getTextEditor().getModel();
-	}
-
-	/**
-	 * @return Returns the textEditor.
-	 */
-	public StructuredTextEditor getTextEditor() {
-		return fTextEditor;
-	}
-
-	public void setContextContributor(IEditorActionBarContributor contributor) {
-		contextContributor = contributor;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/DeleteAction.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/DeleteAction.java
deleted file mode 100644
index 0642c37..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/contentoutline/actions/DeleteAction.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.dtd.ui.views.contentoutline.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.actions.SelectionListenerAction;
-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.DTDPlugin;
-import org.eclipse.wst.dtd.core.util.DTDBatchNodeDelete;
-
-
-public class DeleteAction extends SelectionListenerAction {
-
-	public DeleteAction(String label) {
-		super(label);
-	}
-
-	public void run() {
-		IStructuredSelection selection = getStructuredSelection();
-
-		Iterator iter = selection.iterator();
-		DTDBatchNodeDelete batchDelete = null;
-		DTDFile dtdFile = null;
-		while (iter.hasNext()) {
-			Object element = iter.next();
-			if (element instanceof DTDNode) {
-				DTDNode node = (DTDNode) element;
-				dtdFile = node.getDTDFile();
-				if (batchDelete == null) {
-					batchDelete = new DTDBatchNodeDelete(dtdFile);
-				}
-				batchDelete.addNode((DTDNode) element);
-			}
-		}
-		dtdFile.getDTDModel().beginRecording(this, DTDPlugin.getDTDString("_UI_LABEL_DTD_FILE_DELETE")); //$NON-NLS-1$
-		batchDelete.deleteNodes(this);
-		dtdFile.getDTDModel().endRecording(this);
-	}
-
-	public boolean updateSelection(IStructuredSelection sel) {
-		if (!super.updateSelection(sel))
-			return false;
-
-		Object selectedObject = sel.getFirstElement();
-		if (selectedObject instanceof DTDNode && !(selectedObject instanceof CMNode && ((CMNode) selectedObject).isRootElementContent())) {
-			setEnabled(true);
-			return true; // enable delete menu item
-		} else {
-			setEnabled(false);
-			return false; // disable it - grey out
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/properties/DTDPropertySourceAdapter.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/properties/DTDPropertySourceAdapter.java
deleted file mode 100644
index 67a7d07..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/properties/DTDPropertySourceAdapter.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.dtd.ui.views.properties;
-
-
-
-import java.util.Stack;
-
-import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
-import org.eclipse.wst.dtd.core.DTDNode;
-import org.eclipse.wst.dtd.ui.DTDEditorPlugin;
-import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.sse.ui.views.properties.CustomPropertyDescriptor;
-
-
-/**
- * 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 DTDPropertySourceAdapter implements INodeAdapter, IPropertySource {
-	protected final static String CATEGORY_ATTRIBUTES = "Attributes"; //$NON-NLS-1$
-
-	private static final String ID_NAME = DTDEditorPlugin.getResourceString("DTDPropertySourceAdapter.0"); //$NON-NLS-1$
-	private static final String ID_TEXT = DTDEditorPlugin.getResourceString("DTDPropertySourceAdapter.1"); //$NON-NLS-1$
-
-	protected IPropertyDescriptor[] fDescriptors = null;
-	protected INodeNotifier fNode = null;
-
-	protected Stack fValuesBeingSet = new Stack();
-
-	public DTDPropertySourceAdapter(INodeNotifier target) {
-		super();
-		fNode = target;
-	}
-
-	/**
-	 * @return
-	 */
-	private IPropertyDescriptor[] createPropertyDescriptors() {
-		CustomPropertyDescriptor nameDescriptor = new CustomPropertyDescriptor(ID_NAME, ID_NAME, null);
-		nameDescriptor.setCategory(DTDEditorPlugin.getResourceString("DTDPropertySourceAdapter.2")); //$NON-NLS-1$
-		//		CustomPropertyDescriptor contentDescriptor = new
-		// CustomPropertyDescriptor(ID_TEXT, ID_TEXT, null);
-		//		contentDescriptor.setCategory("Attributes");
-		return new IPropertyDescriptor[]{nameDescriptor};
-	}
-
-	/**
-	 * 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;
-	}
-
-	/**
-	 * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
-	 */
-	public Object getPropertyValue(Object id) {
-		Object value = null;
-		if (id.equals(ID_NAME) && fNode instanceof DTDNode) {
-			value = ((DTDNode) fNode).getName();
-		}
-		if (id.equals(ID_TEXT) && fNode instanceof DTDNode) {
-			value = ((DTDNode) fNode).getFullNodeText();
-		}
-		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;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-	 */
-	public boolean isPropertySet(Object id) {
-		return false;
-	}
-
-	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-	 */
-	public void resetPropertyValue(Object id) {
-	}
-
-	public void setPropertyValue(Object nameObject, Object value) {
-	}
-
-	protected void updatePropertyDescriptors() {
-	}
-}
diff --git a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/properties/DTDPropertySourceAdapterFactory.java b/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/properties/DTDPropertySourceAdapterFactory.java
deleted file mode 100644
index 900da6f..0000000
--- a/bundles/org.eclipse.wst.dtd.ui/src/org/eclipse/wst/dtd/ui/views/properties/DTDPropertySourceAdapterFactory.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.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;
-
-
-public class DTDPropertySourceAdapterFactory extends AbstractAdapterFactory {
-
-	public DTDPropertySourceAdapterFactory() {
-		super(IPropertySource.class, true);
-	}
-
-	public DTDPropertySourceAdapterFactory(Object adapterKey, boolean registerAdapters) {
-		super(adapterKey, registerAdapters);
-	}
-
-	public AdapterFactory copy() {
-		return new DTDPropertySourceAdapterFactory(this.adapterKey, this.shouldRegisterAdapter);
-	}
-
-	protected INodeAdapter createAdapter(INodeNotifier target) {
-		// at the moment, only one implementation exists
-		return new DTDPropertySourceAdapter(target);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/.classpath b/bundles/org.eclipse.wst.sse.ui/.classpath
deleted file mode 100644
index 9051aaa..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 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 4af8817..0000000
--- a/bundles/org.eclipse.wst.sse.ui/.options
+++ /dev/null
@@ -1,50 +0,0 @@
-org.eclipse.wst.sse.ui/debug=true
-org.eclipse.wst.sse.ui/debug/tracefilter=
-
-#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
\ 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 5fdab0b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/.project
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.sse.ui</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.wst.common.encoding</project>
-		<project>org.eclipse.wst.common.contentmodel</project>
-		<project>org.eclipse.wst.validation.core.core</project>
-		<project>org.eclipse.wst.sse.ui.contentproperties</project>
-		<project>org.eclipse.wst.sse.ui.extensions</project>
-		<project>org.eclipse.wst.sse.core</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.debug.core</project>
-		<project>org.eclipse.debug.ui</project>
-		<project>org.eclipse.jface</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.search</project>
-		<project>org.eclipse.swt</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench</project>
-		<project>org.eclipse.ui.workbench.texteditor</project>
-	</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/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 6c12da5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/plugin.properties
+++ /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
-#     
-###############################################################################
-Structured_Source_Editor.name=Structured Source Editor
-Structured_Source_Editor_NL_Support.name=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
-sourceEditorFontDefintion.description=The Structured text editor text font is used by Structured text editors.
-
-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
-Bean_Info_Provider_Extension.name=Bean Info Provider 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.comment.name=Comment
-command.comment.description=Comment
-command.uncomment.name=Uncomment
-command.uncomment.description=Uncomment
-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
-ConvertLineDelimitersToCRLF=Convert Line Delimiters To CRLF (&Windows)
-ConvertLineDelimitersToLF=Convert Line Delimiters To LF (&UNIX, MacOS X)
-ConvertLineDelimitersToCR=Convert Line Delimiters To CR (Classic &MacOS)
-
-##
-Spell_Check_label=Spell Check
-Spell_Check_tooltip=Spell Check
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 a7792a4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/plugin.xml
+++ /dev/null
@@ -1,545 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.sse.ui"
-   name="%Structured_Source_Editor.name"
-   version="1.0.0"
-   provider-name="IBM"
-   class="org.eclipse.wst.sse.ui.EditorPlugin">
-
-   <runtime>
-      <library name="editor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <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.core"/>
-      <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"/>
-
-<!-- 
-		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">
-      <contentoutlineconfiguration
-            class="org.eclipse.wst.sse.ui.views.contentoutline.StructuredContentOutlineConfiguration"
-            target="org.eclipse.wst.sse.ui.StructuredTextEditor">
-      </contentoutlineconfiguration>
-      <propertysheetconfiguration
-            class="org.eclipse.wst.sse.ui.views.properties.StructuredPropertySheetConfiguration"
-            target="org.eclipse.wst.sse.ui.StructuredTextEditor">
-      </propertysheetconfiguration>
-      <textviewerconfiguration
-            class="org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration"
-            target="org.eclipse.wst.sse.ui.StructuredTextEditor">
-      </textviewerconfiguration>
-      <preferencepages
-            preferenceids="org.eclipse.ui.preferencePages.Workbench/org.eclipse.ui.preferencePages.Editors/org.eclipse.wst.sse.ui.preferences.editor"
-            target="org.eclipse.wst.sse.ui.StructuredTextEditor">
-      </preferencepages>
-   </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.edit.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>
-<!-- new for annotation support -->
-   <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">
-      <specification
-            annotationImageProvider="org.eclipse.wst.sse.ui.internal.ui.StructuredTextAnnotationImageProvider"
-            verticalRulerPreferenceValue="false"
-            annotationType="org.eclipse.wst.sse.ui.temp.error">
-      </specification>
-      <specification
-            annotationImageProvider="org.eclipse.wst.sse.ui.internal.ui.StructuredTextAnnotationImageProvider"
-            verticalRulerPreferenceValue="false"
-            annotationType="org.eclipse.wst.sse.ui.temp.warning">
-      </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>
-            <separator
-                  name="separator">
-            </separator>
-            <groupMarker
-                  name="convertGroup">
-            </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>
-         <action
-               label="%ConvertLineDelimitersToCR"
-               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToCRActionDelegate"
-               menubarPath="source/convertGroup"
-               enablesFor="+"
-               id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions.EOLCR">
-         </action>
-         <action
-               label="%ConvertLineDelimitersToLF"
-               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToLFActionDelegate"
-               menubarPath="source/convertGroup"
-               enablesFor="+"
-               id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions.EOLLF">
-         </action>
-         <action
-               label="%ConvertLineDelimitersToCRLF"
-               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToCRLFActionDelegate"
-               menubarPath="source/convertGroup"
-               enablesFor="+"
-               id="org.eclipse.wst.sse.ui.actions.ContainerSourceActions.EOLCRLF">
-         </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>
-            <separator
-                  name="separator">
-            </separator>
-            <groupMarker
-                  name="convertGroup">
-            </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>
-         <action
-               label="%ConvertLineDelimitersToCR"
-               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToCRActionDelegate"
-               menubarPath="source/convertGroup"
-               enablesFor="+"
-               id="org.eclipse.wst.sse.ui.actions.FileSourceActions.EOLCR">
-         </action>
-         <action
-               label="%ConvertLineDelimitersToLF"
-               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToLFActionDelegate"
-               menubarPath="source/convertGroup"
-               enablesFor="+"
-               id="org.eclipse.wst.sse.ui.actions.FileSourceActions.EOLLF">
-         </action>
-         <action
-               label="%ConvertLineDelimitersToCRLF"
-               class="org.eclipse.wst.sse.ui.edit.util.ConvertLineDelimitersToCRLFActionDelegate"
-               menubarPath="source/convertGroup"
-               enablesFor="+"
-               id="org.eclipse.wst.sse.ui.actions.FileSourceActions.EOLCRLF">
-         </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 -->
-         <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.name"/>
-<!-- extension point for spellcheck extension -->
-   <extension-point id="spellcheck" name="%SpellCheck_Extension.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.name" schema="schema/org.eclipse.wst.sse.editor.reconcileValidator.exsd"/>
-   <extension-point id="openon" name="%Open_On_Extension_Point_Extension.name" schema="schema/org.eclipse.wst.sse.editor.openon.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 4e797bc..0000000
--- a/bundles/org.eclipse.wst.sse.ui/schema/extendedconfiguration.exsd
+++ /dev/null
@@ -1,325 +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="characterpairmatcher"/>

-			<element ref="contentoutlineconfiguration"/>

-			<element ref="preferencepages"/>

-			<element ref="propertysheetconfiguration"/>

-			<element ref="sourceeditingtexttools"/>

-			<element ref="spellchecktarget"/>

-			<element ref="textviewerconfiguration"/>

-         </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="textviewerconfiguration">

-      <annotation>

-         <documentation>

-            The subclass of org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration to use.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A class with a null constructor fulfilling the requirements of the functionname.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor ID or SSE Content Type.  Multiple targets may be given as a comma delimited value.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="contentoutlineconfiguration">

-      <annotation>

-         <documentation>

-            The subclass of org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration to use.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A class with a null constructor fulfilling the requirements of the functionname.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor ID or SSE Content Type.  Multiple targets may be given as a comma delimited value.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="propertysheetconfiguration">

-      <annotation>

-         <documentation>

-            The subclass of org.eclipse.wst.sse.ui.views.properties.PropertySheetConfiguration to use.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A class with a null constructor fulfilling the requirements of the functionname.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor ID or SSE Content Type.  Multiple targets may be given as a comma delimited value.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="sourceeditingtexttools">

-      <annotation>

-         <documentation>

-            The implementor of org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools to provide.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A class with a null constructor fulfilling the requirements of the functionname.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor ID or SSE Content Type.  Multiple targets may be given as a comma delimited value.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="spellchecktarget">

-      <annotation>

-         <documentation>

-            The implementor of org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckTarget to use.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A class with a null constructor fulfilling the requirements of the functionname.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor ID or SSE Content Type.  Multiple targets may be given as a comma delimited value.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="characterpairmatcher">

-      <annotation>

-         <documentation>

-            The implementor of org.eclipse.jface.text.source.ICharacterPairMatcher to use in the source viewer decoration support.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="class" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A class with a null constructor that implements org.eclipse.jface.text.source.ICharacterPairMatcher.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor ID or SSE Content Type.  Multiple targets may be given as a comma delimited value.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="preferencepages">

-      <annotation>

-         <documentation>

-            The list of Preference page IDs to show for the editor&apos;s Preferences.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="preferenceids" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A fully qualified preference page ID path.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor ID or SSE Content Type.  Multiple targets may be given as a comma delimited value.

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="showintarget">

-      <annotation>

-         <documentation>

-            The list of Preference page IDs to show for the editor&apos;s Preferences.

-         </documentation>

-      </annotation>

-      <complexType>

-         <attribute name="ids" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A View ID implementing IShowInTarget on itself or as an Adapter.  The corresponding View will be added to the Navigate menu&apos;s Show In... submenu.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="target" type="string" use="required">

-            <annotation>

-               <documentation>

-                  A string defining when to use this extension, usually an Editor ID or SSE Content Type.  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;textviewerconfiguration
-     class=&quot;org.eclipse.wst.sse.ui.html.StructuredTextViewerConfigurationHTML&quot;
-     target=&quot;org.eclipse.wst.html.contenttype&quot;/&gt;
-
-&lt;!-- associating a ContentOutlineConfiguration multiple editor IDs --&gt;
-    &lt;contentoutlineconfiguration
-     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;propertysheetconfiguration
-     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;showintarget
-            ids=&quot;com.ibm.wtp.ui.ProjectNavigator&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 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 names&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/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 c3cff87..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/ContentPropertiesPlugin.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.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;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-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;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.sse.ui.contentproperties.ContentPropertiesPluginResources"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	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 f308573..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-contentproperties/org/eclipse/wst/sse/ui/contentproperties/Logger.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.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;
-
-/**
- * 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 {
-	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 18cda87..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ConfigurationPointCalculator.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.extensions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-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();
-		}
-		if (fContentType != null && !points.contains(fContentType))
-			points.add(fContentType);
-		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 c0996b2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/ExtensionsPlugin.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.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;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-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;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.wst.sse.ui.extensions.ExtensionsPluginResources"); //$NON-NLS-1$
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * 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 f6331db..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/Logger.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.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;
-
-/**
- * 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 {
-	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 69e99c4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckAction.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;
-
-
-
-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 124fff9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckElement.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;
-
-
-
-/**
- * IElement
- */
-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 3b936be..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckException.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.extensions.spellcheck;
-
-
-
-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 59ade92..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckOptionDialog.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;
-
-
-
-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 f06d7a3..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;
-
-
-/**
- * Interface to provide spellcheck
- */
-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 25403d0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckSelectionListener.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.extensions.spellcheck;
-
-
-
-/**
- * ISpellCheckSelectinListener
- */
-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 3f51d57..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckSelectionManager.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;
-
-
-
-/**
- * SpellCheckSelectionManager
- */
-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 78ced79..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellCheckTarget.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.extensions.spellcheck;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-
-
-/**
- * ISpellCheckTarget
- */
-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 7003a29..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src-extensions/org/eclipse/wst/sse/ui/extensions/spellcheck/SpellChecker.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.extensions.spellcheck;
-
-
-
-/**
- * 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/Editing.properties b/bundles/org.eclipse.wst.sse.ui/src/Editing.properties
deleted file mode 100644
index ff24538..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/Editing.properties
+++ /dev/null
@@ -1,591 +0,0 @@
-###############################################################################
-# Copyright (c) 2001, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Jens Lukowski/Innoopract - initial renaming/restructuring
-#     
-###############################################################################
-Macro_must_have_a_name_INFO_=IWAK0003I Macro must have a name
-Macro_name_can_not_start_w_INFO_=IWAK0004I 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_=IWAK0005W This encoding({0}) is not supported. Continue ?
-The_encoding_of_Preference_WARN_=IWAK0006W 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_=IWAK0007W This encoding({0}) is not supported. The default encoding will be used instead.
-Encoding_warning_UI_=Encoding warning
-A_temporary_backup_version_WARN_=IWAK0008W 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_=IWAK0009I Editing canceled at users request
-Unable_to_save_the_documen_ERROR_=IWAK0010E Unable to save the document. Output file not found.
-Unable_to_save_the_documen1_ERROR_=IWAK0011E Unable to save the document. Unsupported encoding.
-Unable_to_save_the_documen2_ERROR_=IWAK0012E Unable to save the document. An I/O error occurred while saving the document.
-Unable_to_save_the_documen3_ERROR_=IWAK0013E Unable to save the document. An severe I/O error occurred while saving the document.
-An_I/O_error_while_creatin_ERROR_=IWAK0014E An I/O error while creating temporary backup copy
-An_severe_I/O_error_while__ERROR_=IWAK0015E An severe I/O error while creating temporary backup copy
-&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}.
-Cleanup_Document_UI_=Cleanup Document
-Format_Document_UI_=Format Document
-Format_Active_Elements_UI_=Format Active Elements
-Text_Cut_UI_=Text Cut
-Text_Paste_UI_=Text Paste
-Source_UI_=Source
-Invalid_Input__Must_be_IFi_ERROR_=IWAK0016E Invalid Input: Must be IFileEditorInput
-An_error_has_occurred_when1_ERROR_=IWAK0017E 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_=IWAK0018E 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_=IWAK0019E The line width must be an integer
-Incorrect_call_UI_=Incorrect call
-1concat_ERROR_=IWAK0020E {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_=IWAK0021E {0} is in use.
-7concat_ERROR_=IWAK0022E One or more characters could not be decoded according to the encoding parameter {1}. Position of first invalid character is {0}.
-8concat_ERROR_=IWAK0023E One or more characters could not be decoded according to the encoding parameter {1}. Position of first invalid character is greater than {0}.
-12concat_ERROR_=IWAK0024E {0}  was in use or open in an editor.
-23concat_EXC_=IWAK0025E Resource {0} does not exist.
-32concat_EXC_=IWAK0026E Editor could not be open on {0}
-Add..._UI_=Add...
-Error_opening_file_UI_=Error opening file
-Error_during_save_UI_=Error during save
-Operation_could_not_be_com_ERROR_=IWAK0027E 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".
-
-#
-_UI_File_is_read_only=File {0} is read-only.
-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})?
-#
-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.
-# 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.
-FileDocumentProvider.task.saving=Saving
-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
-#
-Multiple_errors=Multiple annotations found at this line:
-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_error=Go to Previous Problem
-Next_error=Go to Next Problem
-# 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
-FormatMenu.label=F&ormat
-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
-Information=Information
-PluginAction.operationNotAvailableMessage=The chosen operation is not currently available.
-ShowView.errorTitle=Problems Showing View
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 eefe5e3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/CaretMediator.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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");
-			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 24b5169..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/EditorPlugin.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;
-
-
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-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.plugin.AbstractUIPlugin;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-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.sse.ui.taginfo.TextHoverManager;
-
-
-public class EditorPlugin extends AbstractUIPlugin {
-
-	public final static String ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-
-	static EditorPlugin instance = null;
-
-	public static EditorPlugin getDefault() {
-		return instance;
-	}
-
-	public synchronized static EditorPlugin getInstance() {
-		return instance;
-	}
-
-	/**
-	 * This method is here so that other editor plugins can set Editor
-	 * defaults in their initialzeDefaultPreferences(...) methods.
-	 * 
-	 * @param store
-	 */
-	public static void initializeDefaultEditorPreferences(IPreferenceStore store) {
-		// use the base annotation & quick diff preference page
-		EditorsUI.useAnnotationsPreferencePage(store);
-		EditorsUI.useQuickDiffPreferencePage(store);
-
-		// preferences relative to all sse editors are initialized
-		AbstractDecoratedTextEditorPreferenceConstants.initializeDefaultValues(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);
-		store.setDefault(CommonEditorPreferenceNames.SHOW_QUICK_FIXABLES, true);
-
-		// 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));
-
-		// open file hyperlink navigation is not part of base text editor
-		// preference
-		String mod1Name = Action.findModifierString(SWT.MOD1); // SWT.COMMAND
-		// on Mac;
-		// SWT.CONTROL
-		// elsewhere
-		store.setDefault(CommonEditorPreferenceNames.BROWSER_LIKE_LINKS, true);
-		store.setDefault(CommonEditorPreferenceNames.BROWSER_LIKE_LINKS_KEY_MODIFIER, mod1Name);
-		PreferenceConverter.setDefault(store, CommonEditorPreferenceNames.LINK_COLOR, new RGB(0, 0, 255));
-
-		// 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$
-		store.setDefault(CommonEditorPreferenceNames.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE, true);
-		store.setDefault(CommonEditorPreferenceNames.EDITOR_ANNOTATION_ROLL_OVER, false);
-
-		// 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 TextHoverManager fTextHoverManager;
-
-	public EditorPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		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;
-	}
-
-	/**
-	 * @see AbstractUIPlugin#initializeDefaultPreferences
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-		initializeDefaultEditorPreferences(store);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/FileModelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/FileModelProvider.java
deleted file mode 100644
index 9ec03ba..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/FileModelProvider.java
+++ /dev/null
@@ -1,1100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.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.IModelManagerPlugin;
-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.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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 - no longer used
- */
-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 = ResourceHandler.getString("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) {
-			// get the model manager from the plugin
-			// note: we can use the static "ID" variable, since we pre-req
-			// that plugin
-			IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-			fModelManager = plugin.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;
-
-		EditorPlugin plugin = ((EditorPlugin) Platform.getPlugin(EditorPlugin.ID));
-		AdapterFactoryRegistry adapterRegistry = plugin.getAdapterFactoryRegistry();
-		//Iterator adapterFactoryList =
-		// adapterRegistry.getAdapterFactories();
-		String contentTypeId = structuredModel.getModelHandler().getAssociatedContentTypeId();
-
-		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(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("FileModelProvider.0"), new String[]{fileEditorInput.getName()}); //$NON-NLS-1$
-			info.fStatus = new Status(IStatus.ERROR, EditorPlugin.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 = ResourceHandler.getString("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 = ResourceHandler.getString("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 = ResourceHandler.getString("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, EditorPlugin.ID, 0, ResourceHandler.getString("8concat_ERROR_", (new Object[]{Integer.toString(e.getMaxBuffer()), e.getAttemptedIANAEncoding()})), e); //$NON-NLS-1$
-		else
-			status = new Status(IStatus.ERROR, EditorPlugin.ID, 0, ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("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;
-		EditorPlugin plugin = ((EditorPlugin) Platform.getPlugin(EditorPlugin.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/GotoAnnotationAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/GotoAnnotationAction.java
deleted file mode 100644
index 0a0eebf..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/GotoAnnotationAction.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.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.Platform;
-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.plugin.AbstractUIPlugin;
-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.nls.ResourceHandler;
-
-
-/**
- * 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(ResourceHandler.getResourceBundle(), prefix, null);
-		fForward = forward;
-		fPrefix = prefix;
-		fLabel = ResourceHandler.getResourceBundle().getString(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
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		IWorkbenchWindow window = plugin.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 = Platform.getPlugin(EditorsUI.PLUGIN_ID).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/IModelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/IModelProvider.java
deleted file mode 100644
index b0029e2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/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;
-
-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/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/Logger.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/Logger.java
deleted file mode 100644
index cc6c384..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/Logger.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;
-
-
-
-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;
-
-/**
- * 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 {
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	private static Plugin fPlugin = EditorPlugin.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/org/eclipse/wst/sse/ui/NullModelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/NullModelProvider.java
deleted file mode 100644
index 1fa5aa6..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/NullModelProvider.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.ui;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-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.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-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;
-	}
-
-	/**
-	 * Utility method also used in subclasses
-	 */
-	protected static IModelManager getModelManager() {
-		// get the model manager from the plugin
-		// note: we can use the static "ID" variable, since we pre-req that
-		// plugin
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	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/ReadOnlyAwareDropTargetAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ReadOnlyAwareDropTargetAdapter.java
deleted file mode 100644
index 28e98c2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/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;
-
-
-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/SpellCheckActionWrapper.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/SpellCheckActionWrapper.java
deleted file mode 100644
index 80f65dd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/SpellCheckActionWrapper.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.IPluginDescriptor;
-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.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-/**
- * Spell Check action
- */
-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");
-
-		IPluginDescriptor localDescriptor = Platform.getPluginRegistry().getPluginDescriptor(EditorPlugin.ID);
-		setText(localDescriptor.getResourceString("%Spell_Check_label")); //$NON-NLS-1$
-		setToolTipText(localDescriptor.getResourceString("%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(), ResourceHandler.getString("Information"), //$NON-NLS-1$
-						ResourceHandler.getString("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 6766492..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/SpellCheckTargetImpl.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.IStatus;
-import org.eclipse.core.runtime.Status;
-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.wst.sse.core.IStructuredModel;
-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.util.Assert;
-
-
-/**
- * SpellCheckTargetImpl
- */
-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, EditorPlugin.ID, 0, getMessage(), this);
-		}
-	}
-
-	public static final String ID = "spellchecktarget"; //$NON-NLS-1$
-
-	private SpellChecker checker;
-	private StructuredTextEditor editor;
-	private IFindReplaceTarget target;
-
-	public SpellCheckTargetImpl() {
-		super();
-	}
-
-	/**
-	 * @see ISpellCheckTarget#beginRecording()
-	 */
-	public void beginRecording(Object requester, String label) {
-		if (editor == null)
-			return;
-
-		IStructuredModel model = editor.getModel();
-		if (model == null)
-			return;
-
-		model.beginRecording(requester, label);
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformChange()
-	 */
-	public boolean canPerformChange() {
-		if (editor == null || checker == null || target == null)
-			return false;
-
-		//return target.isEditable() && editor.isEditable() &&
-		// !editor.isEditorInputReadOnly();
-		return target.isEditable() && editor.isEditable();
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformChangeAll()
-	 */
-	public boolean canPerformChangeAll() {
-		return canPerformChange();
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformIgnore()
-	 */
-	public boolean canPerformIgnore() {
-		return (editor != null && checker != null ? true : false);
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformIgnoreAll()
-	 */
-	public boolean canPerformIgnoreAll() {
-		return (editor != null && checker != null ? true : false);
-	}
-
-	/**
-	 * @see ISpellCheckTarget#canPerformSpellCheck()
-	 */
-	public boolean canPerformSpellCheck() {
-		return (editor != null && checker != null ? true : false);
-	}
-
-	/**
-	 * @see ISpellCheckTarget#endRecording()
-	 */
-	public void endRecording(Object requester) {
-		if (editor == null)
-			return;
-
-		IStructuredModel model = editor.getModel();
-		if (model == null)
-			return;
-
-		model.endRecording(requester);
-	}
-
-	/**
-	 * @see ISpellCheckTarget#findAndSelect(int, String)
-	 */
-	public int findAndSelect(int pos, String find) {
-		return (target != null ? target.findAndSelect(pos, find, true, true, true) : -1);
-	}
-
-	/**
-	 * @see ISpellCheckTarget#getAndSelectNextMisspelledElement(boolean)
-	 */
-	public SpellCheckElement getAndSelectNextMisspelledElement(boolean init) throws SpellCheckException {
-		if (checker == null || editor == null || target == null)
-			return null;
-
-		IStructuredModel sm = editor.getModel();
-		IStructuredDocument fm = sm.getStructuredDocument();
-
-		int start;
-		if (init) {
-			start = 0;
-		} else {
-			Point pt = target.getSelection();
-			start = pt.x + pt.y;
-		}
-
-		IStructuredDocumentRegion node = fm.getRegionAtCharacterOffset(start);
-		if (node == null) {
-			return null;
-		}
-
-		ITextRegion startRegion = node.getRegionAtCharacterOffset(start);
-		if (startRegion == null) {
-			return null;
-		}
-
-		boolean skip = true;
-		while (node != null) {
-			ITextRegionList regions = node.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 > node.getStartOffset(r)) {
-							text = node.getText(r);
-							int offset = start - node.getStartOffset(r);
-							for (; offset < text.length(); ++offset) {
-								if (!Character.isLetterOrDigit(text.charAt(offset - 1))) {
-									break;
-								}
-							}
-							text = text.substring(offset);
-						} else {
-							text = node.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;
-								}
-							}
-						}
-					}
-				}
-			}
-			node = node.getNext();
-		}
-
-		return null;
-	}
-
-	/**
-	 * @see ISpellCheckTarget#getOptionDialog()
-	 */
-	public SpellCheckOptionDialog getOptionDialog() {
-		return null;
-	}
-
-	/**
-	 * @see ISpellCheckTarget#getSpellCheckSelectionManager()
-	 */
-	public SpellCheckSelectionManager getSpellCheckSelectionManager() {
-		if ((editor == null) || !(editor.getViewerSelectionManager() instanceof SpellCheckSelectionManager))
-			return null;
-		return (SpellCheckSelectionManager) editor.getViewerSelectionManager();
-	}
-
-	/**
-	 */
-	protected boolean isValidType(String type) {
-		return false;
-	}
-
-	/**
-	 * @see ISpellCheckTarget#replaceSelection(String)
-	 */
-	public void replaceSelection(String text, Shell shell) throws SpellCheckException {
-		if (target == null)
-			return;
-		IStatus status = editor.validateEdit(shell);
-		if (!status.isOK()) {
-			throw new EditorSpellCheckException(status.getMessage());
-		}
-
-		target.replaceSelection(text);
-	}
-
-	/**
-	 * @see ISpellCheckTarget#setSpellChecker(ISpellChecker)
-	 */
-	public void setSpellChecker(SpellChecker checker) {
-		this.checker = checker;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckTarget#setTextEditor(org.eclipse.ui.texteditor.ITextEditor)
-	 */
-	public void setTextEditor(ITextEditor editor) {
-		Assert.isTrue(editor instanceof StructuredTextEditor);
-		this.editor = (StructuredTextEditor) editor;
-		target = (IFindReplaceTarget) editor.getAdapter(IFindReplaceTarget.class);
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StorageModelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StorageModelProvider.java
deleted file mode 100644
index 9b30cdf..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StorageModelProvider.java
+++ /dev/null
@@ -1,670 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.InputStream;
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.Iterator;
-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.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-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.extensions.breakpoint.IExtendedStorageEditorInput;
-import org.eclipse.wst.sse.ui.internal.debug.BreakpointRulerAction;
-import org.eclipse.wst.sse.ui.internal.extension.BreakpointProviderBuilder;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.util.Assert;
-
-
-/**
- * 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;
-	private static IModelManager fModelManager;
-
-	public synchronized static StorageModelProvider getInstance() {
-		if (fInstance == null)
-			fInstance = new StorageModelProvider();
-		return fInstance;
-	}
-
-	/**
-	 * Utility method also used in subclasses
-	 */
-	protected static IModelManager getModelManager() {
-		if (fModelManager == null) {
-			// get the model manager from the plugin
-			// note: we can use the static "ID" variable, since we pre-req
-			// that plugin
-			IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-			fModelManager = plugin.getModelManager();
-		}
-		return fModelManager;
-	}
-
-	protected IElementStateListener fInternalListener;
-	/** IStructuredModel information of all connected elements */
-	private Map fModelInfoMap = new HashMap();
-	private boolean fReuseModelDocument = true;
-
-	protected StorageModelProvider() {
-		super();
-		fInternalListener = new InternalElementStateListener();
-	}
-
-	public void addProviderFactories(IStructuredModel structuredModel) {
-		// (mostly) COPIED FROM FileModelProvider
-		EditorPlugin plugin = ((EditorPlugin) Platform.getPlugin(EditorPlugin.ID));
-		AdapterFactoryRegistry adapterRegistry = plugin.getAdapterFactoryRegistry();
-		Iterator adapterFactoryList = adapterRegistry.getAdapterFactories();
-
-		IFactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
-		Assert.isNotNull(factoryRegistry, "model in invalid state");
-
-		while (adapterFactoryList.hasNext()) {
-			try {
-				AdapterFactoryProvider provider = (AdapterFactoryProvider) adapterFactoryList.next();
-				if (provider.isFor(structuredModel.getModelHandler())) {
-					provider.addAdapterFactories(structuredModel);
-				}
-			} catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-		// END COPY FileModelProvider
-	}
-
-	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)
-					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);
-		}
-
-		addProviderFactories(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 = 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(ResourceHandler.getString("32concat_EXC_", new Object[]{input.getName()}), noStorageExc); //$NON-NLS-1$
-		}
-
-		IStructuredModel model = null;
-		try {
-			// first parameter must be unique
-			model = getModelManager().getModelForEdit(path, contents, null);
-			model.setBaseLocation(input.getName());
-		} catch (IOException e) {
-			if (logExceptions)
-				Logger.logException(ResourceHandler.getString("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/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/StructuredDocumentToTextAdapter.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredDocumentToTextAdapter.java
deleted file mode 100644
index e881713..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredDocumentToTextAdapter.java
+++ /dev/null
@@ -1,1258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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 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$
-		}
-		// no redraw needed if mere region change
-		// unless its one of our embedded regions,
-		// in which case we redraw the whole thing
-		ITextRegion region = structuredDocumentEvent.getRegion();
-		//String type = region.getType();
-
-		// (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/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 b2e9c91..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredMarkerAnnotation.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.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.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 1028a04..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredResourceMarkerAnnotationModelFactory.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.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;
-
-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 ea7875a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextAnnotationHover.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
- *     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.nls.ResourceHandler;
-
-
-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, ResourceHandler.getString("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 20324d3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextEditor.java
+++ /dev/null
@@ -1,2714 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.InputStream;
-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.IResource;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-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.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.WorkbenchHelp;
-import org.eclipse.ui.ide.IDEActionFactory;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-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.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.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.ModelPlugin;
-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.core.util.Utilities;
-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.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.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.openon.OpenFileHyperlinkTracker;
-import org.eclipse.wst.sse.ui.internal.openon.OpenOnAction;
-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.nls.ResourceHandler;
-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.ShowPropertiesAction;
-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, IShowInTargetList {
-
-	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) {
-					getSourceViewer().configure(getSourceViewerConfiguration());
-				}
-			} 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 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$
-
-	/** Non-NLS strings */
-	private static final String EDITOR_KEYBINDING_SCOPE_ID = "org.eclipse.wst.sse.ui.structuredTextEditorScope"; //$NON-NLS-1$
-	private static final String EDITOR_CONTEXT_MENU_ID = "org.eclipse.wst.sse.ui.StructuredTextEditor.context"; //$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 = ResourceHandler.getString("Redo__{0}._UI_"); //$NON-NLS-1$ = "Redo: {0}."
-	private static final String REDO_ACTION_DESC_DEFAULT = ResourceHandler.getString("Redo_Text_Change._UI_"); //$NON-NLS-1$ = "Redo Text Change."
-	private static final String REDO_ACTION_TEXT = ResourceHandler.getString("&Redo_{0}_@Ctrl+Y_UI_"); //$NON-NLS-1$ = "&Redo {0} @Ctrl+Y"
-	private static final String REDO_ACTION_TEXT_DEFAULT = ResourceHandler.getString("&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, EditorPlugin.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, EditorPlugin.ID, IStatus.OK, "OK", null); //$NON-NLS-1$
-
-	/** Translatable strings */
-	private static final String UNDO_ACTION_DESC = ResourceHandler.getString("Undo__{0}._UI_"); //$NON-NLS-1$ = "Undo: {0}."
-	private static final String UNDO_ACTION_DESC_DEFAULT = ResourceHandler.getString("Undo_Text_Change._UI_"); //$NON-NLS-1$ = "Undo Text Change."
-	private static final String UNDO_ACTION_TEXT = ResourceHandler.getString("&Undo_{0}_@Ctrl+Z_UI_"); //$NON-NLS-1$ = "&Undo {0} @Ctrl+Z"
-	private static final String UNDO_ACTION_TEXT_DEFAULT = ResourceHandler.getString("&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;
-	/** The open file hyperlink tracker */
-	private OpenFileHyperlinkTracker fHyperlinkTracker;
-	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 SpellCheckTarget fSpellCheckTarget = 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);
-	}
-
-	/**
-	 * @deprecated
-	 */
-	public StructuredTextEditor(boolean forceReadOnly2) {
-	}
-
-	/*
-	 * 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);
-		}
-	}
-
-	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 = ResourceHandler.getString("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.VIEW_EXT, 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);
-			}
-		}
-	}
-
-	/**
-	 * Compute and set double-click action for the source editor, depending on
-	 * the model being used.
-	 */
-	protected void computeAndSetDoubleClickAction(IStructuredModel model) {
-		if (model == null)
-			return;
-		// If we're editing a JSP file, make
-		// double-clicking on the ruler set
-		// a breakpoint instead of setting a bookmark.
-		String ext = BreakpointRulerAction.getFileExtension(getEditorInput());
-		if (BreakpointProviderBuilder.getInstance().isAvailable(model.getContentTypeIdentifier(), ext)) {
-			setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, getAction(ActionDefinitionIds.ADD_BREAKPOINTS));
-		} else {
-			// note: the following set action to bookmarks
-			// (normally the
-			// default)
-			// is normally set in super 'createActions'
-			// method,
-			// [which is just called once, during init],
-			// but we'll put it
-			// here in this else clause too. The only time
-			// it would really be
-			// needed is if
-			// the same instance of the editor
-			// was used first to edit an JSP model, then
-			// used for non-JSP model
-			// (e.g. XHTML) ...
-			// which should be rare, but it is technically
-			// possible when using
-			// frames
-			// and may be more common in future versions
-			setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, getAction(IDEActionFactory.BOOKMARK.getId()));
-		}
-	}
-
-	/*
-	 * (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 = ResourceHandler.getResourceBundle();
-		// 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);
-		WorkbenchHelp.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);
-		WorkbenchHelp.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);
-		WorkbenchHelp.setHelp(action, IAbstractTextEditorHelpContextIds.DELETE_ACTION);
-		// SourceView Action - requesting information at
-		// the current insertion
-		// position
-		action = new TextOperationAction(ResourceHandler.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);
-		WorkbenchHelp.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(ResourceHandler.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);
-		WorkbenchHelp.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);
-		WorkbenchHelp.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.ADD_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 OpenOnAction(resourceBundle, StructuredTextEditorActionConstants.ACTION_NAME_OPEN_FILE + DOT, this);
-		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 = ((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).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 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, SSE v6: 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());
-
-		if (isBrowserLikeLinks())
-			enableBrowserLikeLinks();
-	}
-
-	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
-	 */
-	protected String[] createShowInTargetIds() {
-		List allIds = new ArrayList(0);
-		ExtendedConfigurationBuilder builder = ExtendedConfigurationBuilder.getInstance();
-		String[] configurationIds = getConfigurationPoints();
-		for (int i = 0; i < configurationIds.length; i++) {
-			IConfigurationElement el = builder.getConfigurationElement("showintarget", configurationIds[i]); //$NON-NLS-1$
-			if (el != null) {
-				String someIds = el.getAttribute("ids"); //$NON-NLS-1$
-				if (someIds != null && someIds.length() > 0) {
-					String[] ids = StringUtils.unpack(someIds);
-					for (int j = 0; j < ids.length; j++) {
-						// trim, just to keep things clean
-						String id = ids[j].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$
-		}
-		cfg.setEditorPart(this);
-		return cfg;
-	}
-
-	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);
-	}
-
-	/**
-	 * Disables browser like links.
-	 */
-	private void disableBrowserLikeLinks() {
-		if (fHyperlinkTracker != null) {
-			fHyperlinkTracker.uninstall();
-			fHyperlinkTracker = null;
-		}
-	}
-
-	/**
-	 * @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;
-		}
-
-		if (isBrowserLikeLinks())
-			disableBrowserLikeLinks();
-
-		// 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);
-			}
-		}
-		// check if we've been canceled ... that is,
-		// changes to model
-		// have not been saved. If so, and if someone else
-		// is sharing
-		// us in read mode, then we need to force a reload
-		// of model.
-		IStructuredModel model = fStructuredModel;
-		model.releaseFromEdit();
-
-		// disabled==the IDocument form may still be in use by others
-		//		boolean needReload = isDirty() && (model.getReferenceCountForEdit()
-		// == 0) && (model.getReferenceCountForRead() > 0);
-		//		IEditorInput input = getEditorInput();
-		//		if (needReload) {
-		//			doReload(model, input);
-		//		}
-		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$
-	}
-
-	/**
-	 * 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();
-			}
-		}
-	}
-
-	/**
-	 * This method is marked as public temporarily for Page Designer to fix a
-	 * validateEdit problem. This method should not be used by anyone else as
-	 * it may be removed in a future release. Please let us know if you think
-	 * you really need this.
-	 * 
-	 * @deprecated
-	 */
-	public void doReload(IStructuredModel model, IEditorInput input) {
-		if (input instanceof IFileEditorInput)
-			doReload(model, input);
-		else if (input instanceof IStorageEditorInput) {
-			InputStream inStream = null;
-			try {
-				inStream = Utilities.getMarkSupportedStream(((IStorageEditorInput) input).getStorage().getContents());
-			} catch (CoreException ce) {
-				// no op
-			}
-			try {
-				model.reload(inStream);
-			} catch (IOException e) {
-				// shouldn't be possible for IStorage.
-			}
-		}
-	}
-
-	/**
-	 * @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) {
-		FileModelProvider fileModelProvider = null;
-		try {
-			getModel().aboutToChangeModel();
-			updateEncodingMemento();
-			IDocumentProvider documentProvider = getDocumentProvider();
-			if (documentProvider instanceof FileModelProvider) {
-				fileModelProvider = (FileModelProvider) documentProvider;
-				fileModelProvider.setActiveShell(this.getDisplay().getActiveShell());
-			}
-			super.doSave(progressMonitor);
-		} finally {
-			getModel().changedModel();
-			if (fileModelProvider != null) {
-				fileModelProvider.setActiveShell(null);
-			}
-		}
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.AbstractTextEditor#doSetInput(org.eclipse.ui.IEditorInput)
-	 */
-	protected void doSetInput(IEditorInput input) throws CoreException {
-		try {
-			if (isBrowserLikeLinks())
-				disableBrowserLikeLinks();
-
-			// 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));
-			}
-
-			if (isBrowserLikeLinks()) {
-				enableBrowserLikeLinks();
-			}
-
-			IStructuredModel model = null;
-			// if we have a Model provider, get the model
-			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");
-				model = ModelPlugin.getDefault().getModelManager().getExistingModelForEdit(doc);
-				if (model == null) {
-					model = ModelPlugin.getDefault().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);
-	}
-
-	/**
-	 * Enables browser like links.
-	 */
-	private void enableBrowserLikeLinks() {
-		if (fHyperlinkTracker == null) {
-			fHyperlinkTracker = new OpenFileHyperlinkTracker(getSourceViewer());
-			fHyperlinkTracker.setHyperlinkPreferenceKeys(CommonEditorPreferenceNames.LINK_COLOR, CommonEditorPreferenceNames.BROWSER_LIKE_LINKS_KEY_MODIFIER);
-			fHyperlinkTracker.install(getPreferenceStore());
-		}
-	}
-
-	/**
-	 * 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 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 (SpellCheckTarget.class.equals(required)) {
-			result = getSpellCheckTarget();
-		} else if (SourceEditingTextTools.class.equals(required)) {
-			result = createSourceEditingTextTools();
-		} 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);
-	}
-
-	/**
-	 * IExtendedMarkupEditorExtension method
-	 */
-	public Node getCursorNode() {
-		if (getModel() != null)
-			return (Node) getModel().getIndexedRegion(getCursorOffset());
-		else
-			return null;
-	}
-
-	/**
-	 * IExtendedMarkupEditorExtension method
-	 */
-	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;
-	}
-
-	/**
-	 * @return the IFile from the currently active editor
-	 */
-	public IFile getFileInEditor() {
-		IStructuredModel model = getModel();
-		return ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(new Path(model.getBaseLocation()));
-	}
-
-	/**
-	 * Subclasses should override to allow find occurrences for different
-	 * region types.
-	 * 
-	 * @return
-	 */
-	protected String[] getFindOccurrencesRegionTypes() {
-		return new String[0];
-	}
-
-	private InternalModelStateListener getInternalModelStateListener() {
-		if (fInternalModelStateListener == null) {
-			fInternalModelStateListener = new InternalModelStateListener();
-		}
-		return fInternalModelStateListener;
-	}
-
-	/**
-	 * 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);
-				IStructuredModel model = ModelPlugin.getDefault().getModelManager().getExistingModelForEdit(doc);
-				if (model == null) {
-					model = ModelPlugin.getDefault().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;
-	}
-
-	/**
-	 * @deprecated
-	 */
-	protected IDocumentProvider getModelProviderFor(IEditorInput input) {
-		if (input instanceof IFileEditorInput) {
-			return FileModelProvider.getInstance();
-		} else if (input instanceof IStorageEditorInput) {
-			return StorageModelProvider.getInstance();
-		} else {
-			return NullModelProvider.getInstance();
-		}
-	}
-
-	/**
-	 * Computes the document offset underlying the given text widget graphics
-	 * coordinates.
-	 * 
-	 * @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();
-	}
-
-	/**
-	 * @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;
-	}
-
-	/**
-	 * @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();
-	}
-
-	/**
-	 * 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;
-	}
-
-	public SpellCheckTarget getSpellCheckTarget() {
-		if (fSpellCheckTarget == null) {
-			fSpellCheckTarget = createSpellCheckTarget();
-		}
-		return fSpellCheckTarget;
-	}
-
-	private IStatusLineManager getStatusLineManager() {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		IWorkbenchWindow window = plugin.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();
-	}
-
-	public ViewerSelectionManager getViewerSelectionManager() {
-		if (getTextViewer() != null)
-			return getTextViewer().getViewerSelectionManager();
-		return null;
-		//if (fViewerSelectionManager == null) {
-		////
-		//// its required to pass along the underlying
-		// widget so that the
-		// ViewerSectionManager
-		//// can listen to changes in it, via the
-		// CaretMediator
-		//// Note: the getViewer != null check was put in
-		// to avoid a null
-		// pointer, if in fact
-		//// there was an error that prevented complete
-		// instantiation.
-		//if (fTextViewer != null) {
-		//StyledText textWidget =
-		// fTextViewer.getTextWidget();
-		//fViewerSelectionManager = new
-		// ViewerSelectionManagerImpl(fTextViewer);
-		//}
-		//}
-		//return fViewerSelectionManager;
-	}
-
-	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();
-		}
-		if (CommonEditorPreferenceNames.BROWSER_LIKE_LINKS.equals(property)) {
-			if (isBrowserLikeLinks())
-				enableBrowserLikeLinks();
-			else
-				disableBrowserLikeLinks();
-			return;
-		}
-		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});
-	}
-
-	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();
-	}
-
-	/**
-	 * Return whether the browser like links should be enabled according to
-	 * the preference store settings.
-	 * 
-	 * @return <code>true</code> if the browser like links should be enabled
-	 */
-	private boolean isBrowserLikeLinks() {
-		IPreferenceStore store = getPreferenceStore();
-		return store.getBoolean(CommonEditorPreferenceNames.BROWSER_LIKE_LINKS);
-	}
-
-	/*
-	 * @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();
-	}
-
-	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 = Platform.getPlugin("org.eclipse.ui.editors").getPluginPreferences(); //$NON-NLS-1$
-		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.ADD_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;
-	}
-
-	/**
-	 * 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))
-			WorkbenchHelp.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);
-			}
-		}
-		if (getDocumentProvider() instanceof FileModelProvider)
-			((FileModelProvider) getDocumentProvider()).createModelInfo(input, newModel, false);
-		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);
-		}
-	}
-
-	protected 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);
-//		String detectedEncoding = null;
-		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();
-		if ((configuration == null) || !(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);
-			}
-		}
-		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();
-			}
-		}
-		// 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);
-		//			}
-		//
-		//		}
-	}
-
-	public IStatus validateEdit(Shell context) {
-		IStatus status = STATUS_OK;
-		IEditorInput input = getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			if (input == null) {
-				String msg = ResourceHandler.getString("Error_opening_file_UI_"); //$NON-NLS-1$
-				status = new Status(IStatus.ERROR, EditorPlugin.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 = ResourceHandler.getString("_UI_File_is_read_only", new Object[]{fname}); //$NON-NLS-1$ = "File {0}is read-only."
-					status = new Status(IStatus.ERROR, EditorPlugin.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.getPlugin(PlatformUI.PLUGIN_ID).getLog();
-				log.log(x.getStatus());
-				statusError(x.getStatus());
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextLineBreakingReader.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextLineBreakingReader.java
deleted file mode 100644
index 45e5276..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/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;
-
-
-
-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/StructuredTextReconciler.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextReconciler.java
deleted file mode 100644
index 2e40468..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextReconciler.java
+++ /dev/null
@@ -1,853 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.core.runtime.Platform;
-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.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.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.ModelLifecycleEvent;
-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.reconcile.IStructuredReconcilingStrategy;
-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.
- * 
- * @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 StructuredTextReconciler
-	 */
-	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 = ((IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID)).getModelManager();
-		return this.fModelManager;
-	}
-
-	/**
-	 * 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 of a dirty region
-	 * 
-	 * @param dirtyRegion
-	 * @return
-	 */
-	protected String[] getPartitions(DirtyRegion dirtyRegion) {
-		ITypedRegion[] regions = getPartitioner().computePartitioning(dirtyRegion.getOffset(), dirtyRegion.getLength());
-		String[] partitions = new String[regions.length];
-		for (int i = 0; i < regions.length; i++)
-			partitions[i] = regions[i].getType();
-		return partitions;
-	}
-
-	/**
-	 * 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 = getStructuredModelForRead(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] >StructuredTextReconciler: *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();
-
-		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] >StructuredTextReconciler: PROCESSING ALL"); //$NON-NLS-1$
-		IDocument doc = getDocument();
-		DirtyRegion durty = null;
-		ITypedRegion tr[] = doc.getDocumentPartitioner().computePartitioning(0, doc.getLength());
-		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 IStructuredReconcilingStrategy)
-					((IStructuredReconcilingStrategy) s).reconcile(durty, durty, true);
-				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, true);
-		}
-		// 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[] = doc.getDocumentPartitioner().computePartitioning(durty.getOffset(), durty.getLength());
-		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, false);
-		}
-		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 = getStructuredModelForRead(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("StructuredTextReconciler: 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] >StructuredTextReconciler: *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] >StructuredTextReconciler: *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 IStructuredReconcilingStrategy)
-				((IStructuredReconcilingStrategy) 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 = getStructuredModelForRead(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 15e4d81..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewer.java
+++ /dev/null
@@ -1,1161 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.core.runtime.Platform;
-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.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.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.plugin.AbstractUIPlugin;
-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.nls.ResourceHandler;
-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 = ResourceHandler.getString("Format_Active_Elements_UI_"); //$NON-NLS-1$
-	public static final int FORMAT_DOCUMENT = ISourceViewer.INFORMATION + 2;
-
-	private static final String FORMAT_DOCUMENT_TEXT = ResourceHandler.getString("Format_Document_UI_"); //$NON-NLS-1$
-	public static final int QUICK_FIX = ISourceViewer.INFORMATION + 4;
-	private static final String TEXT_CUT = ResourceHandler.getString("Text_Cut_UI_"); //$NON-NLS-1$
-	private static final String TEXT_PASTE = ResourceHandler.getString("Text_Paste_UI_"); //$NON-NLS-1$
-	private static final String TEXT_SHIFT_LEFT = ResourceHandler.getString("Text_Shift_Left_UI_"); //$NON-NLS-1$ = "Text Shift Left"
-	private static final String TEXT_SHIFT_RIGHT = ResourceHandler.getString("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 (!((IStructuredDocument) doc).containsReadOnly(getSelectedRange().x, 0));
-				}
-				break;
-			}
-			case CONTENTASSIST_CONTEXT_INFORMATION : {
-				return true;
-			}
-			case QUICK_FIX : {
-				return true;
-			}
-			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) {
-				((StructuredTextReconciler) fReconciler).setIsIncrementalReconciler(false);
-				fReconciler.install(this);
-				// https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=3858
-				// still need set document on the reconciler (strategies)
-				((StructuredTextReconciler) fReconciler).setDocument(getDocument());
-				((StructuredTextReconciler) fReconciler).setIsIncrementalReconciler(true);
-			}
-		}
-
-		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));
-		// 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) {
-					// 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 :
-				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() {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		IWorkbenchWindow window = plugin.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();
-			}
-		}
-
-		// by setting not incremental before setting document
-		// we can ensure that the AbstractReconciler will not add to its
-		// dirty region queue which the UI thread will wait for to empty
-		// before the editor comes up
-		if (fReconciler != null && document != null) {
-			((StructuredTextReconciler) fReconciler).setIsIncrementalReconciler(false);
-			fReconciler.install(this);
-		}
-
-		super.setDocument(document, annotationModel, modelRangeOffset, modelRangeLength);
-
-		if (fReconciler != null && document != null) {
-			// set back to incremental after the editor is up
-			// after "bypassing"
-			// AbstractReconciler.BackgroundThread#suspendCallerWhileDirty(...)
-			// and all other listeners are hooked up
-			((StructuredTextReconciler) fReconciler).setIsIncrementalReconciler(true);
-		}
-
-		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) {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		IWorkbenchWindow window = plugin.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();
-
-		// 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 8f4d08d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/StructuredTextViewerConfiguration.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
- *     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.core.runtime.Platform;
-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.presentation.IPresentationReconciler;
-import org.eclipse.jface.text.source.IAnnotationHover;
-import org.eclipse.jface.text.source.ISourceViewer;
-import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-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.IExtendedConfiguration;
-import org.eclipse.wst.sse.ui.internal.editor.HTMLTextPresenter;
-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 TextViewer that shows Structured Text (XML)
- */
-public class StructuredTextViewerConfiguration extends SourceViewerConfiguration implements IExtendedConfiguration {
-
-	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 StructuredTextReconciler 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;
-	}
-
-	/**
-	 * Content assist processors should be added to the ContentAssistant via
-	 * this method so that they are initialized/released properly.
-	 * 
-	 * @param ca
-	 * @param processor
-	 * @param partitionType
-	 */
-	public void addContentAssistProcessor(ContentAssistant ca, IContentAssistProcessor processor, String partitionType) {
-
-		// save for reinit and release
-		fContentAssistProcessors.add(processor);
-		if (processor instanceof IResourceDependentProcessor)
-			((IResourceDependentProcessor) processor).initialize(fResource);
-		ca.setContentAssistProcessor(processor, partitionType);
-	}
-
-	public void configureOn(IResource resource) {
-
-		fResource = resource;
-		updateForResource();
-	}
-
-	protected ValidatorStrategy createValidatorStrategy(String contentTypeId) {
-
-		ValidatorStrategy validatorStrategy = new ValidatorStrategy((ITextEditor) editorPart, 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();
-	}
-
-	/*
-	 * @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 = EditorPlugin.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();
-			// 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 acutual
-		// content
-		// type (for example, made specifc for HTML vs. XML). I think it would
-		// be little
-		// imact to create a new instance each time.
-		if (fHighlighter != null) {
-			fHighlighter.uninstall();
-		} else {
-			fHighlighter = new Highlighter();
-		}
-		// allowed 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;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getTabWidth(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public int getTabWidth(ISourceViewer sourceViewer) {
-		return ((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).getPreferenceStore().getInt(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH);
-	}
-
-	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;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getUndoManager(org.eclipse.jface.text.source.ISourceViewer)
-	 */
-	public IUndoManager getUndoManager(ISourceViewer sourceViewer) {
-		return new StructuredTextViewerUndoManager();
-	}
-
-	/*
-	 * (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's any processor's 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);
-			}
-		}
-	}
-}
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/TextFileModelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/TextFileModelProvider.java
deleted file mode 100644
index 2204d89..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/TextFileModelProvider.java
+++ /dev/null
@@ -1,465 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-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.IFileEditorInput;
-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.TextFileDocumentProvider;
-import org.eclipse.ui.texteditor.IElementStateListener;
-import org.eclipse.wst.sse.core.IFactoryRegistry;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IExtendedStorageEditorInput;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
-import org.eclipse.wst.sse.ui.util.Assert;
-
-
-/**
- * A TextFileDocumentProvider that is IStructuredModel aware. This
- * implementation is marked as final since it will change significantly in C4,
- * possibly even be removed.
- * 
- * @deprecated - no longer used
- */
-public final class TextFileModelProvider extends TextFileDocumentProvider implements IModelProvider {
-
-	/**
-	 * Collection of info that goes with a model.
-	 */
-	protected class ModelInfo {
-		public IAnnotationModel fAnnotationModel;
-		public IEditorInput fElement;
-		public boolean fShouldReleaseOnInfoDispose;
-		public IStructuredModel fStructuredModel;
-
-		public ModelInfo(IStructuredModel structuredModel, IEditorInput element, IAnnotationModel model, boolean selfCreated) {
-			fElement = element;
-			fStructuredModel = structuredModel;
-			fAnnotationModel = model;
-			fShouldReleaseOnInfoDispose = selfCreated;
-		}
-	}
-
-	private static TextFileModelProvider fInstance = null;
-	private static IModelManager fModelManager;
-
-	public synchronized static TextFileModelProvider getInstance() {
-		if (fInstance == null)
-			fInstance = new TextFileModelProvider();
-		return fInstance;
-	}
-
-	/**
-	 * Utility method also used in subclasses
-	 */
-	protected static IModelManager getModelManager() {
-		if (fModelManager == null) {
-			// get the model manager from the plugin
-			// note: we can use the static "ID" variable, since we pre-req
-			// that plugin
-			IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-			fModelManager = plugin.getModelManager();
-		}
-		return fModelManager;
-	}
-
-	protected IElementStateListener fInternalListener;
-	/** IStructuredModel information of all connected elements */
-	private Map fModelInfoMap = new HashMap();
-
-	protected TextFileModelProvider() {
-		super();
-	}
-
-	public void addProviderFactories(IStructuredModel structuredModel) {
-		// (mostly) COPIED FROM FileModelProvider
-		EditorPlugin plugin = ((EditorPlugin) Platform.getPlugin(EditorPlugin.ID));
-		AdapterFactoryRegistry adapterRegistry = plugin.getAdapterFactoryRegistry();
-		Iterator adapterFactoryList = adapterRegistry.getAdapterFactories();
-
-		IFactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
-		Assert.isNotNull(factoryRegistry, "model in invalid state");
-
-		while (adapterFactoryList.hasNext()) {
-			try {
-				AdapterFactoryProvider provider = (AdapterFactoryProvider) adapterFactoryList.next();
-				if (provider.isFor(structuredModel.getModelHandler())) {
-					provider.addAdapterFactories(structuredModel);
-				}
-			} catch (Exception e) {
-				Logger.logException(e);
-			}
-		}
-		// END COPY FileModelProvider
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.editors.text.TextFileDocumentProvider#commitFileBuffer(org.eclipse.core.runtime.IProgressMonitor,
-	 *      org.eclipse.ui.editors.text.TextFileDocumentProvider.FileInfo,
-	 *      boolean)
-	 */
-	protected void commitFileBuffer(IProgressMonitor monitor, FileInfo info, boolean overwrite) throws CoreException {
-		IStructuredModel model = getModel(info.fElement);
-		if (model != null) {
-			String contents = model.getStructuredDocument().get();
-			info.fTextFileBuffer.getDocument().set(contents);
-		}
-		super.commitFileBuffer(monitor, info, overwrite);
-	}
-
-	protected String computePath(IEditorInput 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 {
-			if (input instanceof IStorageEditorInput) {
-				IStorage storage = ((IStorageEditorInput) 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)
-						path = storagePath.makeAbsolute().toString();
-					if (path == null)
-						path = name;
-				}
-			} else if (input.getAdapter(ILocationProvider.class) != null) {
-				IPath locationPath = ((ILocationProvider) input.getAdapter(ILocationProvider.class)).getPath(input);
-				if (locationPath != null) {
-					path = locationPath.toString();
-				}
-			}
-
-		} catch (CoreException e) {
-			Logger.logException(e);
-			return null;
-		} finally {
-			if (path == null)
-				path = ""; //$NON-NLS-1$
-		}
-		if (addHash)
-			path = input.hashCode() + path;
-		return path;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.editors.text.TextFileDocumentProvider#createAnnotationModel(org.eclipse.core.resources.IFile)
-	 */
-	protected IAnnotationModel createAnnotationModel(IFile file) {
-		String id = file.getFullPath().toString();
-		IAnnotationModel model = new StructuredResourceMarkerAnnotationModel(file, id);
-		IEditorInput input = null;
-		Iterator i = getConnectedElementsIterator();
-		while (input == null && i.hasNext()) {
-			FileInfo info = (FileInfo) i.next();
-			if (getSystemFile(info).equals(file)) {
-				input = (IEditorInput) info.fElement;
-			}
-		}
-		ModelInfo modelInfo = getModelInfoFor(input);
-		modelInfo.fAnnotationModel = model;
-		return model;
-	}
-
-	/**
-	 * Also create ModelInfo - extra resource synchronization classes should
-	 * be stored within the ModelInfo
-	 */
-	protected FileInfo createFileInfo(Object element) throws CoreException {
-		FileInfo info = super.createFileInfo(element);
-		// create the corresponding ModelInfo if necessary
-		if (getModelInfoFor((IEditorInput) element) == null) {
-			createModelInfo((IEditorInput) element);
-		}
-
-		return info;
-	}
-
-	public void createModelInfo(IEditorInput input) {
-		if (getModelInfoFor(input) == null) {
-			IStructuredModel structuredModel = selfCreateModel(input);
-			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)
-			return;
-
-		if (input instanceof IExtendedStorageEditorInput) {
-			((IExtendedStorageEditorInput) input).addElementStateListener(fInternalListener);
-		}
-
-		addProviderFactories(structuredModel);
-
-		ModelInfo modelInfo = new ModelInfo(structuredModel, input, null, releaseModelOnDisconnect);
-		// to help with downstream usage, create a dummy/"null" annotation
-		// model
-		if (!(input instanceof IFileEditorInput)) {
-			modelInfo.fAnnotationModel = new AnnotationModel();
-		}
-		fModelInfoMap.put(input, modelInfo);
-	}
-
-	protected void disposeFileInfo(Object element, FileInfo info) {
-		if (element instanceof IEditorInput) {
-			IEditorInput input = (IEditorInput) element;
-			ModelInfo modelInfo = getModelInfoFor(input);
-			disposeModelInfo(modelInfo);
-		}
-		super.disposeFileInfo(element, info);
-	}
-
-	/**
-	 * disconnect from this model info
-	 * 
-	 * @param info
-	 */
-	public void disposeModelInfo(ModelInfo info) {
-		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);
-	}
-
-	/**
-	 * @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);
-	}
-
-	/**
-	 * Overridden to use ModelInfo's annotation model
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#getAnnotationModel(java.lang.Object)
-	 */
-	public IAnnotationModel getAnnotationModel(Object element) {
-		// override behavior an retrieve the annotation model from the model
-		// info
-		ModelInfo info = getModelInfoFor((IEditorInput) element);
-		if (info != null)
-			return info.fAnnotationModel;
-		return null;
-	}
-
-	public IDocument getDocument(Object element) {
-		IDocument document = null;
-
-		IStructuredModel model = getModel(element);
-		if (model != null)
-			document = model.getStructuredDocument();
-
-		return document;
-	}
-
-	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) {
-		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;
-	}
-
-	/**
-	 * @param input
-	 * @return
-	 */
-	private File getSystemFile(IEditorInput input) {
-		File file = null;
-		ILocationProvider provider = (ILocationProvider) input.getAdapter(ILocationProvider.class);
-		if (provider != null) {
-			IPath fullPath = provider.getPath(input);
-			if (fullPath != null) {
-				file = fullPath.toFile();
-			}
-		}
-		return file;
-	}
-
-	/**
-	 * Method loadModel.
-	 * 
-	 * @param input
-	 * @return IStructuredModel
-	 */
-	public IStructuredModel loadModel(IEditorInput input) {
-		return loadModel(input, false);
-	}
-
-	/**
-	 * Method loadModel.
-	 * 
-	 * @param input
-	 * @param logExceptions
-	 * @return IStructuredModel
-	 */
-	public IStructuredModel loadModel(IEditorInput input, boolean logExceptions) {
-		InputStream contents = null;
-		IStructuredModel model = null;
-		File file = getSystemFile(input);
-		if (file != null) {
-			String path = file.getAbsolutePath();
-			try {
-				contents = new FileInputStream(file);
-				// first parameter must be unique
-				model = getModelManager().getModelForEdit(path, contents, null);
-				model.setBaseLocation(path);
-			} catch (IOException e) {
-				if (logExceptions)
-					Logger.logException(ResourceHandler.getString("32concat_EXC_", new Object[]{input}), e); //$NON-NLS-1$
-			}
-			try {
-				contents.close();
-			} catch (Exception e1) {
-				// do nothing, this is just to ensure the resource isn't held
-				// open
-			}
-		}
-		return model;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.texteditor.IDocumentProvider#resetDocument(java.lang.Object)
-	 */
-	public void resetDocument(Object element) throws CoreException {
-		super.resetDocument(element);
-		FileInfo info = getFileInfo(element);
-		File file = getSystemFile(info);
-		if (file != null && file.exists()) {
-			IStructuredModel model = getModel(element);
-			InputStream fis = null;
-			try {
-				fis = new FileInputStream(file);
-			} catch (FileNotFoundException e) {
-				// possibly nothing if the file was deleted, shouldn't happen
-				// otherwise
-			}
-			if (fis != null) {
-				String oldContents = model.getStructuredDocument().get();
-				try {
-					model.reload(fis);
-					info.fTextFileBuffer.getDocument().set(model.getStructuredDocument().get());
-				} catch (IOException e1) {
-					Logger.logException("Exception caught reloading model from " + file.getName(), e1); //$NON-NLS-1$
-					model.getStructuredDocument().set(oldContents);
-				}
-			}
-		}
-	}
-
-	/**
-	 * @param input
-	 * @return
-	 */
-	protected IStructuredModel selfCreateModel(IEditorInput input) {
-		return loadModel(input);
-	}
-}
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/ViewerSelectionManagerImpl.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ViewerSelectionManagerImpl.java
deleted file mode 100644
index 2187ec5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/ViewerSelectionManagerImpl.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.sse.ui;
-
-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.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/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 63d32bb..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.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 6221d06..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/contentproperties/ui/ContentSettingsPropertyPage.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
- *     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.Platform;
-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.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-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.nls.ResourceHandler;
-
-
-
-public abstract class ContentSettingsPropertyPage extends PropertyPage {
-	private static final IStatus STATUS_ERROR = new Status(IStatus.ERROR, EditorPlugin.ID, IStatus.INFO, "ERROR", null); //$NON-NLS-1$
-
-	// for validateEdit()
-	private static final IStatus STATUS_OK = new Status(IStatus.OK, EditorPlugin.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) {
-			IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-			IModelManager manager = plugin.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 = ResourceHandler.getString("UI_CSS_profile___2"); //$NON-NLS-1$
-	protected final String DEVICE_LABEL = ResourceHandler.getString("UI_Target_Device___3"); //$NON-NLS-1$
-
-	protected final String DOCUMENT_LABEL = ResourceHandler.getString("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(ResourceHandler.getString("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 214c98c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ActionContributor.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.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.ide.IDEActionFactory;
-import org.eclipse.ui.texteditor.BasicTextEditorActionContributor;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
-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.nls.ResourceHandler;
-
-
-/**
- * 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 BasicTextEditorActionContributor implements ISourceViewerActionBarContributor, IExtendedContributor {
-	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;
-	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 = ResourceHandler.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(ResourceHandler.getString("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_error", false); //$NON-NLS-1$
-		fPreviousAnnotation.setActionDefinitionId("org.eclipse.ui.navigate.previous"); //$NON-NLS-1$
-
-		fNextAnnotation = new GotoAnnotationAction("Next_error", 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);
-	}
-
-	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 = ResourceHandler.getString("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) {
-	}
-
-	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) {
-			// register actions that have a dynamic editor.
-			actionBars.setGlobalActionHandler(ActionFactory.NEXT.getId(), fNextAnnotation); // is
-			// this
-			// the
-			// corrent
-			// mapping?
-			actionBars.setGlobalActionHandler(ActionFactory.PREVIOUS.getId(), fPreviousAnnotation); // is
-			// this
-			// the
-			// corrent
-			// mapping?
-
-			actionBars.setGlobalActionHandler(ITextEditorActionDefinitionIds.GOTO_NEXT_ANNOTATION, fNextAnnotation);
-			actionBars.setGlobalActionHandler(ITextEditorActionDefinitionIds.GOTO_PREVIOUS_ANNOTATION, fPreviousAnnotation);
-
-			IStatusLineManager statusLineManager = actionBars.getStatusLineManager();
-			if (statusLineManager != null) {
-				statusLineManager.setMessage(null);
-				statusLineManager.setErrorMessage(null);
-			}
-			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);
-		}
-	}
-
-	/*
-	 * (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 c23e862..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 ADD_BREAKPOINTS = "org.eclipse.wst.sse.ui.add.breakpoints";//$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.manage.breakpoints";//$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 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 f5930fb..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/BasicAutoEditStrategy.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.edit.util;
-
-import org.eclipse.core.runtime.Platform;
-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.plugin.AbstractUIPlugin;
-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() {
-		AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
-		IWorkbenchWindow window = plugin.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 46c747b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/CleanupAction.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.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.nls.ResourceHandler;
-
-
-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, ResourceHandler.getString("Cleanup_Document_UI_"), ResourceHandler.getString("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 c6163a7..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToCRActionDelegate.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.edit.util;
-
-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 6f3e1b9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToCRLFActionDelegate.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 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.EditorPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-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(EditorPlugin.ID, IStatus.ERROR, ResourceHandler.getString("ConvertLineDelimitersToCRLFActionDelegate.errorStatusMessage"), null); //$NON-NLS-1$
-			}
-
-			return status;
-		}
-
-	}
-
-	private MultiStatus fErrorStatus = new MultiStatus(EditorPlugin.ID, IStatus.ERROR, ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{file.getName()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.ID, IStatus.ERROR, message, e));
-		} catch (BadLocationException e) {
-			String message = MessageFormat.format(ResourceHandler.getString("ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{file.getName()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.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(ResourceHandler.getString("ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{resource.getFullPath().toString()}); //$NON-NLS-1$
-				fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.ID, IStatus.ERROR, message, e));
-			}
-		}
-	}
-
-	protected Job getJob() {
-		return new ConvertLineDelimitersJob(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{file.getName()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.ID, IStatus.ERROR, message, e));
-		} catch (CoreException e) {
-			String message = MessageFormat.format(ResourceHandler.getString("ConvertLineDelimitersToCRLFActionDelegate.4"), new String[]{file.getName()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.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 25c3adf..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/ConvertLineDelimitersToLFActionDelegate.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.edit.util;
-
-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 ddcb228..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/FormatActionDelegate.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.ui.edit.util;
-
-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.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.EditorPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.extension.FormatProcessorsExtensionReader;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-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(EditorPlugin.ID, IStatus.ERROR, ResourceHandler.getString("FormatActionDelegate.errorStatusMessage"), null); //$NON-NLS-1$
-			}
-
-			return status;
-		}
-
-	}
-
-	private MultiStatus fErrorStatus = new MultiStatus(EditorPlugin.ID, IStatus.ERROR, ResourceHandler.getString("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 = MessageFormat.format(ResourceHandler.getString("FormatActionDelegate.3"), new String[]{file.getFullPath().toString()}); //$NON-NLS-1$
-				monitor.subTask(message);
-				formatProcessor.setProgressMonitor(monitor);
-				formatProcessor.formatFile(file);
-			}
-		} catch (MalformedInputExceptionWithDetail e) {
-			String message = MessageFormat.format(ResourceHandler.getString("FormatActionDelegate.5"), new String[]{file.getFullPath().toString()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.ID, IStatus.ERROR, message, e));
-		} catch (IOException e) {
-			String message = MessageFormat.format(ResourceHandler.getString("FormatActionDelegate.4"), new String[]{file.getFullPath().toString()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.ID, IStatus.ERROR, message, e));
-		} catch (CoreException e) {
-			String message = MessageFormat.format(ResourceHandler.getString("FormatActionDelegate.4"), new String[]{file.getFullPath().toString()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.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 = MessageFormat.format(ResourceHandler.getString("FormatActionDelegate.4"), new String[]{resource.getFullPath().toString()}); //$NON-NLS-1$
-				fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.ID, IStatus.ERROR, message, e));
-			}
-		}
-	}
-
-	protected IStructuredFormatProcessor getFormatProcessor(String contentTypeId) {
-		return FormatProcessorsExtensionReader.getInstance().getFormatProcessor(contentTypeId);
-	}
-
-	protected Job getJob() {
-		return new FormatJob(ResourceHandler.getString("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 = MessageFormat.format(ResourceHandler.getString("FormatActionDelegate.4"), new String[]{resource.getFullPath().toString()}); //$NON-NLS-1$
-			fErrorStatus.add(new Status(IStatus.ERROR, EditorPlugin.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 58950e2..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/edit/util/StructuredTextEditorActionConstants.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.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$
-
-}
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 0142902..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/ExtendedConfigurationBuilder.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
- *     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.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-
-
-/**
- * Simple generic ID to class to mapping. Loads a specified class defined in a
- * configuration element with the matching element name and target ID. Example
- * plugin.xml section: <extension
- * point="org.eclipse.wst.sse.ui.extendedconfiguration">
- * <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 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 EP_EXTENDEDCONFIGURATION = "extendedconfiguration"; //$NON-NLS-1$
-	private static ExtendedConfigurationBuilder instance = null;
-
-	/**
-	 * 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.
-		IPluginDescriptor plugin = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-		if (plugin.isPluginActivated()) {
-			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$
-					}
-				}
-			});
-		}
-		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.getAttribute(ATT_TARGET).equals(targetID)) {
-				result = createExtension(element, ATT_CLASS, targetID);
-			}
-			if (result != null) {
-				if (result instanceof IExtendedConfiguration) {
-					((IExtendedConfiguration) result).setDeclaringID(targetID);
-				}
-				return result;
-			}
-		}
-		return result;
-	}
-
-	private IConfigurationElement findConfigurationElement(List configurations, String extensionType, String targetID) {
-		if (configurations == null)
-			return null;
-		IConfigurationElement result = null;
-		for (int i = 0; i < configurations.size(); i++) {
-			IConfigurationElement element = (IConfigurationElement) configurations.get(i);
-			if (element.getName().equals(extensionType) && element.getAttribute(ATT_TARGET).equals(targetID)) {
-				result = element;
-			}
-		}
-		return result;
-	}
-
-	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.getPluginRegistry(), EditorPlugin.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 IConfigurationElement getConfigurationElement(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.getPluginRegistry(), EditorPlugin.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);
-		IConfigurationElement element = findConfigurationElement(configurations, extensionType, targetID);
-		if (debugTime) {
-			if (element != null)
-				System.out.println(getClass().getName() + "#getConfigurationElement(" + 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() + "#getConfigurationElement(" + extensionType + ", " + targetID + "): ran in " + (System.currentTimeMillis() - time0) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		}
-		return element;
-	}
-
-	/*
-	 * (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();
-		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 aa1e099..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.IPluginRegistry;
-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.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;
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		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 fd26f41..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.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 440b39c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/FormatProcessorsExtensionReader.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.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.IPluginRegistry;
-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;
-
-
-public class FormatProcessorsExtensionReader extends RegistryReader {
-	private static FormatProcessorsExtensionReader instance;
-
-	public synchronized static FormatProcessorsExtensionReader getInstance() {
-		if (instance == null) {
-			instance = new FormatProcessorsExtensionReader();
-
-			IPluginRegistry registry = Platform.getPluginRegistry();
-			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();
-			ClassLoader classLoader = Platform.getPlugin(pluginID).getClass().getClassLoader();
-			try {
-				IStructuredFormatProcessor processor = (IStructuredFormatProcessor) Class.forName(processorClassName, false, classLoader).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 f6742dd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedMarkupEditorExtension.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 org.w3c.dom.Node;
-
-
-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 b00be17..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/IExtendedSimpleEditor.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.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();
-
-	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 db4744f..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.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.extensions.spellcheck.SpellCheckProvider;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-
-
-/**
- * Reads breakpoint extension registory and returns breakpoint provider
- * instances
- */
-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.
-		IPluginDescriptor plugin = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-		final Object[] result = new Object[1];
-
-		if (plugin.isPluginActivated()) {
-			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;
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		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 a04e619..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/extension/TransferBuilder.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.internal.extension.DropActionProxy;
-import org.eclipse.wst.sse.ui.internal.extension.RegistryReader;
-
-
-/**
- * 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);
-				Class cls = element.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader().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];
-		IPluginDescriptor plugin = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-		if (plugin.isPluginActivated()) {
-			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;
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		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/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 c2c404f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/ContentAssistUtils.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.sse.ui.internal.contentassist;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-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.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;
-		IModelManagerPlugin mmp = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		IModelManager mm = mmp.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 b36972a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/contentassist/CustomCompletionProposal.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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 CompletionProposal fProposal = null;
-	protected int fRelevance = IRelevanceConstants.R_NONE;
-	protected int fReplacementLength = 0;
-	protected int fReplacementOffset = 0;
-	protected String fReplacementString = null;
-	private boolean fUpdateLengthOnValidate;
-
-	public CustomCompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition) {
-
-		fProposal = new CompletionProposal(replacementString, replacementOffset, replacementLength, cursorPosition);
-		fReplacementString = replacementString;
-		fReplacementOffset = replacementOffset;
-		fReplacementLength = replacementLength;
-		fCursorPosition = cursorPosition;
-	}
-
-	public CustomCompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, String additionalProposalInfo) {
-
-		fProposal = new CompletionProposal(replacementString, replacementOffset, replacementLength, cursorPosition, image, displayString, contextInformation, additionalProposalInfo);
-		fReplacementString = replacementString;
-		fReplacementOffset = replacementOffset;
-		fReplacementLength = replacementLength;
-		fCursorPosition = cursorPosition;
-		fImage = image;
-		fDisplayString = displayString;
-		fContextInformation = contextInformation;
-		fAdditionalProposalInfo = additionalProposalInfo;
-	}
-
-	// constructor with relevance
-	public CustomCompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, Image image, String displayString, IContextInformation contextInformation, String additionalProposalInfo, int relevance) {
-
-		fProposal = new CompletionProposal(replacementString, replacementOffset, replacementLength, cursorPosition, image, displayString, contextInformation, additionalProposalInfo);
-		fReplacementString = replacementString;
-		fReplacementOffset = replacementOffset;
-		fReplacementLength = replacementLength;
-		fCursorPosition = cursorPosition;
-		fImage = image;
-		fDisplayString = displayString;
-		fContextInformation = contextInformation;
-		fAdditionalProposalInfo = additionalProposalInfo;
-		fRelevance = relevance;
-	}
-
-	/**
-	 * 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) {
-
-		fProposal = new CompletionProposal(replacementString, replacementOffset, replacementLength, cursorPosition, image, displayString, contextInformation, additionalProposalInfo);
-		fReplacementString = replacementString;
-		fReplacementOffset = replacementOffset;
-		fReplacementLength = replacementLength;
-		fCursorPosition = cursorPosition;
-		fImage = image;
-		fDisplayString = displayString;
-		fContextInformation = contextInformation;
-		fAdditionalProposalInfo = additionalProposalInfo;
-		fRelevance = relevance;
-		fUpdateLengthOnValidate = updateReplacementLengthOnValidate;
-		fOriginalReplacementLength = fReplacementLength;
-	}
-
-	// constructor with relevance
-	public CustomCompletionProposal(String replacementString, int replacementOffset, int replacementLength, int cursorPosition, int relevance) {
-
-		fProposal = new CompletionProposal(replacementString, replacementOffset, replacementLength, cursorPosition);
-		fReplacementString = replacementString;
-		fReplacementOffset = replacementOffset;
-		fReplacementLength = replacementLength;
-		fCursorPosition = cursorPosition;
-		fRelevance = relevance;
-	}
-
-	public void apply(IDocument document) {
-		fProposal.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) {
-		// 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...
-		fProposal.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();
-	}
-
-	public IContextInformation getContextInformation() {
-		return fProposal.getContextInformation();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension#getContextInformationPosition()
-	 */
-	public int getContextInformationPosition() {
-		return getCursorPosition();
-	}
-
-	public int getCursorPosition() {
-		return fCursorPosition;
-	}
-
-	public String getDisplayString() {
-		return fProposal.getDisplayString();
-	}
-
-	public Image getImage() {
-		return fProposal.getImage();
-	}
-
-	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);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension#getTriggerCharacters()
-	 */
-	public char[] getTriggerCharacters() {
-		// we currently don't pay attention to which charaters select the
-		// proposal
-		return null;
-	}
-
-	/*
-	 * (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 delta = offset - fReplacementOffset;
-			if (delta > 0)
-				fReplacementLength = delta + fOriginalReplacementLength;
-		}
-		return validated;
-	}
-}
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 2c9734f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/correction/NoModificationCompletionProposal.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.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.nls.ResourceHandler;
-
-
-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 ResourceHandler.getString("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 a856849..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/BreakpointRulerAction.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.core.runtime.Platform;
-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.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IBreakpointProvider;
-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 = EditorPlugin.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);
-										IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-										model = plugin.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;
-		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) {
-			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 dfce0e5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/DebugTextEditor.java
+++ /dev/null
@@ -1,414 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-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.ide.IDEActionFactory;
-import org.eclipse.ui.part.IShowInTargetList;
-import org.eclipse.ui.texteditor.IDocumentProvider;
-import org.eclipse.ui.texteditor.IElementStateListener;
-import org.eclipse.ui.texteditor.ITextEditorActionConstants;
-import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.sse.ui.Logger;
-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.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 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 - add 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.ADD_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++) {
-			IConfigurationElement el = builder.getConfigurationElement("showintarget", configurationIds[i]); //$NON-NLS-1$
-			if (el != null) {
-				String someIds = el.getAttribute("ids"); //$NON-NLS-1$
-				if (someIds != null && someIds.length() > 0) {
-					String[] ids = StringUtils.unpack(someIds);
-					for (int j = 0; j < ids.length; j++) {
-						// trim, just to keep things clean
-						String id = ids[j].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.ADD_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.ADD_BREAKPOINTS));
-		} else {
-			setAction(ITextEditorActionConstants.RULER_DOUBLE_CLICK, getAction(IDEActionFactory.BOOKMARK.getId()));
-		}
-		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 5b56177..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/EditBreakpointAction.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.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.nls.ResourceHandler;
-
-
-public class EditBreakpointAction extends BreakpointRulerAction {
-	protected IBreakpoint[] breakpoints = null;
-
-	/**
-	 * @param editor
-	 * @param rulerInfo
-	 */
-	public EditBreakpointAction(ITextEditor editor, IVerticalRuler rulerInfo) {
-		super(editor, rulerInfo);
-		setText(ResourceHandler.getString("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 16dedac..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ManageBreakpointAction.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.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.Logger;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-/**
- * 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(ResourceHandler.getString("ManageBreakpointAction.0")); //$NON-NLS-1$
-		else
-			setText(ResourceHandler.getString("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 9ceb7fc..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/debug/ToggleBreakpointAction.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.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.core.runtime.Platform;
-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.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-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.extension.BreakpointProviderBuilder;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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(ResourceHandler.getString("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(EditorPlugin.ID, IStatus.INFO, (IStatus[]) errors.toArray(new IStatus[0]), ResourceHandler.getResourceBundle().getString("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, ResourceHandler.getResourceBundle().getString("ManageBreakpoints.error.adding.title1"), ResourceHandler.getResourceBundle().getString("ManageBreakpoints.error.adding.message1"), allStatus); //$NON-NLS-1$ //$NON-NLS-2$
-				return false;
-			}
-		}
-		return true;
-	}
-
-	protected String getContentType(IDocument document) {
-		IModelManager mgr = ((IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID)).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/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 a933564..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/editor/EditorModelUtil.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.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.EditorPlugin;
-import org.eclipse.wst.sse.ui.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) {
-		EditorPlugin plugin = ((EditorPlugin) Platform.getPlugin(EditorPlugin.ID));
-		AdapterFactoryRegistry adapterRegistry = plugin.getAdapterFactoryRegistry();
-		String contentTypeId = structuredModel.getModelHandler().getAssociatedContentTypeId();
-
-		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 242112e..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.EditorPlugin;
-
-
-/**
- * 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 = EditorPlugin.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 bab82a3..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.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 55b79ff..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.EditorPlugin;
-
-/**
- * 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 = EditorPlugin.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 2e297a1..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ActionDescriptor.java
+++ /dev/null
@@ -1,377 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.IPluginDescriptor;
-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.Logger;
-import org.eclipse.wst.sse.ui.extension.IActionValidator;
-
-
-/**
- * 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.
-		IPluginDescriptor plugin = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-		if (plugin.isPluginActivated()) {
-			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().getDeclaringPluginDescriptor().getUniqueIdentifier() + "." + 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 e56d4a0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/BreakpointProviderBuilder.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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.internal.extension;
-
-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 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.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.IBreakpointProvider;
-import org.eclipse.wst.sse.ui.extensions.breakpoint.SourceEditingTextTools;
-
-
-/**
- * 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];
-		IPluginDescriptor plugin = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-		if (plugin.isPluginActivated()) {
-			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) {
-				StringTokenizer tokenizer = new StringTokenizer(types, ","); //$NON-NLS-1$
-				while (tokenizer.hasMoreTokens()) {
-					String type = tokenizer.nextToken();
-					if (type.trim().equals(key.trim())) {
-						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 contentType, String ext) {
-		initCache();
-
-		// Get breakpoint providers for this content type handler
-		IBreakpointProvider[] ps1 = new IBreakpointProvider[0];
-		if (contentType != null) {
-			ps1 = (IBreakpointProvider[]) map.get(contentType);
-			if (ps1 == null) {
-				ps1 = createBreakpointProviders(ATT_CONTENT_TYPES, contentType);
-				if (ps1 != null) {
-					map.put(contentType, ps1);
-				}
-			}
-		}
-
-		// Get breakpoint providers for this extension
-		IBreakpointProvider[] ps2 = new IBreakpointProvider[0];
-		if (ext != null) {
-			ps2 = (IBreakpointProvider[]) map.get(ext);
-			if (ps2 == null) {
-				ps2 = createBreakpointProviders(ATT_EXTENSIONS, ext);
-				if (ps2 != null) {
-					map.put(ext, ps2);
-				}
-			}
-		}
-
-		// create single hash set to remove duplication
-		Set s = new HashSet();
-		for (int i = 0; i < ps1.length; i++) {
-			s.add(ps1[i]);
-		}
-		for (int i = 0; i < ps2.length; i++) {
-			s.add(ps2[i]);
-		}
-
-		// 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) {
-			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) {
-		cache = null;
-		targetContributionTag = tag;
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		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/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 7176682..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/DropActionProxy.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.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.core.runtime.Platform;
-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.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.extension.IExtendedSimpleEditor;
-import org.eclipse.wst.sse.ui.extensions.ISelfValidateEditAction;
-
-
-/**
- */
-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 = 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();
-	}
-
-	/**
-	 *  
-	 */
-	private IModelManager getModelManager() {
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	/**
-	 * @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 2fb3a2c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ExtendedEditorActionProxy.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.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.core.runtime.Platform;
-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.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.extension.IExtendedSimpleEditor;
-import org.eclipse.wst.sse.ui.extensions.ISelfValidateEditAction;
-
-
-/**
- * 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 = 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();
-	}
-
-	/**
-	 *  
-	 */
-	private IModelManager getModelManager() {
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	/**
-	 * @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 32b6de8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/ImageUtil.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.ui.internal.extension;
-
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-
-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) {
-		return getImageDescriptorFromPlugin(extension.getDeclaringPluginDescriptor(), subdirectoryAndFilename);
-	}
-
-	/**
-	 * Convenience Method. Return an ImageDescriptor whose path relative to
-	 * the plugin described by <code>pluginDescriptor</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 getImageDescriptorFromPlugin(IPluginDescriptor pluginDescriptor, String subdirectoryAndFilename) {
-
-		URL path = pluginDescriptor.getInstallURL();
-		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 c69514f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/extension/RegistryReader.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.wst.sse.ui.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();
-		IPluginDescriptor descriptor = extension.getDeclaringPluginDescriptor();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + descriptor.getUniqueIdentifier() + ", 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).getDeclaringPluginDescriptor().getUniqueIdentifier().toUpperCase();
-				String s2 = ((IExtension) extension2).getDeclaringPluginDescriptor().getUniqueIdentifier().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());
-	}
-
-	/**
-	 * Start the registry reading process using the supplied plugin ID and
-	 * extension point.
-	 */
-	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]);
-		}
-	}
-}
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 86f6093..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/ExternalFileEditorInput.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.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
- */
-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 a4e6ba6..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.Logger;
-import org.eclipse.wst.sse.ui.extensions.openon.IOpenOn;
-import org.eclipse.wst.sse.ui.openon.OpenOnProvider;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-
-/*
- * Link mode.
- */
-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 1d61053..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnAction.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
- *     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.StructuredTextEditor;
-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.
- */
-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 StructuredTextEditor) {
-					offset = ((StructuredTextEditor) 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 3c04b1e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnBuilder.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.sse.ui.internal.openon;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-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
- */
-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;
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		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 1e72e59..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/openon/OpenOnDefinition.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.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.IPluginDescriptor;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.extensions.openon.IOpenOn;
-
-
-/**
- * Open on definition object
- * 
- * @author amywu
- */
-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];
-		IPluginDescriptor plugin = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-		if (plugin.isPluginActivated()) {
-			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/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 c4f10f1..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/AbstractStructuredTextReconcilingStrategy.java
+++ /dev/null
@@ -1,510 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.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.IDocumentPartitioner;
-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.IModelManagerPlugin;
-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.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.ui.IReleasable;
-import org.eclipse.wst.sse.ui.ITemporaryAnnotation;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-
-
-/**
- * A base ReconcilingStrategy. Subclasses must implement
- * createReconcileSteps().
- * 
- * @author pavery
- */
-public abstract class AbstractStructuredTextReconcilingStrategy implements IReconcilingStrategy, IReconcilingStrategyExtension, IReleasable, IStructuredReconcilingStrategy {
-
-	protected boolean fAlreadyRemovedAllThisRun = false;
-	protected IDocument fDocument = null;
-
-	protected IReconcileStep fFirstStep = null;
-	protected IProgressMonitor fProgressMonitor = null;
-	protected ITextEditor fTextEditor = null;
-
-	/**
-	 * 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 IStructuredReconcileStep)
-			return ((IStructuredReconcileStep) 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;
-				IReconcileAnnotationKey key = (IReconcileAnnotationKey) 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;
-				IReconcileAnnotationKey key = (IReconcileAnnotationKey) annotation.getKey();
-
-				// first check if this annotation is still relevant for the
-				// current partition
-				if (sdRegions.length > 0) {
-					if (!partitionsMatch(key, annotation.getPosition().offset, sdRegions[0])) {
-						remove.add(annotation);
-						continue;
-					}
-				}
-
-				// then if this strategy knows how to add/remove this
-				// partition type
-				if (canHandlePartition(key.getPartitionType()) && containsStep(key.getStep())) {
-					if (key.getScope() == IReconcileAnnotationKey.PARTIAL && overlaps(annotation.getPosition(), sdRegions)) {
-						remove.add(annotation);
-					} else if (key.getScope() == IReconcileAnnotationKey.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 = ((IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID)).getModelManager().getExistingModelForRead(fDocument);
-		IndexedRegion xmlNode = sModel.getIndexedRegion(sdRegion.getStart());
-		sModel.releaseFromRead();
-		return xmlNode;
-	}
-
-	/**
-	 * 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();
-	}
-
-	/**
-	 * pa_TODO - should be temporary until we figure out a way to send in
-	 * partition with "reconcile()" call
-	 * 
-	 * @param sdRegion
-	 */
-	protected IDocumentPartitioner getPartitioner(IStructuredDocumentRegion sdRegion) {
-		Assert.isNotNull(fDocument, "document was null when partitioning information was sought"); //$NON-NLS-1$
-		IDocumentPartitioner partitioner = fDocument.getDocumentPartitioner();
-		return partitioner;
-	}
-
-	/**
-	 * Gets partition types from all steps in this strategy.
-	 * 
-	 * @return parition types from all steps
-	 */
-	public String[] getPartitionTypes() {
-		if (fFirstStep instanceof IStructuredReconcileStep)
-			return ((IStructuredReconcileStep) 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 (Logger.isTracing(StructuredTextReconciler.TRACE_FILTER) && (fProgressMonitor != null && fProgressMonitor.isCanceled()))
-			Logger.trace(StructuredTextReconciler.TRACE_FILTER, "** 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++) {
-			IndexedRegion corresponding = getCorrespondingNode(sdRegions[i]);
-			if (start == -1 || start > corresponding.getStartOffset())
-				start = corresponding.getStartOffset();
-			if (end == -1 || end < corresponding.getEndOffset())
-				end = corresponding.getEndOffset();
-		}
-		//System.out.println("checking overlap: [node:" + start + ":" + end +
-		// " pos:" + pos.getOffset() + ":" + pos.getLength() + "> " +
-		// pos.overlapsWith(start, end - start));
-		return pos.overlapsWith(start, end - start);
-	}
-
-	/**
-	 * Checks to make sure that the annotation key (partition type for which
-	 * it was originally added) matches the current document partition at that
-	 * offset. This can occur when the character you just typed caused the
-	 * previous (or subsequent) partition type to change.
-	 * 
-	 * @param key
-	 * @param sdRegion
-	 * @return the partition type for this annotation matches the current
-	 *         document partition type
-	 */
-	private boolean partitionsMatch(IReconcileAnnotationKey key, int annotationPos, IStructuredDocumentRegion sdRegion) {
-		String keyPartitionType = key.getPartitionType();
-		IDocumentPartitioner p = getPartitioner(sdRegion);
-		String partitionType = p.getPartition(annotationPos).getType();
-		return keyPartitionType.equals(partitionType);
-	}
-
-	/**
-	 * Process the results from the reconcile steps in this strategy.
-	 * 
-	 * @param results
-	 */
-	private void process(final IReconcileResult[] results) {
-		if (Logger.isTracing(StructuredTextReconciler.TRACE_FILTER))
-			Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[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()) {
-				Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] >** PROCESS (adding) WAS CANCELLED **"); //$NON-NLS-1$
-				return;
-			}
-			addResultToAnnotationModel(results[i]);
-		}
-		// tracing
-		// --------------------------------------------------------------------
-		if (Logger.isTracing(StructuredTextReconciler.TRACE_FILTER)) {
-			StringBuffer traceString = new StringBuffer();
-			for (int j = 0; j < results.length; j++)
-				traceString.append("\n (+) :" + results[j] + ":\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[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;
-
-		reconcile(dirtyRegion, subRegion, false);
-	}
-
-	/**
-	 * Like IReconcileStep.reconcile(DirtyRegion dirtyRegion, IRegion
-	 * subRegion) but also aware of the fact that the reconciler is running a
-	 * processAll() operation, and short circuits removal and reconcile calls
-	 * accordingly.
-	 * 
-	 * @param dirtyRegion
-	 * @param refreshAll
-	 * @param subRegion
-	 * @see IStructuredReconcilingStrategy#reconcile(DirtyRegion, IRegion,
-	 *      boolean)
-	 */
-	public void reconcile(DirtyRegion dirtyRegion, IRegion subRegion, boolean refreshAll) {
-
-		// external files may be null
-		if (isCanceled() || fFirstStep == null)
-			return;
-
-		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(dirtyRegion.getOffset());
-		if (sdRegion == null)
-			return;
-
-		TemporaryAnnotation[] annotationsToRemove = new TemporaryAnnotation[0];
-		IReconcileResult[] annotationsToAdd = new IReconcileResult[0];
-		IStructuredReconcileStep structuredStep = (IStructuredReconcileStep) fFirstStep;
-		if (!refreshAll) {
-			// regular reconcile
-			annotationsToRemove = getAnnotationsToRemove(dirtyRegion);
-			annotationsToAdd = structuredStep.reconcile(dirtyRegion, subRegion);
-			fAlreadyRemovedAllThisRun = false;
-		} else {
-			// the entire document is being reconciled (strategies may be
-			// called multiple times)
-			if (!fAlreadyRemovedAllThisRun) {
-				annotationsToRemove = getAllAnnotationsToRemove();
-				fAlreadyRemovedAllThisRun = true;
-			}
-			annotationsToAdd = structuredStep.reconcile(dirtyRegion, subRegion, true);
-		}
-		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
-	 * StructuredTextReconciler.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
-		//fFirstStep = null;
-	}
-
-	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()) {
-					Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] >** REMOVAL WAS CANCELLED **"); //$NON-NLS-1$
-					return;
-				}
-				annotationModel.removeAnnotation(annotationsToRemove[i]);
-			}
-		}
-		// tracing
-		// --------------------------------------------------------------------
-		if (Logger.isTracing(StructuredTextReconciler.TRACE_FILTER)) {
-			StringBuffer traceString = new StringBuffer();
-			for (int i = 0; i < annotationsToRemove.length; i++)
-				traceString.append("\n (-) :" + annotationsToRemove[i] + ":\n"); //$NON-NLS-1$ //$NON-NLS-2$
-			Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] > REMOVED (" + annotationsToRemove.length + ") annotations in AbstractStructuredTextReconcilingStrategy :" + traceString); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		//------------------------------------------------------------------------------
-	}
-
-	/**
-	 * Resets any specially set for an operation such as processAll() from the
-	 * reconciler.
-	 */
-	public void reset() {
-		fAlreadyRemovedAllThisRun = false;
-		if (fFirstStep instanceof IStructuredReconcileStep)
-			((IStructuredReconcileStep) fFirstStep).reset();
-	}
-
-	/**
-	 * 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
-		removeAnnotations(getAllAnnotationsToRemove());
-
-		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);
-	}
-
-	/**
-	 * pa_TODO make adding/removing smarter... 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) {
-		removeAnnotations(annotationsToRemove);
-		process(annotationsToAdd);
-	}
-}
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 4b61b4c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IReconcileAnnotationKey.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.reconcile;
-
-import org.eclipse.jface.text.reconciler.IReconcileStep;
-
-/**
- * Defines an annotation key that the
- * <code>AbstractStructuredTextReconcilingStrategy</code> knows how to
- * remove appropriately.
- * 
- * @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 1de6804..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IReconcileStepAdapter.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.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.
- */
-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 ce853b8..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IStructuredReconcileStep.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.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
- * 
- * Interface for a step in StructuredTextReconciler 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 2183df9..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/IStructuredReconcilingStrategy.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.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.
- * 
- * @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 a7df537..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/ReconcileAnnotationKey.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.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 implements IReconcileAnnotationKey {
-	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;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.xml.reconcile.IReconcileAnnotationKey#getId()
-	 */
-	public String getPartitionType() {
-		return fPartitionType;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.xml.reconcile.IReconcileAnnotationKey#getScope()
-	 */
-	public int getScope() {
-		return fScope;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.xml.reconcile.IReconcileAnnotationKey#getStep()
-	 */
-	public IReconcileStep getStep() {
-		return fReconcileStep;
-	}
-
-	public String toString() {
-		return this.getClass() + "\r\nid: " + fPartitionType + "\nscope: " + fScope; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
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 fbaada5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/StructuredReconcileStep.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.Platform;
-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.Position;
-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.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-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.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.ui.IReleasable;
-
-
-/**
- * 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 IStructuredReconcileStep, IReleasable {
-	public static final int ANNOTATION_LENGTH_LIMIT = 100;
-
-	// 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 ELEMENT_ERROR_LIMIT = 100;
-
-	protected final IReconcileResult[] EMPTY_RECONCILE_RESULT_SET = new IReconcileResult[0];
-
-	/**
-	 * Flag so that TOTAL scope steps are only called once during a batch
-	 * reconcile. reset() should be called after the batch reconcile.
-	 */
-	private boolean fAlreadyRanGlobalReconcile = false;
-	private IModelManager fModelManager = null;
-	private IStructuredReconcileStep 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 List fPartialRangesCovered = null;
-	private HashSet fPartitionTypes = null;
-
-	public StructuredReconcileStep() {
-		super();
-		fPartitionTypes = new HashSet();
-		fPartialRangesCovered = new ArrayList();
-	}
-
-	public StructuredReconcileStep(IReconcileStep step) {
-		super(step);
-		if (step instanceof IStructuredReconcileStep)
-			fNextStructuredStep = (IStructuredReconcileStep) step;
-
-		fPartitionTypes = new HashSet();
-		fPartialRangesCovered = new ArrayList();
-	}
-
-	public IReconcileAnnotationKey createKey(IStructuredDocumentRegion sdRegion, int scope) {
-		ITypedRegion tr = sdRegion.getParentDocument().getDocumentPartitioner().getPartition(sdRegion.getStartOffset());
-		String partitionType = (tr != null) ? tr.getType() : StructuredTextPartitioner.ST_UNKNOWN_PARTITION;
-		return createKey(partitionType, scope);
-	}
-
-	/**
-	 * Clients should use this method to create annotation keys as it
-	 * registers the key for removal later.
-	 * 
-	 * @param partitionType
-	 * @param scope
-	 * @return
-	 */
-	public IReconcileAnnotationKey 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;
-	}
-
-	/*
-	 * @see org.eclipse.text.reconcilerpipe.AbstractReconcilePipeParticipant#getModel()
-	 */
-	public IReconcilableModel getModel() {
-		return getInputModel();
-	}
-
-	/**
-	 * Avoid excessive calls to Platform.getPlugin(ModelPlugin.ID)
-	 * 
-	 * @return sse model manager
-	 */
-	protected IModelManager getModelManager() {
-		if (fModelManager == null)
-			fModelManager = ((IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID)).getModelManager();
-		return fModelManager;
-	}
-
-	protected IDocumentPartitioner getPartitioner() {
-		return getDocument().getDocumentPartitioner();
-	}
-
-	public String getPartitionType(int offset) {
-		ITypedRegion tr = getPartitioner().getPartition(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()]);
-	}
-
-	public abstract int getScope();
-
-	protected IStructuredDocument getStructuredDocument() {
-		IStructuredDocument sDoc = null;
-		IDocument doc = getDocument();
-		if (doc instanceof IStructuredDocument)
-			sDoc = (IStructuredDocument) getDocument();
-		return sDoc;
-	}
-
-	/**
-	 * @param dirtyRegion
-	 * @return
-	 */
-	private boolean isInPartiallyCheckedRanges(DirtyRegion dirtyRegion) {
-		// pa_TODO reconciler performance, this can be bad
-		Iterator it = fPartialRangesCovered.iterator();
-		Position p = null;
-		while (it.hasNext()) {
-			p = (Position) it.next();
-			if (p.overlapsWith(dirtyRegion.getOffset(), dirtyRegion.getLength()))
-				return true;
-		}
-
-		// add new range that has been covered
-		IStructuredModel sm = getModelManager().getExistingModelForRead(getDocument());
-		IndexedRegion indexed = sm.getIndexedRegion(dirtyRegion.getOffset());
-		sm.releaseFromRead();
-		if (indexed != null)
-			fPartialRangesCovered.add(new Position(indexed.getStartOffset(), indexed.getEndOffset() - indexed.getStartOffset()));
-		return false;
-	}
-
-	/**
-	 * 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++) {
-			// pa_TODO: could be bad for performance
-			if (!results.contains(results2[i]))
-				results.add(results2[i]);
-		}
-
-		return (IReconcileResult[]) results.toArray(new IReconcileResult[results.size()]);
-	}
-
-	/**
-	 * Like IReconcileStep.reconcile() except takes into consideration if the
-	 * strategy may be called multiple times in this same "run" (ie. a
-	 * processAll() call from the StructuredTextReconciler)
-	 */
-	public final IReconcileResult[] reconcile(DirtyRegion dirtyRegion, IRegion subRegion, boolean refreshAll) {
-		IReconcileResult[] result = EMPTY_RECONCILE_RESULT_SET;
-
-		if (!refreshAll) {
-			result = reconcileModel(dirtyRegion, subRegion);
-			fAlreadyRanGlobalReconcile = false;
-		} else if (getScope() == IReconcileAnnotationKey.TOTAL && !fAlreadyRanGlobalReconcile) {
-			result = reconcileModel(dirtyRegion, subRegion);
-			fAlreadyRanGlobalReconcile = true;
-		} else if (getScope() == IReconcileAnnotationKey.PARTIAL) {
-			if (!isInPartiallyCheckedRanges(dirtyRegion)) {
-				result = reconcileModel(dirtyRegion, subRegion);
-			}
-		}
-
-		if (!isLastStep()) {
-			((IReconcileStep) fNextStructuredStep).setInputModel(getModel());
-			IReconcileResult[] nextResult = fNextStructuredStep.reconcile(dirtyRegion, subRegion, refreshAll);
-			return merge(result, convertToInputModel(nextResult));
-		}
-		return result;
-	}
-
-	/*
-	 * (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 instanceof IReleasable)
-			((IReleasable) fNextStructuredStep).release();
-		// we don't to null out the steps, in case
-		// it's reconfigured later
-		//fNextStructuredStep = null;
-		fModelManager = null;
-	}
-
-	public void reset() {
-		fAlreadyRanGlobalReconcile = false;
-		fPartialRangesCovered.clear();
-
-		if (!isLastStep())
-			fNextStructuredStep.reset();
-	}
-}
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 162f97a..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/TemporaryAnnotation.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.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.wst.sse.ui.ITemporaryAnnotation;
-
-
-/**
- * An implementation of ITemporaryAnnotation @
- * @author pavery
- */
-public class TemporaryAnnotation extends Annotation implements ITemporaryAnnotation, IReconcileResult {
-
-	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$
-	private Object fAdditionalFixInfo = null;
-
-	private Object fKey = null;
-	private Position fPosition = null;
-
-	private int fProblemID;
-
-	public TemporaryAnnotation(Position p, String type, String message, IReconcileAnnotationKey key) {
-		super();
-		fPosition = p;
-		setType(type);
-		fKey = key;
-		setText(message);
-	}
-
-	public TemporaryAnnotation(Position p, String type, String message, IReconcileAnnotationKey key, int problemId) {
-		super();
-		fPosition = p;
-		fKey = key;
-		setType(type);
-		setText(message);
-		fProblemID = problemId;
-	}
-
-	/*
-	 * (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;
-			return ta.getText().equals(this.getText()) && ta.getPosition().equals(this.getPosition());
-		}
-		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 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 9f36d18..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/IncrementalHelper.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.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) {
-		IResource res = getProject().findMember(filename, true); // true means
-		// include
-		// phantom
-		// resources
-		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 dc3b335..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ReconcileStepForValidator.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.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.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.util.URIResolver;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileAnnotationKey;
-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 {
-
-	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();
-		this.fValidator = v;
-		this.fScope = scope;
-	}
-
-	public ReconcileStepForValidator(IValidator v, IReconcileStep step, int scope) {
-		super(step);
-		this.fValidator = v;
-		this.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());
-				IReconcileAnnotationKey key = createKey(getPartitionType(offset), IReconcileAnnotationKey.TOTAL);
-				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 = getModelManager().getExistingModelForRead(doc);
-					file = project.getWorkspace().getRoot().getFileForLocation(new Path(model.getBaseLocation()));
-				} finally {
-					if (model != null)
-						model.releaseFromRead();
-				}
-			}
-		}
-		return file;
-	}
-
-	private IHelper getHelper(IProject project) {
-		if (this.fHelper == null)
-			this.fHelper = new IncrementalHelper(getStructuredDocument(), project);
-		return this.fHelper;
-	}
-
-	private IProject getProject() {
-
-		URIResolver resolver = null;
-		IDocument doc = getDocument();
-
-		if (doc != null) {
-			IStructuredModel model = 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 (this.fReporter == null)
-			this.fReporter = new IncrementalReporter(getProgressMonitor());
-		return this.fReporter;
-	}
-
-	public int getScope() {
-		return this.fScope;
-	}
-
-	public void initialReconcile() {
-		// do nothing
-	}
-
-	protected IReconcileResult[] reconcileModel(DirtyRegion dirtyRegion, IRegion subRegion) {
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] > reconciling model in VALIDATOR step w/ dirty region: " + dirtyRegion.getText()); //$NON-NLS-1$
-
-		// pa_TODO need to use dirty region if Validators can ever handle
-		// partial file validation
-		IReconcileResult[] results = this.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$
-			}
-		}
-
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[trace reconciler] > VALIDATOR step done"); //$NON-NLS-1$
-
-		return results;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		StringBuffer debugString = new StringBuffer("ValidatorStep: "); //$NON-NLS-1$
-		if (this.fValidator != null)
-			debugString.append(this.fValidator.getClass().toString());
-		return debugString.toString();
-	}
-
-	protected IReconcileResult[] validate() {
-		IReconcileResult[] results = this.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);
-				this.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 ddb227f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorBuilder.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.internal.reconcile.validator;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.ui.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;
-
-	/**
-	 * 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 : "???"; //$NON-NLS-1$
-	}
-
-	protected String getValidatorClass(IConfigurationElement element) {
-		String value = element.getAttribute(ATT_CLASS);
-		return value != null ? value : "???"; //$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 : "???"; //$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;
-		IPluginRegistry registry = Platform.getPluginRegistry();
-		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 beb847b..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorMetaData.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
- *     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.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileAnnotationKey;
-import org.eclipse.wst.validation.core.IValidator;
-
-
-/**
- * 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;
-
-	// 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 fMatrix = null;
-	private String fScope = null;
-
-	public ValidatorMetaData(IConfigurationElement element, String vId, String vClass, String vScope) {
-		fId = vId;
-		fClass = vClass;
-		fScope = vScope;
-		fConfigurationElement = element;
-
-		fMatrix = new HashMap();
-	}
-
-	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) {
-		return fMatrix.containsKey(contentType);
-	}
-
-	public boolean canHandleParitionType(String contentType, String paritionType) {
-		if (fMatrix.containsKey(contentType)) {
-			List partitions = (List) fMatrix.get(contentType);
-			for (int i = 0; i < partitions.size(); i++) {
-				if (paritionType.equals(partitions.get(i)))
-					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 String classAttribute = getValidatorClass();
-
-		final Object[] result = new Object[1];
-		IPluginDescriptor plugin = element.getDeclaringExtension().getDeclaringPluginDescriptor();
-		if (plugin.isPluginActivated()) {
-			try {
-				return createExecutableExtension(element, "class"/* classAttribute */); //$NON-NLS-1$
-			} catch (CoreException e) {
-				handleCreateExecutableException(result, e);
-			}
-		} else {
-			BusyIndicator.showWhile(null, new Runnable() {
-				public void run() {
-					try {
-						result[0] = createExecutableExtension(element, "class"/* classAttribute */); //$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;
-	}
-
-	public int getValidatorScope() {
-		return fScope.equalsIgnoreCase("total") ? IReconcileAnnotationKey.TOTAL : IReconcileAnnotationKey.PARTIAL; //$NON-NLS-1$
-	}
-
-	/**
-	 * @param result
-	 * @param e
-	 */
-	void handleCreateExecutableException(Object[] result, Throwable e) {
-		Logger.logException(e);
-		e.printStackTrace();
-		result[0] = null;
-	}
-
-	/**
-	 * @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 dc480df..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidatorStrategy.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.reconcile.validator;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-
-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.IStructuredReconcileStep;
-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 fContentType = null;
-	private HashMap fIdToStepMap = null;
-
-	private List fMetaData = null;
-
-	public ValidatorStrategy(ITextEditor editor, String contentType) {
-		super(editor);
-		fMetaData = new ArrayList();
-		fContentType = contentType;
-		fIdToStepMap = new HashMap();
-	}
-
-	public void addValidatorMetaData(ValidatorMetaData vmd) {
-		fMetaData.add(vmd);
-	}
-
-	public boolean canValidatePartition(String partitionType) {
-		ValidatorMetaData vmd = null;
-		for (int i = 0; i < fMetaData.size(); i++) {
-			vmd = (ValidatorMetaData) fMetaData.get(i);
-			if (vmd.canHandleParitionType(getContentType(), 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 ? fIdToStepMap.values().contains(step) : false;
-	}
-
-	/**
-	 * @see org.eclipse.wst.sse.ui.reconcile.AbstractStructuredTextReconcilingStrategy#createReconcileSteps()
-	 */
-	public void createReconcileSteps() {
-		// do nothing, steps are created
-	}
-
-	public String getContentType() {
-		return fContentType;
-	}
-
-	/*
-	 * so that removal will work properly
-	 * 
-	 * @see org.eclipse.wst.sse.ui.reconcile.AbstractStructuredTextReconcilingStrategy#getPartitionTypes()
-	 */
-	public String[] getPartitionTypes() {
-		List partitionTypes = new ArrayList();
-		Iterator keys = fIdToStepMap.keySet().iterator();
-		String key = null;
-		while (keys.hasNext()) {
-			key = (String) keys.next();
-			IStructuredReconcileStep step = (IStructuredReconcileStep) fIdToStepMap.get(key);
-			partitionTypes.addAll(Arrays.asList(step.getPartitionTypes()));
-		}
-		return (String[]) partitionTypes.toArray(new String[partitionTypes.size()]);
-	}
-
-	public void reconcile(ITypedRegion tr, DirtyRegion dr, boolean refreshAll) {
-
-		// for external files, this can be null
-		if (getFile() != null) {
-
-			String partitionType = tr.getType();
-			if (canValidatePartition(partitionType)) {
-				ValidatorMetaData vmd = null;
-
-				//TemporaryAnnotation[]
-				List annotationsToRemove = new ArrayList();
-				//IReconcileResult[]
-				List annotationsToAdd = new ArrayList();
-				for (int i = 0; i < fMetaData.size(); i++) {
-					vmd = (ValidatorMetaData) fMetaData.get(i);
-					if (vmd.canHandleParitionType(getContentType(), partitionType)) {
-						// get step for partition type
-						Object o = fIdToStepMap.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));
-
-							fIdToStepMap.put(vmd.getValidatorId(), validatorStep);
-						}
-						////////////////////////////////////////////////////////////////////////////
-						// this logic copied from
-						// AbstractStructuredTextReconcilingStrategy
-
-						if (!refreshAll) {
-							// regular reconcile
-							annotationsToRemove.addAll(Arrays.asList(getAnnotationsToRemove(dr)));
-							annotationsToAdd.addAll(Arrays.asList(validatorStep.reconcile(dr, dr, refreshAll)));
-							fAlreadyRemovedAllThisRun = false;
-						} else {
-							// the entire document is being reconciled
-							// (strategies may be called multiple times)
-							if (!fAlreadyRemovedAllThisRun) {
-								annotationsToRemove.addAll(Arrays.asList(getAllAnnotationsToRemove()));
-								fAlreadyRemovedAllThisRun = true;
-							}
-							annotationsToAdd.addAll(Arrays.asList(validatorStep.reconcile(dr, dr, true)));
-						}
-						//smartProcess(annotationsToRemove,
-						// annotationsToAdd);
-						/////////////////////////////////////////////////////////////////////////////
-					}
-					// remove/add if there is anything to remove/add
-					if (annotationsToRemove.size() + annotationsToAdd.size() > 0)
-						smartProcess((TemporaryAnnotation[]) annotationsToRemove.toArray(new TemporaryAnnotation[annotationsToRemove.size()]), (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 "fIdToStepMap" (as opposed to fFirstStep >
-		// next step etc...)
-		Iterator it = fIdToStepMap.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 1e7537f..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.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 53af1d2..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.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 cc2253f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/FindOccurrencesActionProvider.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.nls.ResourceHandler;
-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 = ResourceHandler.getString("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 a268a74..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchQuery.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
- *     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.EditorPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-/**
- * 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, EditorPlugin.ID, IStatus.OK, "", null); //$NON-NLS-1$
-		}
-		return status;
-	}
-
-	private String getFilename() {
-		String filename = ResourceHandler.getString("OccurrencesSearchQuery.2"); //$NON-NLS-1$ "file"
-		if (getFile() != null)
-			filename = getFile().getName().toString();
-		return filename;
-	}
-
-	public String getLabel() {
-		String label = ResourceHandler.getString("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 24253e7..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/OccurrencesSearchViewPage.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.internal.search;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-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.ide.IDE;
-import org.eclipse.ui.ide.IGotoMarker;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.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 = ((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).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 6eefc26..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectEnclosingAction.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.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.nls.ResourceHandler;
-import org.w3c.dom.Node;
-
-
-public class StructureSelectEnclosingAction extends StructureSelectAction {
-	public StructureSelectEnclosingAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(ResourceHandler.getString("StructureSelectEnclosing.label")); //$NON-NLS-1$
-		setToolTipText(ResourceHandler.getString("StructureSelectEnclosing.tooltip")); //$NON-NLS-1$
-		setDescription(ResourceHandler.getString("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 e889fd4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectHistoryAction.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.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.nls.ResourceHandler;
-import org.w3c.dom.Node;
-
-
-public class StructureSelectHistoryAction extends StructureSelectAction implements IUpdate {
-	public StructureSelectHistoryAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(ResourceHandler.getString("StructureSelectHistory.label")); //$NON-NLS-1$
-		setToolTipText(ResourceHandler.getString("StructureSelectHistory.tooltip")); //$NON-NLS-1$
-		setDescription(ResourceHandler.getString("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 f4e7c5c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectNextAction.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.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.nls.ResourceHandler;
-import org.w3c.dom.Node;
-
-
-public class StructureSelectNextAction extends StructureSelectAction {
-	public StructureSelectNextAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(ResourceHandler.getString("StructureSelectNext.label")); //$NON-NLS-1$
-		setToolTipText(ResourceHandler.getString("StructureSelectNext.tooltip")); //$NON-NLS-1$
-		setDescription(ResourceHandler.getString("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 fb01a9c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/selection/StructureSelectPreviousAction.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.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.nls.ResourceHandler;
-import org.w3c.dom.Node;
-
-
-public class StructureSelectPreviousAction extends StructureSelectAction {
-	public StructureSelectPreviousAction(StructuredTextEditor editor, SelectionHistory history) {
-		super(editor, history);
-		setText(ResourceHandler.getString("StructureSelectPrevious.label")); //$NON-NLS-1$
-		setToolTipText(ResourceHandler.getString("StructureSelectPrevious.tooltip")); //$NON-NLS-1$
-		setDescription(ResourceHandler.getString("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/StructuredTextAnnotationImageProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ui/StructuredTextAnnotationImageProvider.java
deleted file mode 100644
index 89d658d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/ui/StructuredTextAnnotationImageProvider.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.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 {
-	/**
-	 * The descriptor currently has no associated image so that temporary
-	 * annotations do not show up in the vertical ruler.
-	 */
-	private final String IMAGE_DESCRIPTOR_ID = "org.eclipse.wst.sse.temp.imageDescriptor"; //$NON-NLS-1$
-
-	/*
-	 * (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) {
-		String descriptorId = null;
-		if (!annotation.isPersistent())
-			// this allows temporary annotations to not show up in vertical
-			// ruler
-			descriptorId = IMAGE_DESCRIPTOR_ID;
-
-		return descriptorId;
-	}
-
-	/*
-	 * (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/nls/ResourceHandler.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/nls/ResourceHandler.java
deleted file mode 100644
index e3f4a0e..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/nls/ResourceHandler.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.nls;
-
-
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ResourceHandler {
-
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("Editing");//$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String) will return the key
-			// it was called with
-		}
-		return null;
-	}
-
-	public static String getString(String key) {
-		if (fgResourceBundle == null) {
-			fgResourceBundle = getResourceBundle();
-		}
-
-		if (fgResourceBundle != null) {
-			try {
-				return fgResourceBundle.getString(key);
-			} catch (MissingResourceException e) {
-				return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-		}
-	}
-
-	public static String getString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getString(key);
-		}
-
-	}
-
-	public static String getString(String key, Object[] args, int x) {
-
-		return getString(key);
-	}
-}
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 2242b43..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/openon/AbstractOpenOn.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.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.core.runtime.Platform;
-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.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.extensions.openon.IOpenOn;
-import org.eclipse.wst.sse.ui.internal.openon.ExternalFileEditorInput;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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
- */
-abstract public class AbstractOpenOn implements IOpenOn {
-	protected final String CANNOT_OPEN = ResourceHandler.getString("AbstractOpenOn.0"); //$NON-NLS-1$
-	private IDocument fDocument; // document currention associated with open
-	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) {
-		if (fileString != null) {
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(new Path(fileString));
-			for (int i = 0; i < files.length; i++)
-				if (files[i].exists())
-					return files[i];
-		}
-		return null;
-	}
-
-	protected IModelManager getModelManager() {
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	/*
-	 * (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 ae6647f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/openon/OpenOnProvider.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.openon;
-
-
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-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.
- */
-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 = ((IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID)).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 contentType = getContentType(document);
-			String partitionType = getPartitionType(document, offset);
-
-			// query OpenOnBuilder and get the list of open ons for the
-			// current partition
-			OpenOnDefinition[] defs = OpenOnBuilder.getInstance().getOpenOnDefinitions(contentType, partitionType);
-
-			// if more than 1 openon is returned, need to further check
-			// which open on 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 {
-			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 1c27e56..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/CommonEditorPreferenceNames.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.sse.ui.preferences;
-
-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 {
-
-	public static final String AUTO_PROPOSE = "autoPropose";//$NON-NLS-1$
-	public static final String AUTO_PROPOSE_CODE = "autoProposeCode";//$NON-NLS-1$
-	/** Preference key for bookmark indication */
-	public final static String BOOKMARK_INDICATION = "bookmarkIndication"; //$NON-NLS-1$
-	/** Preference key for bookmark color */
-	public final static String BOOKMARK_INDICATION_COLOR = "bookmarkIndicationColor"; //$NON-NLS-1$
-	/** Preference key for bookmark indication in overview ruler */
-	public final static String BOOKMARK_INDICATION_IN_OVERVIEW_RULER = "bookmarkIndicationInOverviewRuler"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that controls if browser like links are turned on or
-	 * off.
-	 * <p>
-	 * Value is of type <code>Boolean</code>.
-	 * </p>
-	 *  
-	 */
-	public final static String BROWSER_LIKE_LINKS = "browserLikeLinks"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that controls the key modifier for browser like
-	 * links.
-	 * <p>
-	 * Value is of type <code>String</code>.
-	 * </p>
-	 *  
-	 */
-	public final static String BROWSER_LIKE_LINKS_KEY_MODIFIER = "browserLikeLinksKeyModifier"; //$NON-NLS-1$
-
-	public static final String CONTENT_ASSIST_SUPPORTED = "contentAssistSupported";//$NON-NLS-1$	
-	public static final String DOT = ".";//$NON-NLS-1$
-
-	/**
-	 * A named preference that controls whether annotation roll over is used
-	 * or not.
-	 * <p>
-	 * Value is of type <code>Boolean</code>. If
-	 * <code>true<code> the annotation ruler column
-	 * uses a roll over to display multiple annotations
-	 * </p>
-	 */
-	public static final String EDITOR_ANNOTATION_ROLL_OVER = "editor_annotation_roll_over"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that defines whether hint to make hover sticky
-	 * should be shown.
-	 */
-	public static final String EDITOR_SHOW_TEXT_HOVER_AFFORDANCE = "showTextHoverAffordance"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that defines the key for the hover modifiers.
-	 */
-	public static final String EDITOR_TEXT_HOVER_MODIFIERS = "hoverModifiers"; //$NON-NLS-1$
-
-	public static final String EDITOR_USE_INFERRED_GRAMMAR = "useInferredGrammar"; //$NON-NLS-1$
-	public static final String EDITOR_VALIDATION_CONTENT_MODEL = "validation_content_model"; //$NON-NLS-1$
-	// currently can take on 3 different values
-	public static final String EDITOR_VALIDATION_METHOD = "editorValidationMethod"; //$NON-NLS-1$
-	public static final String EDITOR_VALIDATION_NONE = "validation_none"; //$NON-NLS-1$
-	public static final String EDITOR_VALIDATION_WORKBENCH_DEFAULT = "validation_workbench_default"; //$NON-NLS-1$
-
-	/** Preference key for error indication */
-	public final static String ERROR_INDICATION = "errorIndication"; //$NON-NLS-1$
-	/** Preference key for error color */
-	public final static String ERROR_INDICATION_COLOR = "errorIndicationColor"; //$NON-NLS-1$
-	/** Preference key for error indication in overview ruler */
-	public final static String ERROR_INDICATION_IN_OVERVIEW_RULER = "errorIndicationInOverviewRuler"; //$NON-NLS-1$
-
-	// these 2 preferences are on the StructuredTextEditorPreferencePage
-	// annotations tab
-	public static final String EVALUATE_TEMPORARY_PROBLEMS = "evaluateTemporaryProblems"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that holds the color used for 'linked-mode'
-	 * underline.
-	 * <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 LINK_COLOR = "linkColor"; //$NON-NLS-1$
-	public static final String LT = "<";//$NON-NLS-1$
-	public static final String LT_PERCENT = "<%";//$NON-NLS-1$
-
-	/** Preference key for matching brackets */
-	public final static String MATCHING_BRACKETS = "matchingBrackets"; //$NON-NLS-1$
-	/** Preference key for matching brackets color */
-	public final static String MATCHING_BRACKETS_COLOR = "matchingBracketsColor"; //$NON-NLS-1$
-
-	/**
-	 * A named preference that defines read only contrast scale.
-	 */
-	public static final String READ_ONLY_FOREGROUND_SCALE = "readOnlyForegroundScale"; //$NON-NLS-1$
-	/** Preference key for search result indication */
-	public final static String SEARCH_RESULT_INDICATION = "searchResultIndication"; //$NON-NLS-1$
-	/** Preference key for search result color */
-	public final static String SEARCH_RESULT_INDICATION_COLOR = "searchResultIndicationColor"; //$NON-NLS-1$
-	/** Preference key for search result indication in overview ruler */
-	public final static String SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER = "searchResultIndicationInOverviewRuler"; //$NON-NLS-1$
-	public static final String SHOW_QUICK_FIXABLES = "showQuickFixables"; //$NON-NLS-1$
-	/** Preference key for task indication */
-	public final static String TASK_INDICATION = "taskIndication"; //$NON-NLS-1$
-	/** Preference key for task color */
-	public final static String TASK_INDICATION_COLOR = "taskIndicationColor"; //$NON-NLS-1$
-	/** Preference key for task indication in overview ruler */
-	public final static String TASK_INDICATION_IN_OVERVIEW_RULER = "taskIndicationInOverviewRuler"; //$NON-NLS-1$
-
-	/**
-	 * The key to store customized templates.
-	 */
-	public static final String TEMPLATES_KEY = "org.eclipse.wst.sse.ui.custom_templates"; //$NON-NLS-1$
-	/** Preference key for unknown annotation indication */
-	public final static String UNKNOWN_INDICATION = "unknownIndication"; //$NON-NLS-1$
-	/** Preference key for unknown annotation color */
-	public final static String UNKNOWN_INDICATION_COLOR = "unknownIndicationColor"; //$NON-NLS-1$
-	/** Preference key for unknown annotation indication in overview ruler */
-	public final static String UNKNOWN_INDICATION_IN_OVERVIEW_RULER = "unknownIndicationInOverviewRuler"; //$NON-NLS-1$
-	/** Preference key for warning indication */
-	public final static String WARNING_INDICATION = "warningIndication"; //$NON-NLS-1$
-	/** Preference key for warning color */
-	public final static String WARNING_INDICATION_COLOR = "warningIndicationColor"; //$NON-NLS-1$
-	/** Preference key for warning indication in overview ruler */
-	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.
-	 */
-	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 10c4820..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/PreferenceKeyGenerator.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.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).
- * 
- *  
- */
-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 7acf8b0..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/PreferenceManager.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.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.Logger;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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 = ResourceHandler.getString("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 04bcddc..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractColorPage.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.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.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-
-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, ResourceHandler.getString("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();
-		// savePluginPreferences
-		return true;
-	}
-
-	/**
-	 * 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 7b81631..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractPreferencePage.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.preferences.ui;
-
-import org.eclipse.core.runtime.Platform;
-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.IModelManagerPlugin;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-/**
- * (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() {
-	}
-
-	private IModelManagerPlugin getModelManagerPlugin() {
-
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin;
-	}
-
-	protected Preferences getModelPreferences() {
-		return getModelManagerPlugin().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 = ResourceHandler.getString("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() {
-		EditorPlugin.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 033dc79..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/AbstractPreferenceTab.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.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.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-/**
- * 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(ResourceHandler.getString("StructuredTextEditorPreferencePage.37")); //$NON-NLS-1$
-		} else {
-			try {
-				int value = Integer.parseInt(number);
-				if (value < 0)
-					status.setError(number + ResourceHandler.getString("StructuredTextEditorPreferencePage.38")); //$NON-NLS-1$
-			} catch (NumberFormatException e) {
-				status.setError(number + ResourceHandler.getString("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 70a1995..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.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 5ea3275..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/EditStructuredTextEditorPreferencesAction.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.preferences.ui;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-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.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.util.DocumentInputStream;
-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.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-/**
- * This action displays the preferences relative to the current editor
- * 
- * @author amywu
- */
-public class EditStructuredTextEditorPreferencesAction extends Action implements IExtendedEditorAction {
-	private final String EXTENSION_ATTRIBUTE_PREFERENCE_IDS = "preferenceids"; //$NON-NLS-1$
-	private final String EXTENSION_TYPE_ID = "preferencepages"; //$NON-NLS-1$
-	private IExtendedSimpleEditor fEditor;
-
-	public EditStructuredTextEditorPreferencesAction() {
-		super(ResourceHandler.getString("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;
-		if (getEditor() instanceof IEditorPart) {
-			pointIds = ConfigurationPointCalculator.getConfigurationPoints((IEditorPart) getEditor(), getContentType(), ConfigurationPointCalculator.SOURCE, StructuredTextEditor.class);
-		} else {
-			pointIds = ConfigurationPointCalculator.getConfigurationPoints(getEditor().getEditorPart(), getContentType(), ConfigurationPointCalculator.SOURCE, StructuredTextEditor.class);
-		}
-		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) {
-			IConfigurationElement config = builder.getConfigurationElement(EXTENSION_TYPE_ID, pointIds[i]);
-			// get the list of preference page ids from the preferenceids
-			// attribute
-			if (config != null) {
-				String preferenceIdsString = config.getAttribute(EXTENSION_ATTRIBUTE_PREFERENCE_IDS);
-				// separate out the list of preference ids
-				if (preferenceIdsString != null) {
-					StringTokenizer tokenizer = new StringTokenizer(preferenceIdsString, ","); //$NON-NLS-1$
-					while (tokenizer.hasMoreTokens()) {
-						String prefId = tokenizer.nextToken().trim();
-						prefIds.add(prefId);
-					}
-				}
-			}
-		}
-		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 = 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;
-	}
-
-	private IModelManager getModelManager() {
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	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(ResourceHandler.getString("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 0d41148..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/FilePreferencePage.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.sse.ui.preferences.ui;
-
-
-
-import org.eclipse.core.runtime.Platform;
-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.IModelManagerPlugin;
-import org.eclipse.wst.sse.ui.internal.preferences.TabFolderLayout;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-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 = ResourceHandler.getString("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();
-		}
-		Platform.getPlugin(IModelManagerPlugin.ID).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 3035c38..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/NavigationPreferenceTab.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.ui.preferences.ui;
-
-import java.text.MessageFormat;
-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.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.util.EditorUtility;
-
-
-/**
- * Preference page tab that contains Navigation preferences
- * 
- * @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 = ResourceHandler.getString("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 = ResourceHandler.getString("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 ResourceHandler.getString("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) {
-				MessageFormat messageFormat = new MessageFormat(ResourceHandler.getString("NavigationPreferenceTab.0")); //$NON-NLS-1$
-				Object[] args = {modifiers};
-				String message = messageFormat.format(args);
-				status = new StatusInfo(IStatus.ERROR, message);
-			} else
-				status = new StatusInfo(IStatus.ERROR, ResourceHandler.getString("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 81c8899..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StructuredTextEditorPreferencePage.java
+++ /dev/null
@@ -1,542 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-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.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-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.ui.plugin.AbstractUIPlugin;
-import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-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.nls.ResourceHandler;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-
-
-/**
- * Gutted version of JavaEditorPreferencePage
- * 
- * @author pavery
- */
-public class StructuredTextEditorPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
-
-	private static Text getTextControl(Control[] labelledTextField) {
-		return (Text) labelledTextField[1];
-	}
-
-	private ColorEditor fAppearanceColorEditor;
-	private List fAppearanceColorList;
-
-	private final String[][] fAppearanceColorListModel = new String[][]{{ResourceHandler.getString("StructuredTextEditorPreferencePage.1"), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR}, {ResourceHandler.getString("StructuredTextEditorPreferencePage.2"), CommonEditorPreferenceNames.MATCHING_BRACKETS_COLOR}, {ResourceHandler.getString("StructuredTextEditorPreferencePage.3"), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR}, {ResourceHandler.getString("StructuredTextEditorPreferencePage.4"), AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR}, {ResourceHandler.getString("StructuredTextEditorPreferencePage.5"), CommonEditorPreferenceNames.LINK_COLOR},}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
-	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 ModifyListener fNumberFieldListener = new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			numberFieldChanged((Text) e.widget);
-		}
-	};
-
-	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 ModifyListener fTextFieldListener = new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			Text text = (Text) e.widget;
-			fOverlayStore.setValue((String) fTextFields.get(text), text.getText());
-		}
-	};
-
-	private Map fTextFields = new HashMap();
-
-	public StructuredTextEditorPreferencePage() {
-		setDescription(ResourceHandler.getString("StructuredTextEditorPreferencePage.6")); //$NON-NLS-1$
-		setPreferenceStore(((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).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;
-	}
-
-	/**
-	 * 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(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};
-	}
-
-	private 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.
-	 */
-	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 = ResourceHandler.getString("StructuredTextEditorPreferencePage.16"); //$NON-NLS-1$
-		addTextField(appearanceComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH, 3, 0, true);
-
-		label = ResourceHandler.getString("StructuredTextEditorPreferencePage.17"); //$NON-NLS-1$
-		addTextField(appearanceComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN, 3, 0, true);
-
-		label = ResourceHandler.getString("StructuredTextEditorPreferencePage.18"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER, 0);
-
-		label = ResourceHandler.getString("StructuredTextEditorPreferencePage.19"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER, 0);
-
-		label = ResourceHandler.getString("StructuredTextEditorPreferencePage.20"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, label, CommonEditorPreferenceNames.MATCHING_BRACKETS, 0);
-
-		label = ResourceHandler.getString("StructuredTextEditorPreferencePage.21"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE, 0);
-
-		label = ResourceHandler.getString("StructuredTextEditorPreferencePage.22"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, label, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN, 0);
-
-		label = ResourceHandler.getString("StructuredTextEditorPreferencePage.31"); //$NON-NLS-1$
-		addCheckBox(appearanceComposite, label, CommonEditorPreferenceNames.SHOW_QUICK_FIXABLES, 0);
-
-		label = ResourceHandler.getString("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(ResourceHandler.getString("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 = ResourceHandler.getString("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 navigationTab = new NavigationPreferenceTab(this, fOverlayStore);
-		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(ResourceHandler.getString("StructuredTextEditorPreferencePage.0")); //$NON-NLS-1$
-		item.setControl(createAppearancePage(folder));
-
-		item = new TabItem(folder, SWT.NONE);
-		item.setText(navigationTab.getTitle());
-		item.setControl(navigationTab.createContents(folder));
-
-		item = new TabItem(folder, SWT.NONE);
-		item.setText(hoversTab.getTitle());
-		item.setControl(hoversTab.createContents(folder));
-
-		fTabs = new IPreferenceTab[]{navigationTab, 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.BOOLEAN, CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CommonEditorPreferenceNames.SHOW_QUICK_FIXABLES));
-
-		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.STRING, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE_COLOR));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_CURRENT_LINE));
-
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH));
-
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLOR));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.INT, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_PRINT_MARGIN));
-
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_OVERVIEW_RULER));
-
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.STRING, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER_COLOR));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, AbstractDecoratedTextEditorPreferenceConstants.EDITOR_LINE_NUMBER_RULER));
-
-		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 IModelManagerPlugin getModelManagerPlugin() {
-
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin;
-	}
-
-	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));
-		}
-	}
-
-	private 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);
-	}
-
-	/*
-	 * (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();
-		EditorPlugin.getDefault().savePluginPreferences();
-
-		// tab width is also a model-side preference so need to set it
-		int tabWidth = getPreferenceStore().getInt(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_TAB_WIDTH);
-		getModelManagerPlugin().getPluginPreferences().setValue(CommonModelPreferenceNames.TAB_WIDTH, tabWidth);
-		((Plugin) getModelManagerPlugin()).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(ResourceHandler.getString("StructuredTextEditorPreferencePage.37")); //$NON-NLS-1$
-		} else {
-			try {
-				int value = Integer.parseInt(number);
-				if (value < 0)
-					status.setError(number + ResourceHandler.getString("StructuredTextEditorPreferencePage.38")); //$NON-NLS-1$
-			} catch (NumberFormatException e) {
-				status.setError(number + ResourceHandler.getString("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 fe1b767..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/StyledTextColorPicker.java
+++ /dev/null
@@ -1,940 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.nls.ResourceHandler;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-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, ResourceHandler.getString("Content_type__UI_")); //$NON-NLS-1$ = "Content type:"
-		// Contexts combo box
-		fStyleCombo = createCombo(styleRow, new String[0], -1);
-		fClearStyle = createPushButton(styleRow, ResourceHandler.getString("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, ResourceHandler.getString("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, ResourceHandler.getString("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, ResourceHandler.getString("Bold_UI_")); //$NON-NLS-1$ = "Bold"
-		if (showItalic)
-			fItalic = createCheckBox(styleRow2, ResourceHandler.getString("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, ResourceHandler.getString("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, ResourceHandler.getString("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;
-	}
-
-	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();
-	}
-
-	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 9e5eba5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TaskTagPreferenceTab.java
+++ /dev/null
@@ -1,516 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.Platform;
-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.IModelManagerPlugin;
-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.EditorPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-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 ResourceHandler.getString("TaskTagPreferenceTab.0"); //$NON-NLS-1$
-					} else if (fPriorities[i].intValue() == IMarker.PRIORITY_LOW) {
-						return ResourceHandler.getString("TaskTagPreferenceTab.1"); //$NON-NLS-1$
-					} else {
-						return ResourceHandler.getString("TaskTagPreferenceTab.2"); //$NON-NLS-1$
-					}
-				}
-			}
-			return ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("TaskTagPreferenceTab.7")); //$NON-NLS-1$
-			label.setLayoutData(new GridData());
-			priorityCombo = new Combo(composite, SWT.READ_ONLY | SWT.SINGLE);
-			priorityCombo.setItems(new String[]{ResourceHandler.getString("TaskTagPreferenceTab.8"), ResourceHandler.getString("TaskTagPreferenceTab.9"), ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("TaskTagPreferenceTab.12")); //$NON-NLS-1$
-		TableColumn priorityColumn = new TableColumn(valueTable.getTable(), SWT.NONE, 1);
-		priorityColumn.setText(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("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 ResourceHandler.getString("TaskTagPreferenceTab.20"); //$NON-NLS-1$
-	}
-
-	private void loadPreferenceValues() {
-		Plugin modelPlugin = Platform.getPlugin(IModelManagerPlugin.ID);
-		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) {
-		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) {
-		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();
-		isDirty = false;
-	}
-
-	public void performDefaults() {
-		Plugin modelPlugin = Platform.getPlugin(IModelManagerPlugin.ID);
-		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() {
-		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(), ResourceHandler.getString("TaskTagPreferenceTab.22"), fControl.getShell().getImage(), ResourceHandler.getString("TaskTagPreferenceTab.23"), MessageDialog.QUESTION, new String[]{ResourceHandler.getString("TaskTagPreferenceTab.24"), ResourceHandler.getString("TaskTagPreferenceTab.25"), ResourceHandler.getString("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(ResourceHandler.getString("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, EditorPlugin.ID, IStatus.OK, ResourceHandler.getString("TaskTagPreferenceTab.28"), null); //$NON-NLS-1$
-						} else if (errorCount == 0) {
-							status = new Status(IStatus.OK, EditorPlugin.ID, IStatus.OK, ResourceHandler.getString("TaskTagPreferenceTab.29"), null); //$NON-NLS-1$
-						} else {
-							status = new Status(IStatus.ERROR, EditorPlugin.ID, IStatus.OK, ResourceHandler.getString("TaskTagPreferenceTab.30"), null); //$NON-NLS-1$
-						}
-						return status;
-					}
-				};
-				buildJob.schedule(500);
-			}
-
-		}
-		isDirty = false;
-	}
-
-	/**
-	 * @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 = Platform.getPlugin(IModelManagerPlugin.ID);
-		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 2643855..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TextHoverPreferenceTab.java
+++ /dev/null
@@ -1,447 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.EditorPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.internal.preferences.OverlayPreferenceStore;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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 = ResourceHandler.getString("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(ResourceHandler.getString("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(ResourceHandler.getString("TextHoverPreferenceTab.nameColumnTitle")); //$NON-NLS-1$
-		fNameColumn.setResizable(true);
-
-		fModifierColumn = new TableColumn(fHoverTable, SWT.NONE);
-		fModifierColumn.setText(ResourceHandler.getString("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(ResourceHandler.getString("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 = ResourceHandler.getString("JavaEditorHoverConfigurationBlock.insertDelimiterAndModifierAndDelimiter", new String[]{Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
-					else if (needsPrefixDelimiter)
-						insertString = ResourceHandler.getString("JavaEditorHoverConfigurationBlock.insertDelimiterAndModifier", new String[]{Action.findModifierString(e.stateMask)}); //$NON-NLS-1$
-					else if (needsPostfixDelimiter)
-						insertString = ResourceHandler.getString("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(ResourceHandler.getString("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.BOOLEAN, CommonEditorPreferenceNames.EDITOR_ANNOTATION_ROLL_OVER));
-		overlayKeys.add(new OverlayPreferenceStore.OverlayKey(OverlayPreferenceStore.BOOLEAN, CommonEditorPreferenceNames.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE));
-		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 EditorPlugin.getDefault().getTextHoverManager();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#getTitle()
-	 */
-	public String getTitle() {
-		return ResourceHandler.getString("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, ResourceHandler.getString("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, ResourceHandler.getString("TextHoverPreferenceTab.modifierIsNotValidForHover", new String[]{fTextHovers[i].getModifierString(), label})); //$NON-NLS-1$
-				else if (stateMasks.containsKey(stateMask))
-					status = new StatusInfo(IStatus.ERROR, ResourceHandler.getString("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 24d9d46..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/preferences/ui/TranslucencyPreferenceTab.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.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.EditorPlugin;
-import org.eclipse.wst.sse.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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 = ResourceHandler.getString("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 EditorPlugin.getDefault().getPreferenceStore();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#getTitle()
-	 */
-	public String getTitle() {
-		return ResourceHandler.getString("TranslucencyPreferenceTab.0"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.sse.ui.preferences.ui.IPreferenceTab#performApply()
-	 */
-	public void performApply() {
-		fTranslucencyScale.store();
-		EditorPlugin.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 61dae51..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistry.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.registry;
-
-import java.util.Iterator;
-
-/**
- * This is basically a "factory for factories". It is to used to associate
- * "edit time" AdapterFactories with a StrucutredModel, based on the
- * IStructuredModel's ContentTypeDescription. In plugin.xml files, there
- * should be an AdapterFactoryProvider defined for every definition of
- * ContentTypeDescription.
- */
-public interface AdapterFactoryRegistry {
-
-	//NSD: David, shouldn't this be named getAdapterFactoryProviders?
-	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 fc29a41..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/registry/AdapterFactoryRegistryImpl.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.sse.ui.registry;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.wst.sse.ui.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 contentType) {
-
-		if (DEBUG) {
-			System.out.println("====================================================================================");
-			System.out.println("GETTING ADAPTER FACTORIES for: " + contentType);
-		}
-
-		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(contentType));
-
-		if (DEBUG) {
-			System.out.println("====================================================================================");
-		}
-
-		return results.iterator();
-	}
-
-	/**
-	 * 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 contentType
-	 * @return
-	 */
-	public List getAdapterFactoriesAsList(String contentType) {
-
-		List results = new ArrayList();
-
-		// get element2Provider map for specified content type
-		Object o = hashMap.get(contentType);
-		if (o != null) {
-
-			// instantiate if necessary from element2adapterFactoryProvider
-			// map
-			HashMap element2Provider = (HashMap) 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 c253277..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.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.ui.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) {
-		IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-		IExtensionPoint point = pluginRegistry.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 38d93d2..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.IPluginRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.sse.ui.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) {
-		IPluginRegistry pluginRegistry = Platform.getPluginRegistry();
-		IExtensionPoint point = pluginRegistry.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 50cea80..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/AbstractLineStyleProvider.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
- *     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)
-	 * 
-	 * @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 2a4a817..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/Highlighter.java
+++ /dev/null
@@ -1,545 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.Map;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-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.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.swt.widgets.Display;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-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 IPropertyChangeListener fForegroundScaleListener = new IPropertyChangeListener() {
-		public void propertyChange(PropertyChangeEvent event) {
-			if (CommonEditorPreferenceNames.READ_ONLY_FOREGROUND_SCALE.equals(event.getProperty())) {
-				IPreferenceStore editorStore = ((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).getPreferenceStore();
-				readOnlyForegroundScaleFactor = editorStore.getInt(CommonEditorPreferenceNames.READ_ONLY_FOREGROUND_SCALE);
-				disposeColorTable();
-				refreshDisplay();
-			}
-		}
-	};
-	private int fSavedLength = -1;
-
-	private int fSavedOffset = -1;
-	private StyleRange[] fSavedRanges = null;
-
-	private IStructuredDocument fStructuredDocument;
-	private HashMap fTableOfProviders;
-	private ArrayList holdStyleResults;
-
-	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;
-		}
-	}
-
-	// never used
-	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 adjustForground(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();
-
-		// for client/provider simplicity (and consisten look and feel)
-		// we'll handle readonly regions in one spot, here in highlighter.
-		// though I suspect may have to be more sophisticated later.
-		// For example, it a fair assumption that each readonly region
-		// be on an ITextRegion boundry, but we do combine consequtive
-		// styles, when found to be equivilent.
-		// Plus, for now, we'll just adjust background. Eventually
-		// will us a "dimming" algrorightm. 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)) {
-					// should do background first. Its used by forground
-					//adjustBackground(styleRange);
-					adjustForground(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;
-	}
-
-	// TODO: never used
-	 Display getDisplay() {
-
-		return PlatformUI.getWorkbench().getDisplay();
-	}
-
-	protected IStructuredDocument getDocument() {
-
-		return fStructuredDocument;
-	}
-
-	/**
-	 * Method getProviderFor.
-	 * 
-	 * @param typedRegion
-	 * @return LineStyleProvider
-	 */
-	private LineStyleProvider getProviderFor(ITypedRegion typedRegion) {
-		String type = typedRegion.getType();
-		LineStyleProvider result = (LineStyleProvider) fTableOfProviders.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 = ((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).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 = EMPTY_STYLE_RANGE;
-		try {
-			if (getDocument() == null) {
-
-				// during initialization, this is sometimes called before our
-				// structured
-				// 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 node for it!
-			if (length == 0) {
-				eventStyles = EMPTY_STYLE_RANGE;
-			} else {
-				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 {
-					// Determine if we're highlighting a visual portion of the
-					// model not
-					// starting at zero. If so, adjust the location from which
-					// we retrieve
-					// the style information
-					if (vr.getOffset() > 0) {
-						start += vr.getOffset();
-						end += vr.getOffset();
-					}
-					//					// ================
-					//					if (start == fSavedOffset && length == fSavedLength &&
-					// fSavedRanges != null) {
-					//						eventStyles = (StyleRange[]) fSavedRanges;
-					//					} else {
-
-					ITypedRegion[] partitions = getDocument().getDocumentPartitioner().computePartitioning(start, length);
-					eventStyles = prepareStyleRangesArray(partitions, start, length);
-
-					// If there is a subtext offset, the style ranges must be
-					// adjusted to the expected
-					// offsets
-					if (vr.getOffset() > 0)
-						adjust(eventStyles, -vr.getOffset());
-
-					//						fSavedOffset = start;
-					//						fSavedLength = length;
-					//						fSavedRanges = (StyleRange[]) eventStyles;
-
-					// 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$
-			}
-		}
-		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 I 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 (holdStyleResults == null) {
-			holdStyleResults = new ArrayList(20);
-		} else {
-			holdStyleResults.clear();
-		}
-
-		// to do: make some of these instance variables to prevent creation on
-		// stack
-		LineStyleProvider attributeProvider = null;
-		boolean handled = false;
-		for (int i = 0; i < partitions.length; i++) {
-			ITypedRegion typedRegion = partitions[i];
-			attributeProvider = getProviderFor(typedRegion);
-
-			// //REMINDER: eventually need to remove this one, and use only
-			// structuredDocument
-			//attributeProvider.init(getModel(), this);
-			attributeProvider.init(getDocument(), this);
-
-			//				handled = attributeProvider.prepareRegions(typedRegion, start,
-			// length, holdStyleResults);
-			handled = attributeProvider.prepareRegions(typedRegion, typedRegion.getOffset(), typedRegion.getLength(), holdStyleResults);
-			if (Debug.syntaxHighlighting && !handled) {
-				System.out.println("Did not handle highlighting in Highlighter inner while"); //$NON-NLS-1$
-			}
-		}
-
-		int resultSize = holdStyleResults.size();
-		if (resultSize == 0) {
-			result = EMPTY_STYLE_RANGE;
-		} else {
-			result = new StyleRange[resultSize];
-			holdStyleResults.trimToSize();
-			System.arraycopy(holdStyleResults.toArray(), 0, result, 0, resultSize);
-		}
-		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;
-	}
-
-	/*
-	 * (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();
-		}
-
-		IPreferenceStore editorStore = ((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).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 bb9a275..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/IHighlighter.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
- *     
- *******************************************************************************/
-/*
- * Created on Mar 17, 2003
- *
- * To change this generated comment go to 
- * Window>Preferences>Java>Code Generation>Code and Comments
- */
-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
- * 
- * To change this generated comment go to Window>Preferences>Java>Code
- * Generation>Code and Comments
- */
-public interface IHighlighter extends LineStyleListener {
-
-	public void addProvider(String partitionType, LineStyleProvider provider);
-
-	void install(ITextViewer viewer);
-
-	public void removeProvider(String partitionType);
-
-	public 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 3484eb4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/style/LineStyleProvider.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.style;
-
-
-
-import java.util.Collection;
-
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.wst.sse.core.text.IStructuredDocument;
-
-
-public interface LineStyleProvider {
-
-	void init(IStructuredDocument document, Highlighter highlighter);
-
-	/**
-	 * This method must add StyleRanges to the holdResults collection, for the
-	 * text starting with startStructuredDocumentRegion and ending with
-	 * endStructuredDocumentRegion.
-	 */
-	boolean prepareRegions(ITypedRegion currentRegion, int start, int length, Collection holdResults);
-
-	/**
-	 * This method allows the implementer to free up any "resources" they
-	 * might be holding on to (such as listening for preference changes)
-	 */
-	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 1c8fc79..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.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 29fead4..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/AnnotationHoverProcessor.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
- *     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.core.runtime.Platform;
-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.plugin.AbstractUIPlugin;
-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.nls.ResourceHandler;
-
-
-/**
- * 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 static final String EDITOR_PLUGIN_ID = "org.eclipse.wst.sse.ui"; //$NON-NLS-1$
-	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(ResourceHandler.getString("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 = ((AbstractUIPlugin) Platform.getPlugin(EDITOR_PLUGIN_ID)).getPreferenceStore();
-			IPreferenceStore baseEditorPrefs = EditorsUI.getPreferenceStore();
-			fPreferenceStore = new ChainedPreferenceStore(new IPreferenceStore[]{sseEditorPrefs, baseEditorPrefs});
-		}
-		return fPreferenceStore;
-	}
-
-	protected boolean isAnnotationValid(Annotation a) {
-		AnnotationPreference preference = getAnnotationPreference(a);
-		String textPreferenceKey = preference.getTextPreferenceKey();
-		String highlightPreferenceKey = preference.getHighlightPreferenceKey();
-		if (preference == null || 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 4b08bc0..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.ui.workbench.texteditor.error"; //$NON-NLS-1$
-	final private String ANNOTATION_WARNING = "org.eclipse.ui.workbench.texteditor.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 45b5798..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/taginfo/TextHoverManager.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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.sse.ui.taginfo;
-
-import java.util.HashMap;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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, ResourceHandler.getString(id + LABEL_KEY), ResourceHandler.getString(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], ResourceHandler.getString(TEXT_HOVER_IDS[i] + LABEL_KEY), ResourceHandler.getString(TEXT_HOVER_IDS + DESCRIPTION_KEY));
-			}
-		}
-		return descriptors;
-	}
-
-	private IPreferenceStore getPreferenceStore() {
-		return ((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).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 f2911a6..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/AccessibleInputDialog.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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>
- */
-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 6435380..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.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();
-		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();
-		}
-	}
-
-	/**
-	 * 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();
-		}
-		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 5ef6f26..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.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-
-
-/**
- * Utility to display (and/or clear) messages on the status line.
- * 
- * @author pavery
- */
-public class PlatformStatusLineUtil {
-
-	private class ClearErrorMessage implements Runnable {
-		public void run() {
-			displayMessage(null);
-		}
-	}
-
-	/**
-	 * Used to clear message on focus loss, change of selection, key type,
-	 * etc...
-	 */
-	private 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();
-		}
-	}
-
-	// end OneTimeListener
-
-	private static PlatformStatusLineUtil singleton = null;
-
-	/**
-	 * Status line will be cleared w/ key type, or selection change
-	 * 
-	 * @param widget
-	 */
-	public static void addOneTimeClearListener() {
-		IEditorPart editor = getActiveEditor();
-		if (editor != null && editor instanceof StructuredTextEditor)
-			addOneTimeClearListener((StructuredTextEditor) editor);
-	}
-
-	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) {
-		getInstance().new OneTimeListener(widget, getInstance().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) {
-			IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();
-			if (windows.length > 0)
-				window = windows[0];
-		}
-		if (window != null) {
-			IWorkbenchPage page = window.getActivePage();
-			if (page != null)
-				editor = page.getActiveEditor();
-		}
-		return editor;
-	}
-
-	private static PlatformStatusLineUtil getInstance() {
-		if (singleton == null)
-			singleton = new PlatformStatusLineUtil();
-		return singleton;
-	}
-
-	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 5bc0b9c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/RegistryReader.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.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.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.wst.sse.ui.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();
-		IPluginDescriptor descriptor = extension.getDeclaringPluginDescriptor();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + descriptor.getUniqueIdentifier() + ", 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).getDeclaringPluginDescriptor().getUniqueIdentifier().toUpperCase();
-				String s2 = ((IExtension) extension2).getDeclaringPluginDescriptor().getUniqueIdentifier().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());
-	}
-
-	/**
-	 * Start the registry reading process using the supplied plugin ID and
-	 * extension point.
-	 */
-	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]);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/ShowViewAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/ShowViewAction.java
deleted file mode 100644
index 5872549..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/util/ShowViewAction.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.util;
-
-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;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-/**
- * 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 = EditorPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow();
-		IWorkbenchPage page = window.getActivePage();
-		if (page != null) {
-			try {
-				page.showView(getViewID());
-			} catch (PartInitException e) {
-				ErrorDialog.openError(window.getShell(), ResourceHandler.getString("ShowView.errorTitle"), //$NON-NLS-1$
-							e.getMessage(), e.getStatus());
-			}
-		}
-	}
-}
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/BufferedOutlineUpdater.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/BufferedOutlineUpdater.java
deleted file mode 100644
index e87f685..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/BufferedOutlineUpdater.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.views.contentoutline;
-
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-import org.w3c.dom.Node;
-
-
-/**
- * Can handle multiple subsequent calls to processNode(..) by buffering them
- * w/ the JobManager. 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 Node fSmallestParent = null;
-
-	private Node getSmallestParent() {
-		return fSmallestParent;
-	}
-
-	/**
-	 * @param structuredViewer
-	 *            the viewer we are updating
-	 * @param 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 /*
-												   * &&
-												   * !structuredViewer.getControl().isDisposed() &&
-												   * structuredViewer.getControl().isVisible()
-												   */) {
-			final RefreshOutlineJob refreshJob = new RefreshOutlineJob(ResourceHandler.getString("JFaceNodeAdapter.0"), structuredViewer, getSmallestParent(), node); //$NON-NLS-1$
-			refreshJob.addJobChangeListener(new JobChangeAdapter() {
-				public void done(IJobChangeEvent event) {
-					super.done(event);
-					// each job reports the newly calculated minimal affected
-					// node
-					setSmallestParent(refreshJob.getSmallestParent());
-					refreshJob.removeJobChangeListener(this);
-				}
-			});
-			refreshJob.schedule();
-		}
-	}
-
-	/**
-	 * @param node
-	 */
-	private void setSmallestParent(Node node) {
-		fSmallestParent = node;
-	}
-
-}
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 341f39c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/PropertyChangeUpdateAction.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.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.
- */
-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);
-		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 a95b538..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/PropertyChangeUpdateActionContributionItem.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.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 listerner
- */
-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/RefreshOutlineJob.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/RefreshOutlineJob.java
deleted file mode 100644
index 121e1f5..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/RefreshOutlineJob.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.ui.views.contentoutline;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-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.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.viewers.StructuredViewer;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.progress.UIJob;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-import org.w3c.dom.Node;
-
-
-public class RefreshOutlineJob extends Job {
-
-	/**
-	 * Tree refresh must be done on UI Thread so UIJob is used
-	 */
-	public class RefreshJob extends UIJob {
-		StructuredViewer viewer = null;
-
-		public RefreshJob(StructuredViewer structuredViewer) {
-			// might need a different label, like "Refreshing Outline"
-			super(ResourceHandler.getString("JFaceNodeAdapter.0"));
-			this.viewer = structuredViewer;
-		}
-
-		public IStatus runInUIThread(IProgressMonitor monitor) {
-
-			IStatus status = Status.OK_STATUS;
-			//monitor.beginTask("", IProgressMonitor.UNKNOWN);
-			try {
-				Control control = this.viewer.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()) {
-					Node smallest = getSmallestParent();
-					if (smallest == null || smallest.getParentNode() == null) {
-						// refresh whole document
-						this.viewer.refresh();
-						if (DEBUG)
-							System.out.println("refreshing viewer (entire tree)");
-					} else {
-						// refresh only the node that's changed
-						this.viewer.refresh(smallest);
-						if (DEBUG)
-							System.out.println("refreshing viewer on (" + smallest + ")");
-					}
-				}
-			} catch (Exception e) {
-				status = errorStatus(e);
-			} finally {
-				monitor.done();
-			}
-			return status;
-		}
-	}
-
-	// 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$
-	}
-	private Node fPossibleParent = null;
-	private Set fPruned = null;
-	private Node fSmallestParent = null;
-
-	// end RefreshJob class
-
-	private StructuredViewer fStructuredViewer;
-
-	/**
-	 * name is the name of the Job (like which out line is being updated)
-	 * possibleParent cannot be null.
-	 * 
-	 * @param name
-	 * @param structuredViewer
-	 * @param currentParent
-	 * @param possibleParent
-	 */
-	public RefreshOutlineJob(String name, StructuredViewer structuredViewer, Node currentParent, Node possibleParent) {
-		super(name);
-
-		setPriority(Job.SHORT);
-		setSystem(true);
-
-		fPruned = new HashSet();
-		setPossibleParent(possibleParent);
-		if (currentParent == null)
-			setSmallestParent(fPossibleParent);
-		setStructuredViewer(structuredViewer);
-	}
-
-	// each pruned node represents a subtree
-	private void addPruned(Node n) {
-		if (DEBUG)
-			System.out.println("(-) pruned node: " + n.getNodeName());
-		fPruned.add(n);
-	}
-
-
-	/**
-	 * Calculates minimal common parent between the previous parent (passed in
-	 * constructor) and the notifier (also passed in the constructor), and
-	 * calls setSmallsetParent(...) with the result.
-	 */
-	private void calculateSmallestCommonParent() {
-		// quick checks
-		if (getPossibleParent() == null)
-			return;
-		// document root
-		if (getPossibleParent().getParentNode() == null) {
-			setSmallestParent(getPossibleParent());
-			if (DEBUG)
-				System.out.println("*** found smallest parent for refresh: " + getPossibleParent());
-			return;
-		}
-		// we already have document root
-		if (getSmallestParent() != null && getSmallestParent().getParentNode() == null) {
-			if (DEBUG)
-				System.out.println("*** already have smallest parent for refresh: " + getSmallestParent());
-			return;
-		}
-
-		// check one side
-		if (!contains(getPossibleParent(), getSmallestParent())) {
-
-			addPruned(getPossibleParent());
-			// check other side
-			if (!contains(getSmallestParent(), getPossibleParent())) {
-
-				addPruned(getSmallestParent());
-				// keep climbing up and searching now
-				Node parent = getSmallestParent();
-				while (parent != null) {
-					// check subtree
-					if (contains(parent, getPossibleParent())) {
-						// we found it, it's parent
-						setSmallestParent(parent);
-						if (DEBUG)
-							System.out.println("*** found smallest parent for refresh: " + parent);
-						break;
-					} else {
-						// not in this subtree
-						addPruned(parent);
-					}
-					parent = parent.getParentNode();
-				}
-			} else {
-				// its smaller parent (we already have it)
-			}
-		} else {
-			// it's the new possible one
-			if (DEBUG)
-				System.out.println("*** found smallest parent for refresh: " + getPossibleParent());
-			setSmallestParent(getPossibleParent());
-		}
-	}
-
-	/**
-	 * @return if the root is parent of possible, return true, otherwise
-	 *         return false
-	 */
-	protected 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("--------------------------------------------------------------------------------------------------------------");
-		}
-
-		// can't contain the parent if it's null
-		if (root == null)
-			return false;
-		// it's the root node
-		if (root.getParentNode() == null)
-			return true;
-		// no parent set yet
-		if (getSmallestParent() == null)
-			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 && !isPruned(current.getFirstChild())) {
-				return contains(current.getFirstChild(), possible);
-			}
-			// already checked subtree, eliminate
-			addPruned(current);
-			current = current.getNextSibling();
-		}
-
-		// never found it
-		return false;
-	}
-
-	private Node getPossibleParent() {
-		return fPossibleParent;
-	}
-
-	public Node getSmallestParent() {
-		return fSmallestParent;
-	}
-
-	private StructuredViewer getStructuredViewer() {
-		return fStructuredViewer;
-	}
-
-	/**
-	 * @return true if this job is the last RefreshOutlineJob running
-	 */
-	private boolean iAmLast() {
-
-		IJobManager jobManager = Platform.getJobManager();
-		Job[] jobs = jobManager.find(null);
-		Job job = null;
-		for (int i = 0; i < jobs.length; i++) {
-			job = jobs[i];
-			if (job instanceof RefreshOutlineJob || job instanceof RefreshOutlineJob.RefreshJob) {
-
-				int state = job.getState();
-				if (state == Job.RUNNING || state == Job.WAITING) {
-					if (jobs[i] != this) {
-						if (DEBUG)
-							System.out.println("... still waiting for another refresh job: " + jobs[i]);
-						return false;
-					}
-				}
-			}
-		}
-		return true;
-	}
-
-	private boolean isPruned(Node n) {
-		Iterator it = fPruned.iterator();
-		while (it.hasNext()) {
-			if (it.next().equals(n))
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * perform on UI Thread
-	 */
-	public void refreshViewer() {
-
-		Job refresh = new RefreshJob(getStructuredViewer());
-		refresh.setPriority(Job.SHORT);
-		refresh.setSystem(true);
-		refresh.schedule();
-	}
-
-	/**
-	 * perform on worker thread
-	 */
-	public IStatus run(IProgressMonitor monitor) {
-
-		IStatus result = Status.OK_STATUS;
-		// monitor.beginTask("", IProgressMonitor.UNKNOWN);
-		try {
-			calculateSmallestCommonParent();
-
-			// only the last one should update the outline
-			// in case many requests came in consecutively
-			if (iAmLast()) {
-				refreshViewer();
-			}
-		} catch (Exception e) {
-			result = new Status(IStatus.ERROR, EditorPlugin.ID, IStatus.ERROR, "Error updating outline", e);
-		} finally {
-			monitor.done();
-		}
-		return result;
-	}
-
-	private void setPossibleParent(Node possibleParent) {
-		fPossibleParent = possibleParent;
-	}
-
-	private void setSmallestParent(Node newParent) {
-		fSmallestParent = newParent;
-	}
-
-	/**
-	 * @param structuredViewer
-	 */
-	private void setStructuredViewer(StructuredViewer structuredViewer) {
-		fStructuredViewer = structuredViewer;
-
-	}
-}
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 4e766bc..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/StructuredContentOutlineConfiguration.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.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.EditorPlugin;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.StructuredTextEditor;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-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(ResourceHandler.getString("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(ResourceHandler.getString("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$
-
-	protected ImageDescriptor SYNCED_D = EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_DLCL_SYNCED);
-	protected 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(EditorPlugin.getInstance().getPreferenceStore(), getLinkPreferenceKey()));
-		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 getEditor().getViewerSelectionManager();
-	}
-
-	/**
-	 * @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;
-	}
-
-	protected String getLinkPreferenceKey() {
-		return PreferenceKeyGenerator.generateKey(OUTLINE_LINK_PREF, getDeclaringID());
-	}
-
-	/*
-	 * (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 getEditor().getViewerSelectionManager();
-	}
-
-	/*
-	 * (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;
-	}
-}
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 1a9d984..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/contentoutline/StructuredTextEditorContentOutlinePage.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
- *     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.IContributionItem;
-import org.eclipse.jface.action.IContributionManager;
-import org.eclipse.jface.action.IMenuListener;
-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.ISelectionListener;
-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 {
-	// 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;
-		}
-	}
-
-	protected static ContentOutlineConfiguration NULL_CONFIGURATION = new ContentOutlineConfiguration();
-	private TransferDragSourceListener[] fActiveDragListeners;
-	private TransferDropTargetListener[] fActiveDropListeners;
-	private ContentOutlineConfiguration fConfiguration;
-
-	private MenuManager fContextMenuManager;
-	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 IModelStateListener fInternalModelStateListener;
-
-	public StructuredTextEditorContentOutlinePage() {
-		super();
-		//fInternalModelStateListener = new ControlRedrawEnabler();
-		fSelection = StructuredSelection.EMPTY;
-	}
-
-	/**
-	 * @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();
-		// remove this text viewer from the old model's list of model state
-		// listeners
-		//if (fModel != null)
-		//	fModel.removeModelStateListener(fInternalModelStateListener);
-		// 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);
-			}
-		}
-	}
-
-	/*
-	 * (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);
-			}
-			// 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.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);
-			// (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));
-			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);
-			}
-			IContributionItem[] menuItems = getConfiguration().getMenuContributions(fTreeViewer);
-			if (menuItems.length > 0 && getSite().getActionBars().getMenuManager() != null) {
-				IContributionManager menu = getSite().getActionBars().getMenuManager();
-				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]);
-			}
-		}
-	}
-
-	/**
-	 * 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/AdapterPropertySheetEntryLabelProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/AdapterPropertySheetEntryLabelProvider.java
deleted file mode 100644
index c3c9f5c..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/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.views.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/views/properties/AdapterPropertySourceProvider.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/AdapterPropertySourceProvider.java
deleted file mode 100644
index 9c3c57d..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/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.views.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/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 5b63f0f..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/ConfigurablePropertySheetPage.java
+++ /dev/null
@@ -1,277 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.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/EnumeratedStringPropertyDescriptor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/EnumeratedStringPropertyDescriptor.java
deleted file mode 100644
index 4db65fc..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/EnumeratedStringPropertyDescriptor.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.views.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;
-
-	/**
-	 * Returns a property descriptor with a name.
-	 * 
-	 * @param name
-	 *            the unique name of the property
-	 * @param displayName
-	 *            the name to display for the property
-	 * @param valuesArray
-	 *            an array of possible values
-	 */
-	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.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/RemoveAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/RemoveAction.java
deleted file mode 100644
index c7261e3..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/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.views.properties;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
-import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-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 ResourceHandler.getString("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/views/properties/ShowPropertiesAction.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/ShowPropertiesAction.java
deleted file mode 100644
index 0b117cd..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/ShowPropertiesAction.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.views.properties;
-
-import org.eclipse.ui.help.WorkbenchHelp;
-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;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-import org.eclipse.wst.sse.ui.util.ShowViewAction;
-
-
-/**
- * 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(ResourceHandler.getString("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/views/properties/StringComboBoxCellEditor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/StringComboBoxCellEditor.java
deleted file mode 100644
index a6092e6..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/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.sse.ui.views.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.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.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 76dd144..0000000
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/views/properties/StructuredPropertySheetConfiguration.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.core.runtime.Platform;
-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.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-
-
-/**
- * A PropertySheetConfiguration appropriate for StructuredTextEditors and
- * StructuredModels
- */
-public class StructuredPropertySheetConfiguration extends PropertySheetConfiguration {
-	/**
-	 * Utility method also used in subclasses
-	 */
-	protected static IModelManager getModelManager() {
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	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 = 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.ui/.classpath b/bundles/org.eclipse.wst.xml.ui/.classpath
deleted file mode 100644
index c8f7316..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 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 e80c830..0000000
--- a/bundles/org.eclipse.wst.xml.ui/.project
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xml.ui</name>
-	<comment></comment>
-	<projects>
-		<project>com.ibm.base.extensions.ui</project>
-		<project>org.eclipse.wst.common.encoding</project>
-		<project>org.eclipse.wst.common.contentmodel</project>
-		<project>org.eclipse.wst.xml.uriresolver</project>
-		<project>org.eclipse.wst.xml.uriresolver.xmlutility</project>
-		<project>org.eclipse.wst.sse.ui</project>
-		<project>org.eclipse.wst.dtd.ui</project>
-		<project>org.eclipse.wst.sse.ui.extensions</project>
-		<project>org.eclipse.wst.sse.core</project>
-		<project>org.eclipse.wst.xml.core</project>
-		<project>org.eclipse.core.resources</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.core.runtime.compatibility</project>
-		<project>org.eclipse.jdt.ui</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.ide</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench.texteditor</project>
-	</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 7874d09..0000000
--- a/bundles/org.eclipse.wst.xml.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Thu Nov 18 16:23:02 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=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=error

-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.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 39d2bfc..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 3ac486f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/plugin.properties
+++ /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
-#     
-###############################################################################
-SSE_XML_Source_Editor.name=SSE XML Source Editor
-SSE_XML_Source_Editor_NL_Support.name=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_Annotations.name=XML Annotations
-###############################################################################
-SSE_XML_Editor.name=SSE XML Editor
-SSE_XML_Editor_NL_Support.name=SSE XML Editor NL Support
-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
-_UI_CREATE_NEW_XML_FILE=Create a new XML file.
-genMenuLabel=&Generate
-_UI_ACTION_CREATE_XML=&XML File...
-XMLExample.name=Editing and validating XML files
-XMLExampleProjectCreationWizard.name=XML Examples
-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:
-###############################################################################
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 d134395..0000000
--- a/bundles/org.eclipse.wst.xml.ui/plugin.xml
+++ /dev/null
@@ -1,347 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.wst.xml.ui"
-   name="%SSE_XML_Source_Editor.name"
-   version="1.0.0"
-   provider-name="IBM"
-   class="org.eclipse.wst.xml.ui.XMLEditorPlugin">
-
-   <runtime>
-      <library name="xmleditor.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <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.dtd.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"/>
-   </requires>
-
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="%XML_Source_Page_Editor.name"
-            icon="icons/sourceEditor.gif"
-            extensions="tld, nst, xmi, dadx, wsdl"
-            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">
-      <textviewerconfiguration
-            class="org.eclipse.wst.xml.ui.StructuredTextViewerConfigurationXML"
-            target="org.eclipse.wst.xml.core.xmlsource">
-      </textviewerconfiguration>
-      <contentoutlineconfiguration
-            class="org.eclipse.wst.xml.ui.views.contentoutline.XMLContentOutlineConfiguration"
-            target="org.eclipse.wst.xml.core.xmlsource">
-      </contentoutlineconfiguration>
-      <propertysheetconfiguration
-            class="org.eclipse.wst.xml.ui.views.properties.XMLPropertySheetConfiguration"
-            target="org.eclipse.wst.xml.core.xmlsource">
-      </propertysheetconfiguration>
-      <spellchecktarget
-            class="org.eclipse.wst.xml.ui.XMLSpellCheckTarget"
-            target="org.eclipse.wst.xml.core.xmlsource">
-      </spellchecktarget>
-      <sourceeditingtexttools
-            class="org.eclipse.wst.xml.ui.extensions.XMLSourceEditingTextTools"
-            target="org.eclipse.wst.xml.core.xmlsource">
-      </sourceeditingtexttools>
-      <characterpairmatcher
-            class="org.eclipse.wst.xml.ui.text.XMLDocumentRegionEdgeMatcher"
-            target="org.eclipse.wst.xml.core.xmlsource">
-      </characterpairmatcher>
-      <preferencepages
-            preferenceids="org.eclipse.wst.sse.ui.preferences/org.eclipse.wst.sse.ui.preferences.xml"
-            target="org.eclipse.wst.xml.core.xmlsource">
-      </preferencepages>
-   </extension>
-   <extension
-      point="org.eclipse.core.filebuffers.annotationModelCreation">
-      <factory
-            contentTypeId="org.eclipse.wst.xml.core.xmlsource"
-            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.wst.xml.core.xmlsource"/>
-      </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>
-   
-<!-- add a default open on action for xml content type -->
-   <extension
-         point="org.eclipse.wst.sse.ui.openon">
-      <openon
-            class="org.eclipse.wst.xml.ui.openon.DefaultOpenOnXML"
-            id="org.eclipse.wst.xml.ui.openon.DefaultOpenOnXML">
-         <contenttypeidentifier
-               id="org.eclipse.wst.xml.core.xmlsource">
-         </contenttypeidentifier>
-      </openon>
-   </extension>
-<!-- Templates -->
-   <extension
-         point="org.eclipse.ui.editors.templates">
-      <contextType
-            name="All XML context type"
-            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXML"
-            id="xml_all">
-      </contextType>
-      <contextType
-            name="XML Tag context type"
-            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLTag"
-            id="xml_tag">
-      </contextType>
-      <contextType
-            name="XML Attribute context type"
-            class="org.eclipse.wst.xml.ui.templates.TemplateContextTypeXMLAttribute"
-            id="xml_attribute">
-      </contextType>
-      <contextType
-            name="XML Attribute value context type"
-            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="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">
-         <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         -->
-<!-- =============================================================================== -->
-   
-  <extension point="org.eclipse.ui.newWizards"> 
-       <category
-            name="XML"
-            parentCategory="org.eclipse.ui.Examples"
-            id="org.eclipse.wst.xml.examples">
-        </category>
-       <wizard
-            name="%XMLExample.name"
-            class="org.eclipse.wst.xml.ui.internal.wizards.XMLExampleProjectCreationWizard"
-            category="org.eclipse.ui.Examples/org.eclipse.wst.xml.examples" 
-            finalPerspective="org.eclipse.ui.resourcePerspective"
-            id="org.eclipse.wst.xml.ui.XMLExampleProjectCreationWizard"
-            project="true" 
-            icon="icons/newSampleProject_wiz.gif">
-         <description>
-           %XMLExampleProjectCreationWizard.description
-         </description>  
-      </wizard> 
-   </extension>
-   
-   <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">
-            </import>
-        </projectsetup>
-     </wizard>
-   </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 18a781c..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLEditorPluginHOLD_OLD.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.xml.internal.ui;
-
-
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-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;
-
-
-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;
-
-	/**
-	 * XMLEditorPlugin constructor comment.
-	 * 
-	 * @param descriptor
-	 *            com.ibm.itp.core.api.plugins.IPluginDescriptor
-	 */
-	public XMLEditorPluginHOLD_OLD(IPluginDescriptor descriptor) {
-		super(descriptor);
-		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 2e813eb..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.XMLEditorPlugin;
-
-/**
- * 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 = XMLEditorPlugin.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/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 7d670a0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/internal/ui/XMLMultiPageEditorPart.java
+++ /dev/null
@@ -1,772 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms
- * of the Eclipse Public License v1.0 which accompanies this 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.nls.ResourceHandler;
-import org.eclipse.wst.xml.core.XMLPreferenceNames;
-import org.eclipse.wst.xml.ui.Logger;
-import org.eclipse.wst.xml.ui.StructuredTextEditorXML;
-import org.eclipse.wst.xml.ui.XMLEditorPlugin;
-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, org.eclipse.wst.xml.ui.nls2.ResourceHandler.getString("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();
-
-			throw new SourceEditingRuntimeException(ResourceHandler.getString("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(ResourceHandler.getString("23concat_EXC_", (new Object[]{input.getName()}))); //$NON-NLS-1$
-					//$NON-NLS-1$ = "Resource {0} does not exist."
-				} else {
-					throw new PartInitException(ResourceHandler.getString("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(ResourceHandler.getString("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 XMLEditorPlugin.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, XMLEditorPlugin.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 9bf75fb..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.sse.ui.views.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 956c7de..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/ViewerExpandCollapseAction.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.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.util.XMLCommonResources;
-
-
-
-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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 a520562..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeActionBarContributor.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.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.XMLMultiPageEditorPart;
-import org.eclipse.wst.xml.ui.nls2.ResourceHandler;
-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(ResourceHandler.getString("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(ResourceHandler.getString("XMLTableTreeActionBarContributor.1")); //$NON-NLS-1$
-		xmlMenu.add(xmlMenuExpandAction);
-
-		xmlMenuCollapseAction = new ViewerExpandCollapseAction(false);
-		xmlMenuCollapseAction.setId(COLLAPSE_ALL_ID);
-		xmlMenuCollapseAction.setId(EXPAND_ALL_ID);
-		xmlMenuCollapseAction.setText(ResourceHandler.getString("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(ResourceHandler.getString("XMLTableTreeActionBarContributor.3")); //$NON-NLS-1$
-				setText(ResourceHandler.getString("XMLTableTreeActionBarContributor.4")); //$NON-NLS-1$
-				setImageDescriptor(onImage);
-			} else {
-				setToolTipText(ResourceHandler.getString("XMLTableTreeActionBarContributor.5")); //$NON-NLS-1$
-				setText(ResourceHandler.getString("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(ResourceHandler.getString("XMLTableTreeActionBarContributor.7")); //$NON-NLS-1$
-			setText(ResourceHandler.getString("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 7255aaa..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.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 65fe755..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.sse.ui.views.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 6892a84..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeViewer.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.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.ui.actions.NodeAction;
-import org.eclipse.wst.xml.ui.dnd.XMLDragAndDropManager;
-import org.eclipse.wst.xml.ui.nls2.ResourceHandler;
-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 viewer) {
-			this.viewer = viewer;
-		}
-
-		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 ResourceHandler.getString("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 5166eba..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTreeExtension.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2004 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms
- * of the Eclipse Public License v1.0 which accompanies this 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.ui.nls2.ResourceHandler;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-
-public class XMLTreeExtension extends TreeExtension {
-
-	public final static String STRUCTURE_PROPERTY = ResourceHandler.getString("XMLTreeExtension.0"); //$NON-NLS-1$
-	public final static String VALUE_PROPERTY = ResourceHandler.getString("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(ResourceHandler.getString("XMLTreeExtension.3"), 10, 10); //$NON-NLS-1$
-		gc.drawString(ResourceHandler.getString("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-multipage/org/eclipse/wst/xml/ui/nls2/ResourceHandler.java b/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/nls2/ResourceHandler.java
deleted file mode 100644
index 1eae6c1..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/nls2/ResourceHandler.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.xml.ui.nls2;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ResourceHandler {
-
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("xmleditor");//$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String) will return the key
-			// it was called with
-		}
-		return null;
-	}
-
-	public static String getString(String key) {
-		if (fgResourceBundle == null) {
-			fgResourceBundle = getResourceBundle();
-		}
-
-		if (fgResourceBundle != null) {
-			try {
-				return fgResourceBundle.getString(key);
-			} catch (MissingResourceException e) {
-				return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-		}
-	}
-
-	public static String getString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getString(key);
-		}
-
-	}
-
-	public static String getString(String key, Object[] args, int x) {
-
-		return getString(key);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.ui/src-multipage/xmleditor.properties b/bundles/org.eclipse.wst.xml.ui/src-multipage/xmleditor.properties
deleted file mode 100644
index 06d02bc..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-multipage/xmleditor.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-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-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 622b623..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.dialogs.WizardNewFileCreationPage;
-import org.eclipse.wst.xml.ui.XMLEditorPlugin;
-
-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 = XMLEditorPlugin.getInstance().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 56fdd8f..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.XMLModelPlugin;
-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 = XMLModelPlugin.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 f61fb80..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.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.XMLEditorPlugin;
-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(XMLEditorPlugin.getInstance().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 = XMLEditorPlugin.getInstance().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 = XMLEditorPlugin.getInstance().getWorkbench().getEditorRegistry().getDefaultEditor(file.getLocation().toOSString());
-  	if(editor != null){
-  		editorId = editor.getId();
-  	}
-  	IWorkbenchWindow dw = XMLEditorPlugin.getInstance().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 ccc5c5e..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.
- */
-public class XMLExampleProjectCreationWizard extends ExampleProjectCreationWizard {
-	
-	public static String EXAMPLE_WIZARD_XP_ID = "org.eclipse.wst.xml.ui.XMLExampleProjectCreationWizardExtension";  //$NON-NLS-1$
-
-
-	public XMLExampleProjectCreationWizard() {
-		super();
-		
-	}
-	
-	/* (non-Javadoc)
-	 * @see com.ibm.samplegallery.wizards.ExampleProjectCreationWizard#getImageDescriptor(java.lang.String)
-	 */
-	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 0ba438a..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/org/eclipse/wst/xml/ui/internal/wizards/XMLImportActionDelegate.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this 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.core.runtime.Plugin;
-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.wst.xml.ui.XMLEditorPlugin;
-import org.eclipse.wst.xml.uriresolver.util.URIHelper;
-
-public class XMLImportActionDelegate implements IActionDelegate
-{
-// TODO verify these  
-  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.validation.xmltools.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 = XMLEditorPlugin.getInstance().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);
-           
-            Plugin validateXSDPlugin = Platform.getPlugin(validateXSDPluginID);
-            if (validateXSDPlugin != null)
-            {
-              Class xsdValidatorClass, validationReportClass;
-              Object xsdValidatorObject, validationReportObject;
-              
-              ClassLoader classLoader = validateXSDPlugin.getClass().getClassLoader();  // getDescriptor().getPluginClassLoader();
-              xsdValidatorClass = Class.forName(xsdValidatorClassName, true, classLoader);
-
-              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 = Class.forName(validationReportClassName, true, classLoader);              
-              
-              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);
-
-            Plugin validateDTDPlugin = Platform.getPlugin(validateDTDPluginID);
-            
-            if (validateDTDPlugin != null)
-            {
-              Class dtdValidatorClass, validationReportClass;
-              Object dtdValidatorObject, validationReportObject;
-
-              ClassLoader classLoader = validateDTDPlugin.getClass().getClassLoader();
-
-              dtdValidatorClass = Class.forName(dtdValidatorClassName, true, classLoader);
-              
-              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 = Class.forName(validationReportClassName, true, classLoader);              
-              
-              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)
-        {
-        }
-        catch (NoSuchMethodException e)
-        {
-        }
-        catch (IllegalAccessException e)
-        {
-        }
-        catch (InvocationTargetException e)
-        {
-        }
-
-        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)
-  {
-  }
-
-  // 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 419bb6b..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.jface.resource.ImageDescriptor;
-import org.eclipse.wst.xml.ui.XMLEditorPlugin;
-
-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(XMLEditorPlugin.getInstance().getBundle().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 4333b04..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src-wizards/wizardResource.properties
+++ /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
-###############################################################################
-! 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.
-
-!======================================================================================
-!
-! Here is the list of Error string that have message IDs - make sure they are unique
-!  Range for XMLBuilder messageIDs: IWAX1601E - IWAX1800E
-!
-!======================================================================================
-!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         = IWAX1607E 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/EditingXML.properties b/bundles/org.eclipse.wst.xml.ui/src/EditingXML.properties
deleted file mode 100644
index 8371547..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/EditingXML.properties
+++ /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
-#     
-###############################################################################
-## 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=IWAK0108I Expand All
-_UI_INFO_COLLAPSE_ALL=IWAK0109I 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
-
-
-#======================================================================================
-#
-# Here is the list of Error string that have message IDs - make sure they are unique
-# Range for XMLBuilder messageIDs: IWAX1601E - IWAX1800E
-# Since we'll be combing these plugins at some later point we'll use the same range
-# and be carefull not to clobber those defined in xmlbuilder's plugin.properties
-#======================================================================================
-_ERROR_XML_ATTRIBUTE_ALREADY_EXISTS=IWAK0110E 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/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 8d94fe5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/Logger.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;
-
-
-
-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;
-
-/**
- * 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 {
-	public static final int ERROR = IStatus.ERROR; // 4
-	public static final int ERROR_DEBUG = 200 + ERROR;
-	private static Plugin fPlugin = XMLEditorPlugin.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.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 76836f9..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/StructuredTextEditorXML.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.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.search.FindOccurrencesActionProvider;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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 = ResourceHandler.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 d9843d5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/StructuredTextViewerConfigurationXML.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-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.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.plugin.AbstractUIPlugin;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.dtd.ui.style.LineStyleProviderForDTDSubSet;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.format.StructuredFormattingStrategy;
-import org.eclipse.wst.sse.core.text.rules.StructuredTextPartitioner;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-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.reconcile.StructuredTextReconcilingStrategyForContentModel;
-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;
-	private boolean reconcilerStrategiesAreSet;
-
-	/*
-	 * (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();
-			addContentAssistProcessor(contentAssistant, xmlContentAssistProcessor, StructuredTextPartitioner.ST_DEFAULT_PARTITION);
-			addContentAssistProcessor(contentAssistant, xmlContentAssistProcessor, StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-			addContentAssistProcessor(contentAssistant, noRegionProcessor, StructuredTextPartitioner.ST_UNKNOWN_PARTITION);
-			//contentAssistant.setContentAssistProcessor(xmlContentAssistProcessor,
-			// StructuredTextPartitioner.ST_DEFAULT_PARTITION);
-			//contentAssistant.setContentAssistProcessor(xmlContentAssistProcessor,
-			// StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-			//contentAssistant.setContentAssistProcessor(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) {
-
-		if (contentType.compareTo(StructuredTextPartitionerForXML.ST_DEFAULT_XML) == 0)
-			return new XMLDoubleClickStrategy();
-		else
-			return super.getDoubleClickStrategy(sourceViewer, contentType);
-	}
-
-	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);
-			highlighter.addProvider(StructuredTextPartitionerForXML.ST_DTD_SUBSET, new LineStyleProviderForDTDSubSet());
-		}
-		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;
-	}
-
-	private IModelManager getModelManager() {
-
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	public IReconciler getReconciler(ISourceViewer sourceViewer) {
-
-		if (fReconciler != null) {
-			// a reconciler should always be installed or disposed of
-			if (!fReconciler.isInstalled()) {
-				fReconciler = null;
-				reconcilerStrategiesAreSet = false;
-			}
-		}
-
-		// 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 StructuredTextReconciler();
-			// a null editorPart is valid
-			//fReconciler.setEditor(editorPart);
-		}
-
-		IPreferenceStore store = ((AbstractUIPlugin) Platform.getPlugin(SSE_EDITOR_ID)).getPreferenceStore();
-		boolean reconcilingEnabled = store.getBoolean(CommonEditorPreferenceNames.EVALUATE_TEMPORARY_PROBLEMS);
-
-		// the second time through, the strategies are set
-		if (fReconciler != null && !reconcilerStrategiesAreSet && reconcilingEnabled) {
-			StructuredTextViewer viewer = null;
-			if (sourceViewer instanceof StructuredTextViewer) {
-				viewer = ((StructuredTextViewer) sourceViewer);
-			}
-			IStructuredModel sModel = getModelManager().getExistingModelForRead(viewer.getDocument());
-			try {
-
-
-				if (sModel != null) {
-					// check language (ContentTypeID)....
-					String contentTypeId = sModel.getModelHandler().getAssociatedContentTypeId();
-					String generatedKey = PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.EDITOR_VALIDATION_METHOD, contentTypeId);
-					String validationMethodPref = EditorPlugin.getInstance().getPreferenceStore().getString(generatedKey);
-					IReconcilingStrategy defaultStrategy = null;
-
-					// pref set to no validation, so return
-					if (validationMethodPref.equals(CommonEditorPreferenceNames.EDITOR_VALIDATION_NONE))
-						return fReconciler;
-
-					// content model is the default for xml..
-					// "Content Model" strategies (requires propagating
-					// adapter
-					// from AdapterFactoryProviderFor*)
-
-					IReconcilingStrategy markupStrategy = new StructuredTextReconcilingStrategyForMarkup((ITextEditor) editorPart);
-					IReconcilingStrategy xmlStrategy = new StructuredTextReconcilingStrategyForContentModel((ITextEditor) editorPart);
-					defaultStrategy = xmlStrategy;
-					fReconciler.setReconcilingStrategy(markupStrategy, StructuredTextPartitioner.ST_DEFAULT_PARTITION);
-					fReconciler.setReconcilingStrategy(xmlStrategy, StructuredTextPartitionerForXML.ST_DEFAULT_XML);
-					fReconciler.setDefaultStrategy(defaultStrategy);
-
-					reconcilerStrategiesAreSet = true;
-				}
-			} 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 = EditorPlugin.getDefault().getTextHoverManager().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();
-		}
-	}
-}
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 df497af..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/XMLEditorPlugin.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.io.IOException;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-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.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.preferences.ui.ColorHelper;
-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.style.IStyleConstantsXML;
-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 XMLEditorPlugin extends AbstractUIPlugin {
-	public final static String ID = "org.eclipse.wst.xml.ui"; //$NON-NLS-1$
-	protected static XMLEditorPlugin instance = null;
-
-	public static XMLEditorPlugin getDefault() {
-		return instance;
-	}
-
-	public synchronized static XMLEditorPlugin 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;
-
-	/**
-	 * true if editor preference store has been initialized with default
-	 * values false otherwise
-	 */
-	private boolean preferencesInitd = false;
-
-	public XMLEditorPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		instance = this;
-
-		// reference the preference store so
-		// initializeDefaultPreferences(IPreferenceStore preferenceStore) is
-		// called
-		IPreferenceStore store = getPreferenceStore();
-		// for some reason initializeDefaultPreferences is not always called,
-		// so
-		// just add an extra check to see if not initialized, then call init
-		if (!preferencesInitd) {
-			initializeDefaultPreferences(store);
-		}
-		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;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeDefaultPluginPreferences()
-	 */
-	protected void initializeDefaultPreferences(IPreferenceStore store) {
-
-		// ignore this preference store
-		// use EditorPlugin preference store
-		IPreferenceStore editorStore = ((AbstractUIPlugin) Platform.getPlugin(EditorPlugin.ID)).getPreferenceStore();
-		EditorPlugin.initializeDefaultEditorPreferences(editorStore);
-		initializeDefaultXMLPreferences(editorStore);
-		preferencesInitd = true;
-	}
-
-	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);
-	}
-}
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 ce40145..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/XMLSpellCheckTarget.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.ui;
-
-import org.eclipse.wst.sse.ui.SpellCheckTargetImpl;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-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 493b4b3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/AbstractNodeActionManager.java
+++ /dev/null
@@ -1,657 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-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 = XMLCommonResources.getInstance().getString("_UI_MENU_ADD") + " " + text; //$NON-NLS-1$ //$NON-NLS-2$
-			setImageDescriptor(imageDescriptorCache.getImageDescriptor(cmnode));
-		}
-
-
-		public AddNodeAction(int nodeType, Node parent, int index) {
-			this.nodeType = nodeType;
-			this.index = index;
-			this.parent = parent;
-
-			switch (nodeType) {
-				case Node.COMMENT_NODE : {
-					description = XMLCommonResources.getInstance().getString("_UI_MENU_COMMENT"); //$NON-NLS-1$
-					undoDescription = XMLCommonResources.getInstance().getString("_UI_MENU_ADD_COMMENT"); //$NON-NLS-1$
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					description = XMLCommonResources.getInstance().getString("_UI_MENU_PROCESSING_INSTRUCTION"); //$NON-NLS-1$
-					undoDescription = XMLCommonResources.getInstance().getString("_UI_MENU_ADD_PROCESSING_INSTRUCTION"); //$NON-NLS-1$
-					break;
-				}
-				case Node.CDATA_SECTION_NODE : {
-					description = XMLCommonResources.getInstance().getString("_UI_MENU_CDATA_SECTION"); //$NON-NLS-1$
-					undoDescription = XMLCommonResources.getInstance().getString("_UI_MENU_ADD_CDATA_SECTION"); //$NON-NLS-1$
-					break;
-				}
-				case Node.TEXT_NODE : {
-					description = XMLCommonResources.getInstance().getString("_UI_MENU_PCDATA"); //$NON-NLS-1$
-					undoDescription = XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_UI_COMMENT_VALUE")); //$NON-NLS-1$
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					newChildNode = document.createProcessingInstruction(XMLCommonResources.getInstance().getString("_UI_PI_TARGET_VALUE"), XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_UI_MENU_REMOVE")); //$NON-NLS-1$
-			this.list = list;
-		}
-
-		public DeleteAction(Node node) {
-			setText(XMLCommonResources.getInstance().getString("_UI_MENU_REMOVE")); //$NON-NLS-1$
-			list = new Vector();
-			list.add(node);
-		}
-
-		public String getUndoDescription() {
-			return XMLCommonResources.getInstance().getString("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 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 = attributeImage;
-						break;
-					}
-					case CMNode.DATA_TYPE : {
-						result = textImage;
-						break;
-					}
-					case CMNode.ELEMENT_DECLARATION : {
-						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 = XMLCommonResources.getInstance().getString("_UI_MENU_COMMENT"); //$NON-NLS-1$
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					description = XMLCommonResources.getInstance().getString("_UI_MENU_PROCESSING_INSTRUCTION"); //$NON-NLS-1$
-					break;
-				}
-				case Node.CDATA_SECTION_NODE : {
-					description = XMLCommonResources.getInstance().getString("_UI_MENU_CDATA_SECTION"); //$NON-NLS-1$
-					break;
-				}
-				case Node.TEXT_NODE : {
-					description = XMLCommonResources.getInstance().getString("_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 XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_UI_COMMENT_VALUE")); //$NON-NLS-1$
-					break;
-				}
-				case Node.PROCESSING_INSTRUCTION_NODE : {
-					newChildNode = document.createProcessingInstruction(XMLCommonResources.getInstance().getString("_UI_PI_TARGET_VALUE"), XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_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, XMLCommonResources.getInstance().getString("_UI_MENU_NEW_ATTRIBUTE"), XMLCommonResources.getInstance().getString("_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(), XMLCommonResources.getInstance().getString("_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, XMLCommonResources.getInstance().getString("_UI_MENU_NEW_ELEMENT"), XMLCommonResources.getInstance().getString("_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, XMLCommonResources.getInstance().getString("_UI_MENU_ADD_PROCESSING_INSTRUCTION"), XMLCommonResources.getInstance().getString("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(), XMLCommonResources.getInstance().getString("_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, XMLCommonResources.getInstance().getString("_UI_MENU_EDIT_ATTRIBUTE"), XMLCommonResources.getInstance().getString("_UI_MENU_EDIT_ATTRIBUTE_TITLE")); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-
-	protected Action createEditDoctypeAction(DocumentType doctype) {
-		return new EditDoctypeAction(model, doctype, model.getBaseLocation(), XMLCommonResources.getInstance().getString("_UI_MENU_EDIT_DOCTYPE")); //$NON-NLS-1$
-	}
-
-
-	protected Action createEditProcessingInstructionAction(ProcessingInstruction pi) {
-		return new EditProcessingInstructionAction(this, pi, XMLCommonResources.getInstance().getString("_UI_MENU_EDIT_PROCESSING_INSTRUCTION"), XMLCommonResources.getInstance().getString("_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(), XMLCommonResources.getInstance().getString("_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, XMLCommonResources.getInstance().getString("_UI_MENU_RENAME"), XMLCommonResources.getInstance().getString("_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 XMLCommonResources.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 b811df8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ActionContributorXML.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
- *     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.nls.ResourceHandler;
-
-
-/**
- * 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", "org.eclipse.wst.xml.ui.StructuredTextEditorXML2"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	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 = ResourceHandler.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(ResourceHandler.getString("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 = ResourceHandler.getString("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));
-
-		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 5b30e11..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/AddBlockCommentActionXML.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.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.nls.ResourceHandler;
-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, ResourceHandler.getString(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 fc587b3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/BaseNodeActionManager.java
+++ /dev/null
@@ -1,518 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_UI_MENU_ADD_ATTRIBUTE")); //$NON-NLS-1$
-			IMenuManager addChildMenu = new MyMenuManager(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_UI_MENU_ADD_BEFORE")); //$NON-NLS-1$
-		IMenuManager addAfterMenu = new MyMenuManager(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 4e059c8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CleanupDialogXML.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.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.nls.ResourceHandler;
-import org.eclipse.wst.xml.core.XMLModelPlugin;
-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(ResourceHandler.getString("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(ResourceHandler.getString("Compress_empty_element_tags_UI_")); //$NON-NLS-1$
-		fCheckBoxCompressEmptyElementTags.addSelectionListener(this);
-
-		// Insert missing required attrs
-		fCheckBoxInsertRequiredAttrs = new Button(composite, SWT.CHECK);
-		fCheckBoxInsertRequiredAttrs.setText(ResourceHandler.getString("Insert_required_attributes_UI_")); //$NON-NLS-1$
-		fCheckBoxInsertRequiredAttrs.addSelectionListener(this);
-
-		// Insert missing begin/end tags
-		fCheckBoxInsertMissingTags = new Button(composite, SWT.CHECK);
-		fCheckBoxInsertMissingTags.setText(ResourceHandler.getString("Insert_missing_tags_UI_")); //$NON-NLS-1$ = "Insert missing tags"
-		fCheckBoxInsertMissingTags.addSelectionListener(this);
-
-		// Quote attribute values
-		fCheckBoxQuoteAttrValues = new Button(composite, SWT.CHECK);
-		fCheckBoxQuoteAttrValues.setText(ResourceHandler.getString("Quote_attribute_values_UI_")); //$NON-NLS-1$ = "Quote attribute values"
-		fCheckBoxQuoteAttrValues.addSelectionListener(this);
-
-		// Format source
-		fCheckBoxFormatSource = new Button(composite, SWT.CHECK);
-		fCheckBoxFormatSource.setText(ResourceHandler.getString("Format_source_UI_")); //$NON-NLS-1$ = "Format source"
-		fCheckBoxFormatSource.addSelectionListener(this);
-
-		// Convert EOL code
-		fCheckBoxConvertEOLCodes = new Button(composite, SWT.CHECK);
-		fCheckBoxConvertEOLCodes.setText(ResourceHandler.getString("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(ResourceHandler.getString("EOL_Windows_UI")); //$NON-NLS-1$ = "Windows"
-		fRadioButtonConvertEOLWindows.addSelectionListener(this);
-		fRadioButtonConvertEOLUnix = new Button(EOLCodes, SWT.RADIO);
-		fRadioButtonConvertEOLUnix.setText(ResourceHandler.getString("EOL_Unix_UI")); //$NON-NLS-1$ = "Unix"
-		fRadioButtonConvertEOLUnix.addSelectionListener(this);
-		fRadioButtonConvertEOLMac = new Button(EOLCodes, SWT.RADIO);
-		fRadioButtonConvertEOLMac.setText(ResourceHandler.getString("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 XMLModelPlugin.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
-		XMLModelPlugin.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 5699172..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/CommentActionXML.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.actions;
-
-import java.util.ResourceBundle;
-
-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.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.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
-import org.eclipse.wst.sse.ui.edit.util.StructuredTextEditorActionConstants;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-
-
-public class CommentActionXML extends TextEditorAction {
-	protected static final String CLOSE_COMMENT = "-->"; //$NON-NLS-1$
-	protected static final String OPEN_COMMENT = "<!--"; //$NON-NLS-1$
-
-	static IModelManager getModelManager() {
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	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 = 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, ResourceHandler.getString(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 63ab5c2..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditAttributeAction.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.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.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-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 = XMLCommonResources.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 dabe610..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditDoctypeAction.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.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.util.XMLCommonResources;
-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() : XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_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 081be78..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditElementAction.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.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.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-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 = XMLCommonResources.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 f4b8f46..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditProcessingInstructionAction.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.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.util.XMLCommonResources;
-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 = XMLCommonResources.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-
-		EditProcessingInstructionDialog dialog = null;
-		if (pi != null) {
-			dialog = new EditProcessingInstructionDialog(shell, pi);
-		} else {
-			dialog = new EditProcessingInstructionDialog(shell, XMLCommonResources.getInstance().getString("_UI_PI_TARGET_VALUE"), XMLCommonResources.getInstance().getString("_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 5b2c3e2..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/EditSchemaInfoAction.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.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.util.XMLCommonResources;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-
-//import com.ibm.etools.xml.common.ui.dialogs.EditSchemaInfoDialog;
-
-
-/**
- * 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 = XMLCommonResources.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(XMLCommonResources.getInstance().getString("_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 a5a5acb..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/RemoveBlockCommentActionXML.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.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.nls.ResourceHandler;
-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, ResourceHandler.getString(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 02b7d66..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/ToggleCommentActionXML.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.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.nls.ResourceHandler;
-
-
-public class ToggleCommentActionXML extends UncommentActionXML {
-	public ToggleCommentActionXML(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected void processAction() {
-		fModel.beginRecording(this, ResourceHandler.getString(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 2dac342..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/actions/UncommentActionXML.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.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.nls.ResourceHandler;
-
-
-public class UncommentActionXML extends CommentActionXML {
-	public UncommentActionXML(ResourceBundle bundle, String prefix, ITextEditor editor) {
-		super(bundle, prefix, editor);
-	}
-
-	protected void processAction() {
-		fModel.beginRecording(this, ResourceHandler.getString(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 670a6df..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractContentAssistProcessor.java
+++ /dev/null
@@ -1,2192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.core.runtime.Platform;
-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.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-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.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.Logger;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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.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 = ResourceHandler.getString("SEVERE_internal_error_occu_UI_"); //$NON-NLS-1$ = "SEVERE internal error occurred "
-	protected static final String UNKNOWN_ATTR = ResourceHandler.getString("No_known_attribute__UI_"); //$NON-NLS-1$ = "No known attribute "
-	protected static final String UNKNOWN_CONTEXT = ResourceHandler.getString("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) {
-				// CMVC 246618
-				int isRequired = 0;
-				Image attrImage = null;
-				for (int i = 0; i < attributes.getLength(); i++) {
-					CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) attributes.item(i);
-					if (attrDecl.getUsage() == CMAttributeDeclaration.REQUIRED) {
-						isRequired = XMLRelevanceConstants.R_REQUIRED;
-						attrImage = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATT_REQ_OBJ);
-					} else {
-						isRequired = 0;
-						attrImage = XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE);
-					}
-
-
-					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) {
-						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(ResourceHandler.getString("25concat", (new Object[]{node.getNodeName()}))); //+
-			// node.getNodeName()
-			// + ">
-			// is
-			// unknown");
-			// //$NON-NLS-1$
-			// =
-			// "Element
-			// <{0}>
-			// is
-			// unknown."
-		}
-		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;
-			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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE), 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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE), 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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE), 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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE), "\"" + 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), ResourceHandler.getString("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), ResourceHandler.getString("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
-							if (contentAssistRequest.getRegion().getType() == XMLRegionContext.XML_TAG_NAME) {
-								proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getStartOffset(), contentAssistRequest.getRegion().getTextLength(), proposedText.length(), XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), proposedText, null, proposedInfo, XMLRelevanceConstants.R_END_TAG_NAME);
-							} else {
-								proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), proposedText.length(), XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), ResourceHandler.getString("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 = ResourceHandler.getString("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 = ResourceHandler.getString("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 = ResourceHandler.getString("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 = ResourceHandler.getString("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);
-
-			// 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(), XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), ResourceHandler.getString("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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), ResourceHandler.getString("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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), ResourceHandler.getString("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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), ResourceHandler.getString("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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), ResourceHandler.getString("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 = ResourceHandler.getString("1concat", (new Object[]{parent.getNodeName()})); //$NON-NLS-1$ = "{0} has no available child tags."
-					else
-						error = ResourceHandler.getString("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);
-						// 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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), 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(ResourceHandler.getString("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(ResourceHandler.getString("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) {
-						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, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), 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 = ResourceHandler.getString("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)) {
-						String proposedInfo = getAdditionalInfo(getCMElementDeclaration(parent), elementDecl);
-						CustomCompletionProposal proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), cursorAdjustment, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), 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(ResourceHandler.getString("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(ResourceHandler.getString("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);
-				CustomCompletionProposal proposal = new CustomCompletionProposal(proposedText, contentAssistRequest.getReplacementBeginPosition(), contentAssistRequest.getReplacementLength(), cursorAdjustment, XMLEditorPluginImageHelper.getInstance().getImage(XMLEditorPluginImages.IMG_OBJ_TAG_GENERIC), 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(IContentTypeIdentifier.ContentTypeID_SSEXML) + "\"?>"; //$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 = ((IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID)).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(ResourceHandler.getString("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(ResourceHandler.getString("29concat", (new Object[]{rootName, location}))); //$NON-NLS-1$ = "No definition was found for element <{0}> in {1}"
-						else
-							setErrorMessage(ResourceHandler.getString("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(ResourceHandler.getString("24concat", (new Object[]{location}))); //$NON-NLS-1$ = "No content model found for {0}."
-				else
-					setErrorMessage(ResourceHandler.getString("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 = ((IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID)).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 542a7e6..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/AbstractTemplateCompletionProcessor.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
- *     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.Region;
-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.Region, int)
-	 */
-	protected ICompletionProposal createProposal(Template template, TemplateContext context, Region 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 7810b07..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/ContextInfoModelUtil.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.core.runtime.Platform;
-import org.eclipse.wst.common.contentmodel.modelquery.ModelQuery;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-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.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-
-
-/**
- * @author pavery
- */
-public class ContextInfoModelUtil {
-	IStructuredDocument fDocument = null;
-	private final String SSE_MODEL_ID = "org.eclipse.wst.sse.core"; //$NON-NLS-1$
-
-	ContextInfoModelUtil(IStructuredDocument doc) {
-		fDocument = doc;
-	}
-
-	public IStructuredDocument getDocument() {
-		return fDocument;
-	}
-
-	public IModelManager getModelManager() {
-		return ((IModelManagerPlugin) Platform.getPlugin(SSE_MODEL_ID)).getModelManager();
-	}
-
-	public ModelQuery getModelQuery() {
-		ModelQuery mq = null;
-
-		XMLModel xmlModel = (XMLModel) getModelManager().getExistingModelForRead(getDocument());
-		mq = ModelQueryUtil.getModelQuery(xmlModel.getDocument());
-		xmlModel.releaseFromRead();
-
-		return mq;
-	}
-
-	public XMLNode getXMLNode(int offset) {
-		XMLModel xmlModel = (XMLModel) getModelManager().getExistingModelForRead(getDocument());
-		XMLNode xmlNode = (XMLNode) xmlModel.getIndexedRegion(offset);
-		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 637a785..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.XMLEditorPlugin;
-
-
-/**
- * @deprecated use internal XMLEditorPluginImageHelper or external
- *             SharedXMLEditorPluginImageHelper instead
- */
-public class SourceEditorImageHelper {
-
-	public SourceEditorImageHelper() {
-		super();
-	}
-
-	public Image createImage(String resource) {
-		ImageDescriptor desc = AbstractUIPlugin.imageDescriptorFromPlugin(XMLEditorPlugin.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 0a4b8dc..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentAssistProcessor.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.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.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-
-
-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 = EditorPlugin.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 = PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.AUTO_PROPOSE, IContentTypeIdentifier.ContentTypeID_SSEXML);
-		boolean doAuto = getPreferenceStore().getBoolean(key);
-		if (doAuto) {
-			key = PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.AUTO_PROPOSE_CODE, IContentTypeIdentifier.ContentTypeID_SSEXML);
-			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 f72092b..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLContentAssistUtilities.java
+++ /dev/null
@@ -1,470 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.contentassist.ContentAssistUtils;
-import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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$
-						ResourceHandler.getString("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$
-						ResourceHandler.getString("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$
-						ResourceHandler.getString("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 c6aea8e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/contentassist/XMLTemplateCompletionProcessor.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.contentassist;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.wst.xml.ui.XMLEditorPlugin;
-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 XMLEditorPlugin
-	 * 
-	 * @return XMLEditorPlugin
-	 */
-	private XMLEditorPlugin getXMLEditorPlugin() {
-		return (XMLEditorPlugin) Platform.getPlugin(XMLEditorPlugin.ID);
-	}
-}
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 ed7a5f7..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditAttributeDialog.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.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.nls.ResourceHandler;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(ResourceHandler.getString("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 = XMLCommonResources.getInstance().getString("_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 6fd0ea0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditDoctypeDialog.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.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.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_UI_LABEL_BROWSE")); //$NON-NLS-1$
-		publicIdBrowseButton.addSelectionListener(selectionListener);
-
-		// row 3
-		Label systemIdLabel = new Label(composite, SWT.NONE);
-		systemIdLabel.setText(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_UI_WARNING_SYSTEM_ID_MUST_BE_SPECIFIED"); //$NON-NLS-1$
-			} else if (getModelValue(rootElementNameField.getText()) == null) {
-				errorMessage = XMLCommonResources.getInstance().getString("_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 82e2bf8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditElementDialog.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.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.nls.ResourceHandler;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_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(ResourceHandler.getString("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 = XMLCommonResources.getInstance().getString("_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 8e61d1d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditEntityHelper.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.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.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 400a186..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditNamespaceInfoDialog.java
+++ /dev/null
@@ -1,255 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.nls.ResourceHandler;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_UI_LABEL_BROWSE")); //$NON-NLS-1$
-		browseButton.addSelectionListener(selectionListener);
-		browseButton.setEnabled(locationHintField.getEnabled());
-
-		// error message
-		errorMessageLabel = new Label(dialogArea, SWT.NONE);
-		errorMessageLabel.setText(ResourceHandler.getString("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(XMLCommonResources.getInstance().getString("_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 be3ae9f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditProcessingInstructionDialog.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.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.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 93f26c9..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/EditSchemaInfoDialog.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.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.nsedit.CommonEditNamespacesDialog;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-
-
-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, XMLCommonResources.getInstance().getString("_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 1a5f7c8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/NamespaceInfoErrorHelper.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.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.util.XMLCommonResources;
-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 = XMLCommonResources.getInstance().getString("_UI_WARNING_MORE_THAN_ONE_NS_WITH_NAME") + "'" + nsInfo.uri + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				} else {
-					result = XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_UI_WARNING_MORE_THAN_ONE_NS_WITH_PREFIX") + "'" + nsInfo.prefix + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-						break;
-					} else {
-						result = XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_UI_WARNING_LOCATION_HINT_NOT_SPECIFIED") + " '" + nsInfo.uri + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				}
-			} else {
-				if (nsInfo.prefix != null) {
-					result = XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_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 9a3c4af..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/NamespaceInfoTable.java
+++ /dev/null
@@ -1,391 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.util.XMLCommonResources;
-
-
-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 = XMLCommonResources.getInstance().getString("_UI_NO_NAMESPACE_NAME"); //$NON-NLS-1$
-						break;
-					}
-					case 1 : {
-						result = XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_UI_LABEL_LOCATION_HINT"); //$NON-NLS-1$
-	protected static final String NAMESPACE_URI = XMLCommonResources.getInstance().getString("_UI_LABEL_NAMESPACE_NAME"); //$NON-NLS-1$
-	protected static final String PREFIX = XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.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(XMLCommonResources.getInstance().getString("_UI_LABEL_NEW_NAMESPACE_INFORMATION"), (NamespaceInfo) selectedObject); //$NON-NLS-1$
-			performDelayedUpdate();
-		}
-	}
-
-	public void performNew() {
-		NamespaceInfo info = new NamespaceInfo();
-		EditNamespaceInfoDialog dialog = invokeDialog(XMLCommonResources.getInstance().getString("_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 e932604..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectFileOrXMLCatalogIdPanel.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.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.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 19390cc..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dialogs/SelectXMLCatalogIdPanel.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.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.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_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] = XMLCommonResources.getInstance().getString("_UI_LABEL_KEY"); //$NON-NLS-1$
-		headings[1] = XMLCommonResources.getInstance().getString("_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 251c2e3..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/dnd/DragNodeCommand.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.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.nls.ResourceHandler;
-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, ResourceHandler.getString("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 aca4617..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/doubleclick/XMLDoubleClickStrategy.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.core.runtime.Platform;
-import org.eclipse.jface.text.DefaultTextDoubleClickStrategy;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-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 = 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 IModelManager getModelManager() {
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	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 c1cf757..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/extensions/XMLSourceEditingTextTools.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.ui.extensions;
-
-
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-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.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;
-
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		IModelManager mm = plugin.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/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 0d7f5a6..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/autoedit/StructuredAutoEditStrategyXML.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.core.runtime.Platform;
-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.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.core.IStructuredModel;
-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.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 = 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 IModelManager getModelManager() {
-
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		return plugin.getModelManager();
-	}
-
-	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/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 1624d44..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/InsertRequiredAttrsQuickAssistProposal.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.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.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.nls.ResourceHandler;
-
-
-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 ResourceHandler.getString("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 ResourceHandler.getString("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 27444d8..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/QuickFixProcessorXML.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.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.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.nls.ResourceHandler;
-
-
-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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("QuickFixProcessorXML.2"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					proposals.add(new CompletionProposal("</" + tagName + ">", firstChildStartOffset, 0, 0, getImage(), ResourceHandler.getString("QuickFixProcessorXML.3"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-					proposals.add(new CompletionProposal("</" + tagName + ">", endOffset, 0, 0, getImage(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("QuickFixProcessorXML.10"), null, "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-					break;
-				case ProblemIDsXML.UnknownElement :
-					proposals.add(new RemoveUnknownElementQuickFixProposal(tempAnnotation.getAdditionalFixInfo(), getImage(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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(), ResourceHandler.getString("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 0424a79..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/RemoveUnknownElementQuickFixProposal.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.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.nls.ResourceHandler;
-
-
-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 = ResourceHandler.getString("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 c1e655f..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/RenameInFileQuickAssistProposal.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.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.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.nls.ResourceHandler;
-
-
-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 ResourceHandler.getString("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 ResourceHandler.getString("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 07dca4d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/SurroundWithNewElementQuickAssistProposal.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.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.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.nls.ResourceHandler;
-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 ResourceHandler.getString("SurroundWithNewElementQuickAssistProposal.0"); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
-	 */
-	public String getDisplayString() {
-		return ResourceHandler.getString("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/IHelpContextIds.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/editor/IHelpContextIds.java
deleted file mode 100644
index e4c41c4..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.XMLEditorPlugin;
-
-/**
- * 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 = XMLEditorPlugin.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 4fe20d3..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.XMLEditorPlugin;
-
-
-/**
- * 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 = XMLEditorPlugin.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/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/nls/ResourceHandler.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nls/ResourceHandler.java
deleted file mode 100644
index a34ab91..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nls/ResourceHandler.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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.nls;
-
-import java.text.MessageFormat;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ResourceHandler {
-
-
-	private static ResourceBundle fgResourceBundle;
-
-	/**
-	 * Returns the resource bundle used by all classes in this Project
-	 */
-	public static ResourceBundle getResourceBundle() {
-		try {
-			return ResourceBundle.getBundle("EditingXML");//$NON-NLS-1$
-		} catch (MissingResourceException e) {
-			// does nothing - this method will return null and
-			// getString(String) will return the key
-			// it was called with
-		}
-		return null;
-	}
-
-	public static String getString(String key) {
-		if (fgResourceBundle == null) {
-			fgResourceBundle = getResourceBundle();
-		}
-
-		if (fgResourceBundle != null) {
-			try {
-				return fgResourceBundle.getString(key);
-			} catch (MissingResourceException e) {
-				return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-			}
-		} else {
-			return "!" + key + "!";//$NON-NLS-2$//$NON-NLS-1$
-		}
-	}
-
-	public static String getString(String key, Object[] args) {
-
-		try {
-			return MessageFormat.format(getString(key), args);
-		} catch (IllegalArgumentException e) {
-			return getString(key);
-		}
-
-	}
-
-	public static String getString(String key, Object[] args, int x) {
-
-		return getString(key);
-	}
-}
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 2f6802a..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonAddNamespacesControl.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.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.util.XMLCommonResources;
-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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_UI_SELECT_REGISTERED_NAMESPACES")); //$NON-NLS-1$
-		radio1.addSelectionListener(this);
-
-		radio2 = new Button(this, SWT.RADIO);
-		radio2.setText(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 1795667..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonEditNamespacesDialog.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.nls.ResourceHandler;
-import org.eclipse.wst.xml.ui.util.XMLCommonResources;
-
-
-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("   " + ResourceHandler.getString("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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.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(XMLCommonResources.getInstance().getString("_UI_LABEL_NEW_NAMESPACE_INFORMATION"), (NamespaceInfo) selection); //$NON-NLS-1$
-			updateErrorMessage(namespaceInfoList);
-			performDelayedUpdate();
-		}
-	}
-
-	public void performNew() {
-		Shell shell = XMLCommonResources.getInstance().getWorkbench().getActiveWorkbenchWindow().getShell();
-		CommonAddNamespacesDialog dialog = new CommonAddNamespacesDialog(shell, XMLCommonResources.getInstance().getString("_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 27546a5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonEditNamespacesTargetFieldDialog.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.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.util.XMLCommonResources;
-
-
-/*
- * 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, XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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(XMLCommonResources.getInstance().getString("_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 ae58de5..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/nsedit/CommonNamespaceInfoTable.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.util.XMLCommonResources;
-
-
-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 = XMLCommonResources.getInstance().getString("_UI_NO_PREFIX"); //$NON-NLS-1$
-						break;
-					}
-					case COLUMN_NAMESPACE_URI : {
-						result = XMLCommonResources.getInstance().getString("_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 = XMLCommonResources.getInstance().getString("_UI_LABEL_LOCATION_HINT"); //$NON-NLS-1$
-	protected static final String LABEL_NAMESPACE_URI = XMLCommonResources.getInstance().getString("_UI_LABEL_NAMESPACE_NAME"); //$NON-NLS-1$
-	protected static final String LABEL_PREFIX = XMLCommonResources.getInstance().getString("_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 d2b6610..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/openon/DefaultOpenOnXML.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.openon;
-
-
-
-import java.util.StringTokenizer;
-
-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.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
- */
-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());
-			}
-
-			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 = getModelManager().getExistingModelForRead(getDocument());
-			if (sModel != null) {
-				baseLoc = sModel.getBaseLocation();
-			}
-		} 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 = 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 1582d29..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/EncodingSettings.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.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.sse.ui.Logger;
-import org.eclipse.wst.xml.ui.nls.ResourceHandler;
-
-
-/**
- * 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 = ResourceHandler.getString("EncodingSettings.1"); //$NON-NLS-1$
-
-	private static String IANA_LABEL = ResourceHandler.getString("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 7db9feb..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/WorkbenchDefaultEncodingSettings.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.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.nls.ResourceHandler;
-
-
-/**
- * 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(ResourceHandler.getString("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 71aef4e..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLColorPage.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.preferences;
-
-
-
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.Platform;
-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.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.sse.core.IModelManager;
-import org.eclipse.wst.sse.core.IModelManagerPlugin;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-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.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.preferences.ui.AbstractColorPage;
-import org.eclipse.wst.sse.ui.preferences.ui.StyledTextColorPicker;
-import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
-import org.eclipse.wst.xml.ui.nls.ResourceHandler;
-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, PreferenceKeyGenerator.generateKey((String) i.next(), IContentTypeIdentifier.ContentTypeID_SSEXML)));
-		}
-
-		OverlayPreferenceStore.OverlayKey[] keys = new OverlayPreferenceStore.OverlayKey[overlayKeys.size()];
-		overlayKeys.toArray(keys);
-		return keys;
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return EditorPlugin.getDefault().getPreferenceStore();
-	}
-
-	public String getSampleText() {
-		return ResourceHandler.getString("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, ResourceHandler.getString("Comment_Delimiters_UI_")); //$NON-NLS-1$ = "Comment Delimiters"
-		descriptions.put(IStyleConstantsXML.COMMENT_TEXT, ResourceHandler.getString("Comment_Content_UI_")); //$NON-NLS-1$ = "Comment Content"
-		descriptions.put(IStyleConstantsXML.TAG_BORDER, ResourceHandler.getString("Tag_Delimiters_UI_")); //$NON-NLS-1$ = "Tag Delimiters"
-		descriptions.put(IStyleConstantsXML.TAG_NAME, ResourceHandler.getString("Tag_Names_UI_")); //$NON-NLS-1$ = "Tag Names"
-		descriptions.put(IStyleConstantsXML.TAG_ATTRIBUTE_NAME, ResourceHandler.getString("Attribute_Names_UI_")); //$NON-NLS-1$ = "Attribute Names"
-		descriptions.put(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE, ResourceHandler.getString("Attribute_Values_UI_")); //$NON-NLS-1$ = "Attribute Values"
-		descriptions.put(IStyleConstantsXML.DECL_BORDER, ResourceHandler.getString("Declaration_Delimiters_UI_")); //$NON-NLS-1$ = "Declaration Delimiters"
-		descriptions.put(IStyleConstantsXML.XML_CONTENT, ResourceHandler.getString("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, ResourceHandler.getString("CDATA_Delimiters_UI_")); //$NON-NLS-1$ = "CDATA Delimiters"
-		descriptions.put(IStyleConstantsXML.CDATA_TEXT, ResourceHandler.getString("CDATA_Content_UI_")); //$NON-NLS-1$ = "CDATA Content"
-		descriptions.put(IStyleConstantsXML.PI_BORDER, ResourceHandler.getString("Processing_Instruction_Del_UI_")); //$NON-NLS-1$ = "Processing Instruction Delimiters"
-		descriptions.put(IStyleConstantsXML.PI_CONTENT, ResourceHandler.getString("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, ResourceHandler.getString("DOCTYPE_Name_UI_")); //$NON-NLS-1$ = "DOCTYPE Name"
-		descriptions.put(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID, ResourceHandler.getString("DOCTYPE_SYSTEM/PUBLIC_Keyw_UI_")); //$NON-NLS-1$ = "DOCTYPE SYSTEM/PUBLIC Keyword"
-		descriptions.put(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF, ResourceHandler.getString("DOCTYPE_Public_Reference_UI_")); //$NON-NLS-1$ = "DOCTYPE Public Reference"
-		descriptions.put(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF, ResourceHandler.getString("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();
-
-		EditorPlugin.getDefault().savePluginPreferences();
-		return true;
-	}
-
-	protected void setupPicker(StyledTextColorPicker picker) {
-
-		IModelManagerPlugin plugin = (IModelManagerPlugin) Platform.getPlugin(IModelManagerPlugin.ID);
-		if (plugin != null) {
-			IModelManager mmanager = plugin.getModelManager();
-			picker.setParser(mmanager.createStructuredDocumentFor(IContentTypeIdentifier.ContentTypeID_SSEXML).getParser());
-		} else
-			picker.setParser(new XMLSourceParser());
-
-		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);
-
-		picker.setGeneratorKey(IContentTypeIdentifier.ContentTypeID_SSEXML);
-	}
-}
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 6cc95fa..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLFilesPreferencePage.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
- *     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.EditorPlugin;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-import org.eclipse.wst.sse.ui.preferences.ui.AbstractPreferencePage;
-import org.eclipse.wst.xml.core.XMLModelPlugin;
-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(ResourceHandler.getString("Creating_files")); //$NON-NLS-1$
-
-		Label label = createLabel(creatingGroup, ResourceHandler.getString("Encoding_desc")); //$NON-NLS-1$
-
-		fEncodingSettings = new EncodingSettings(creatingGroup, ResourceHandler.getString("Encoding")); //$NON-NLS-1$
-	}
-
-	protected void createContentsForCreatingOrSavingGroup(Composite parent) {
-		Group creatingOrSavingGroup = createGroup(parent, 2);
-		creatingOrSavingGroup.setText(ResourceHandler.getString("Creating_or_saving_files")); //$NON-NLS-1$
-
-		Label label = createLabel(creatingOrSavingGroup, ResourceHandler.getString("End-of-line_code_desc")); //$NON-NLS-1$
-		((GridData) label.getLayoutData()).horizontalSpan = 2;
-		((GridData) label.getLayoutData()).grabExcessHorizontalSpace = true;
-
-		createLabel(creatingOrSavingGroup, ResourceHandler.getString("End-of-line_code")); //$NON-NLS-1$
-		fEndOfLineCode = createDropDownBox(creatingOrSavingGroup);
-		populateLineDelimiters();
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return EditorPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected void doSavePreferenceStore() {
-		XMLModelPlugin.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 XMLModelPlugin.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(ResourceHandler.getString("EOL_Unix")); //$NON-NLS-1$
-		fEOLCodes.add(CommonEncodingPreferenceNames.LF);
-
-		fEndOfLineCode.add(ResourceHandler.getString("EOL_Mac")); //$NON-NLS-1$
-		fEOLCodes.add(CommonEncodingPreferenceNames.CR);
-
-		fEndOfLineCode.add(ResourceHandler.getString("EOL_Windows")); //$NON-NLS-1$
-		fEOLCodes.add(CommonEncodingPreferenceNames.CRLF);
-
-		fEndOfLineCode.add(ResourceHandler.getString("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 25689e1..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLSourcePreferencePage.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.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.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.preferences.ui.AbstractPreferencePage;
-import org.eclipse.wst.xml.core.XMLModelPlugin;
-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(ResourceHandler.getString("Content_assist_UI_")); //$NON-NLS-1$ = "Content assist"
-
-		fAutoPropose = createCheckBox(contentAssistGroup, ResourceHandler.getString("Automatically_make_suggest_UI_")); //$NON-NLS-1$ = "Automatically make suggestions"
-		((GridData) fAutoPropose.getLayoutData()).horizontalSpan = 2;
-		fAutoPropose.addSelectionListener(this);
-
-		fAutoProposeLabel = createLabel(contentAssistGroup, ResourceHandler.getString("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(ResourceHandler.getString("Formatting_UI_")); //$NON-NLS-1$ = "Formatting"
-
-		fLineWidthLabel = createLabel(formattingGroup, ResourceHandler.getString("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, ResourceHandler.getString("Split_&multiple_attributes_2")); //$NON-NLS-1$
-		((GridData) fSplitMultiAttrs.getLayoutData()).horizontalSpan = 2;
-
-		fIndentUsingTabs = createCheckBox(formattingGroup, ResourceHandler.getString("&Indent_using_tabs_3")); //$NON-NLS-1$
-		((GridData) fIndentUsingTabs.getLayoutData()).horizontalSpan = 2;
-
-		fClearAllBlankLines = createCheckBox(formattingGroup, ResourceHandler.getString("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(ResourceHandler.getString("Grammar_Constraints")); //$NON-NLS-1$
-		grammarConstraintsGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL));
-
-		fUseInferredGrammar = createCheckBox(grammarConstraintsGroup, ResourceHandler.getString("Use_inferred_grammar_in_absence_of_DTD/Schema")); //$NON-NLS-1$
-	}
-
-	protected IPreferenceStore doGetPreferenceStore() {
-		return EditorPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected void doSavePreferenceStore() {
-		EditorPlugin.getDefault().savePluginPreferences(); // editor
-		XMLModelPlugin.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);
-			}
-		}
-	}
-
-	/*
-	 * helper method to generate content type id specific preference keys
-	 */
-	protected String getKey(String key) {
-		String contentTypeId = IContentTypeIdentifier.ContentTypeID_SSEXML;
-		return PreferenceKeyGenerator.generateKey(key, contentTypeId);
-	}
-
-	protected Preferences getModelPreferences() {
-		return XMLModelPlugin.getDefault().getPluginPreferences();
-	}
-
-	protected void initializeValues() {
-		initializeValuesForFormattingGroup();
-		initializeValuesForContentAssistGroup();
-		initializeValuesForGrammarConstraintsGroup();
-	}
-
-	protected void initializeValuesForContentAssistGroup() {
-		// Content Assist
-		fAutoPropose.setSelection(getPreferenceStore().getBoolean(getKey(CommonEditorPreferenceNames.AUTO_PROPOSE)));
-		fAutoProposeText.setText(getPreferenceStore().getString(getKey(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(getKey(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR)));
-	}
-
-	protected void performDefaults() {
-		performDefaultsForFormattingGroup();
-		performDefaultsForContentAssistGroup();
-		performDefaultsForGrammarConstraintsGroup();
-
-		validateValues();
-		enableValues();
-
-		super.performDefaults();
-	}
-
-	protected void performDefaultsForContentAssistGroup() {
-		// Content Assist
-		fAutoPropose.setSelection(getPreferenceStore().getDefaultBoolean(getKey(CommonEditorPreferenceNames.AUTO_PROPOSE)));
-		fAutoProposeText.setText(getPreferenceStore().getDefaultString(getKey(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(getKey(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(getKey(CommonEditorPreferenceNames.AUTO_PROPOSE), fAutoPropose.getSelection());
-		getPreferenceStore().setValue(getKey(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(getKey(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 2b05119..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/preferences/XMLTemplatePreferencePage.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
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.ui.preferences;
-
-import org.eclipse.core.runtime.Platform;
-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.XMLEditorPlugin;
-import org.eclipse.wst.xml.ui.internal.editor.IHelpContextIds;
-
-
-/**
- * Preference page for XML templates
- */
-public class XMLTemplatePreferencePage extends TemplatePreferencePage {
-
-	public XMLTemplatePreferencePage() {
-		XMLEditorPlugin xmlEditorPlugin = (XMLEditorPlugin) Platform.getPlugin(XMLEditorPlugin.ID);
-
-		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();
-		Platform.getPlugin(XMLEditorPlugin.ID).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 de7bf10..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/AbstractReconcileStepAdapter.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.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.Logger;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileStepAdapter;
-import org.eclipse.wst.sse.ui.internal.reconcile.IStructuredReconcileStep;
-import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
-
-
-/**
- * This reconcile step is an adapter on the IStructuredModel. Validation is
- * triggered from StructuredDocumentEvents
- * 
- * @author pavery
- */
-public class AbstractReconcileStepAdapter implements IReconcileStepAdapter {
-
-	protected static final IReconcileResult[] EMPTY_RECONCILE_RESULT_SET = new IReconcileResult[0];
-	protected List fDirtyElements = new ArrayList();
-	private IStructuredReconcileStep fParentStep = null;
-	private HashSet fPartitionTypes = null;
-
-	public AbstractReconcileStepAdapter() {
-		super();
-		fPartitionTypes = new HashSet();
-	}
-
-	public IReconcileAnnotationKey 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 IReconcileAnnotationKey createKey(String partitionType, int scope) {
-		fPartitionTypes.add(partitionType);
-		return new ReconcileAnnotationKey(getParentStep(), partitionType, scope);
-	}
-
-	public IStructuredReconcileStep 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(IStructuredReconcileStep parentStep) {
-		fParentStep = parentStep;
-	}
-}
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 3227266..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepAdapterForXML.java
+++ /dev/null
@@ -1,698 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.text.MessageFormat;
-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.Logger;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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.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;
-
-
-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();
-							MessageFormat messageFormat = new MessageFormat(ResourceHandler.getString("Invalid_value_{0}")); //$NON-NLS-1$
-							Object[] args = {currentValue.trim()};
-							String message = messageFormat.format(args);
-							Position p = new Position(start, length);
-							IReconcileAnnotationKey key = createKey(elementNode.getFirstStructuredDocumentRegion(), IReconcileAnnotationKey.PARTIAL);
-							results.add(new TemporaryAnnotation(p, SEVERITY_UNKNOWN_ATTR, message, key));
-						}
-						// remove from known required attribute list
-						reqAttrList.remove(attrDecl);
-					} else {
-						MessageFormat messageFormat = new MessageFormat(ResourceHandler.getString("Unknown_attribute_{0}")); //$NON-NLS-1$
-						Object[] args = {attr.getName()};
-						String message = messageFormat.format(args);
-						int start = attr.getNameRegionStartOffset();
-						int length = attr.getNameRegion().getTextLength();
-						Position p = new Position(start, length);
-						IReconcileAnnotationKey key = createKey(elementNode.getFirstStructuredDocumentRegion(), IReconcileAnnotationKey.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;
-
-					MessageFormat messageFormat = new MessageFormat(ResourceHandler.getString("Missing_required_attribute_{0}")); //$NON-NLS-1$
-					Object[] args = {attr.getAttrName()};
-					String message = messageFormat.format(args);
-
-					Position p = new Position(start, length);
-					IReconcileAnnotationKey key = createKey(elementNode.getFirstStructuredDocumentRegion(), IReconcileAnnotationKey.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();
-			}
-			MessageFormat messageFormat = new MessageFormat(ResourceHandler.getString("Unknown_element_{0}")); //$NON-NLS-1$
-			Object[] args = {element.getNodeName()};
-			String message = messageFormat.format(args);
-			Position p = new Position(start, length);
-			IReconcileAnnotationKey key = createKey(elementNode.getFirstStructuredDocumentRegion(), IReconcileAnnotationKey.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 2bf0a54..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepForContentModel.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-import org.eclipse.wst.sse.ui.StructuredTextViewer;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileStepAdapter;
-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;
-
-
-/**
- * A reconcile step for ContentModel based documents.
- */
-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 IReconcileAnnotationKey.PARTIAL;
-	}
-
-	public void initialValidate() {
-
-		// (pa) perf: add the adapter for every node here
-		XMLModel xModel = (XMLModel) 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) 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 54b6a12..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcileStepForMarkup.java
+++ /dev/null
@@ -1,555 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.text.MessageFormat;
-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.text.IStructuredDocumentRegion;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.sse.ui.Logger;
-import org.eclipse.wst.sse.ui.StructuredTextReconciler;
-import org.eclipse.wst.sse.ui.internal.reconcile.IReconcileAnnotationKey;
-import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
-import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.sse.ui.nls.ResourceHandler;
-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.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) {
-		Position p = new Position(start, length);
-		IReconcileAnnotationKey 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) {
-		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; 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 = ResourceHandler.getString("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) {
-		ITextRegionList regions = structuredDocumentRegion.getRegions();
-		ITextRegion r = null;
-		boolean closed = false;
-		for (int i = 0; i < regions.size(); 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 = ResourceHandler.getString("ReconcileStepForMarkup.6"); //$NON-NLS-1$
-
-			int start = structuredDocumentRegion.getStartOffset();
-			int length = structuredDocumentRegion.getText().trim().length();
-			Position p = new Position(start, length);
-			IReconcileAnnotationKey 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) {
-		// 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 = ResourceHandler.getString("ReconcileStepForMarkup.3"); //$NON-NLS-1$
-				int start = structuredDocumentRegion.getStartOffset();
-				int length = structuredDocumentRegion.getLength();
-				Position p = new Position(start, length);
-				IReconcileAnnotationKey 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) {
-		// 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();
-		IReconcileAnnotationKey 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);
-					MessageFormat messageFormat = new MessageFormat(ResourceHandler.getString("Attribute_{0}_is_missing_a_value")); //$NON-NLS-1$
-					Object[] args = {structuredDocumentRegion.getText(nameRegion)};
-					String message = messageFormat.format(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);
-					MessageFormat messageFormat = new MessageFormat(ResourceHandler.getString("Attribute_{0}_has_no_value")); //$NON-NLS-1$
-					Object[] args = {structuredDocumentRegion.getText(previousRegion)};
-					String message = messageFormat.format(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) {
-		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 = ResourceHandler.getString("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);
-					IReconcileAnnotationKey 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) {
-		// navigate to name
-		ITextRegionList regions = structuredDocumentRegion.getRegions();
-		ITextRegion r = null;
-		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_NAME) {
-				String piText = structuredDocumentRegion.getText(r);
-				int index = piText.indexOf(":"); //$NON-NLS-1$
-				if (index != -1) {
-					String message = ResourceHandler.getString("ReconcileStepForMarkup.4"); //$NON-NLS-1$
-					int start = structuredDocumentRegion.getStartOffset(r) + index;
-					int length = piText.trim().length() - index;
-					Position p = new Position(start, length);
-					IReconcileAnnotationKey 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 = ResourceHandler.getString("ReconcileStepForMarkup.0"); //$NON-NLS-1$
-					addAttributeError(message, attrValueText, structuredDocumentRegion.getStartOffset(r), attrValueText.trim().length(), ProblemIDsXML.Unclassified, structuredDocumentRegion, results);
-					errorCount++;
-				} else {
-					// missing both
-					String message = ResourceHandler.getString("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 = ResourceHandler.getString("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) {
-		// check start/end tag pairs
-		XMLNode xmlNode = getXMLNode(sdRegion);
-		boolean selfClosed = false;
-		String tagName = null;
-		int length = 0;
-
-		if (xmlNode.isContainer()) {
-			IStructuredDocumentRegion endNode = xmlNode.getEndStructuredDocumentRegion();
-			if (endNode == null) {
-				// analyze the tag (check self closing)
-				ITextRegionList regions = xmlNode.getStartStructuredDocumentRegion().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) {
-					MessageFormat messageFormat = new MessageFormat(ResourceHandler.getString("Missing_end_tag_{0}")); //$NON-NLS-1$
-					Object[] args = {tagName};
-					String message = messageFormat.format(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) {
-		IStructuredDocumentRegion prev = structuredDocumentRegion.getPrevious();
-		if (prev != null) {
-			String prevText = prev.getFullText();
-			if (prev.getType() == XMLRegionContext.XML_CONTENT && prevText.endsWith(" ")) { //$NON-NLS-1$
-				String message = ResourceHandler.getString("ReconcileStepForMarkup.5"); //$NON-NLS-1$
-				int start = prev.getStartOffset();
-				int length = prev.getLength();
-				Position p = new Position(start, length);
-				IReconcileAnnotationKey key = createKey(structuredDocumentRegion, getScope());
-
-				TemporaryAnnotation annotation = new TemporaryAnnotation(p, SEVERITY_SYNTAX_ERROR, message, key, ProblemIDsXML.SpacesBeforePI);
-				results.add(annotation);
-			}
-		}
-	}
-
-	public int getScope() {
-		return IReconcileAnnotationKey.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();
-		IStructuredDocumentRegion sdRegion = getStructuredDocument().getRegionAtCharacterOffset(dirtyRegion.getOffset());
-		if (sdRegion != null) {
-			if (!sdRegion.isDeleted())
-				regions.add(sdRegion);
-			while ((sdRegion = sdRegion.getNext()) != null && sdRegion.getEndOffset() <= getXMLNode(sdRegion).getEndOffset()) {
-				if (!sdRegion.isDeleted())
-					regions.add(sdRegion);
-			}
-		}
-		return (IStructuredDocumentRegion[]) regions.toArray(new IStructuredDocumentRegion[regions.size()]);
-	}
-
-	private XMLNode getXMLNode(IStructuredDocumentRegion sdRegion) {
-		XMLModel xModel = null;
-		XMLNode xmlNode = null;
-		// get/release models should always be in a try/finally block
-		try {
-			xModel = (XMLModel) 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)
-			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) {
-		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)
-			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) {
-		return structuredDocumentRegion.getFirstRegion().getType() == XMLRegionContext.XML_CONTENT;
-	}
-
-	/*
-	 * check syntax of dirty region
-	 */
-	protected IReconcileResult[] reconcile(IStructuredDocumentRegion structuredDocumentRegion) {
-		List results = new ArrayList();
-
-		// fix for https://w3.opensource.ibm.com/bugzilla/show_bug.cgi?id=1939
-		// not sure why this was being done before
-		// if (structuredDocumentRegion.getType() ==
-		// XMLRegionContext.XML_CONTENT) {
-		// // rollback to an open tag
-		// // ** can this be bad? removal region must exactly match add region
-		// // or else we may get duplicates
-		// while ((structuredDocumentRegion =
-		// structuredDocumentRegion.getPrevious()) != null &&
-		// !isStartTag(structuredDocumentRegion)) {
-		// continue;
-		// }
-		// }
-		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;
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[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]));
-			}
-		}
-
-		Logger.trace(StructuredTextReconciler.TRACE_FILTER, "[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 9bb0514..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/ReconcilerAdapterFactoryForXML.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.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;
-
-
-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 de6c066..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;
-
-
-/**
- * 
- * @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 18858c1..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/registry/AdapterFactoryProviderForXML.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.registry;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-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.common.encoding.content.IContentTypeIdentifier;
-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.core.util.Assert;
-import org.eclipse.wst.sse.ui.preferences.CommonEditorPreferenceNames;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
-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.core.modelhandler.ModelHandlerForXML;
-import org.eclipse.wst.xml.core.modelquery.ModelQueryUtil;
-import org.eclipse.wst.xml.ui.DOMObserver;
-import org.eclipse.wst.xml.ui.reconcile.ReconcilerAdapterFactoryForXML;
-import org.eclipse.wst.xml.ui.views.contentoutline.JFaceNodeAdapterFactory;
-import org.eclipse.wst.xml.ui.views.properties.XMLPropertySourceAdapterFactory;
-
-
-/**
- *  
- */
-public class AdapterFactoryProviderForXML implements AdapterFactoryProvider {
-
-	private final String EDITOR_PLUGIN_ID = "org.eclipse.wst.sse.ui"; // $NON-NLS-1$
-
-	// //$NON-NLS-1$
-
-	/*
-	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
-	 */
-	public void addAdapterFactories(IStructuredModel structuredModel) {
-
-		// add the normal content based factories to model's registry
-		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 "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 = ((AbstractUIPlugin) Platform.getPlugin(EDITOR_PLUGIN_ID)).getPreferenceStore();
-					boolean useInferredGrammar = (store != null) ? store.getBoolean(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.EDITOR_USE_INFERRED_GRAMMAR, IContentTypeIdentifier.ContentTypeID_SSEXML)) : 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();
-				}
-			}
-		}
-	}
-
-	protected void addPropagatingAdapters(IStructuredModel structuredModel) {
-		AdapterFactory factory;
-		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...
-			String contentTypeId = IContentTypeIdentifier.ContentTypeID_SSEXML;
-			IPreferenceStore store = ((AbstractUIPlugin) Platform.getPlugin(EDITOR_PLUGIN_ID)).getPreferenceStore();
-			if (store.getString(PreferenceKeyGenerator.generateKey(CommonEditorPreferenceNames.EDITOR_VALIDATION_METHOD, contentTypeId)).equals(CommonEditorPreferenceNames.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 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 96c2b15..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/style/LineStyleProviderForXML.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.common.encoding.content.IContentTypeIdentifier;
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.sse.ui.EditorPlugin;
-import org.eclipse.wst.sse.ui.preferences.PreferenceKeyGenerator;
-import org.eclipse.wst.sse.ui.style.AbstractLineStyleProvider;
-import org.eclipse.wst.sse.ui.style.LineStyleProvider;
-import org.eclipse.wst.xml.core.parser.XMLRegionContext;
-
-
-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 EditorPlugin.getDefault().getPreferenceStore();
-	}
-
-	protected String getPreferenceKey(String key) {
-		String contentTypeId = IContentTypeIdentifier.ContentTypeID_SSEXML;
-		return PreferenceKeyGenerator.generateKey(key, contentTypeId);
-	}
-
-	protected void handlePropertyChange(PropertyChangeEvent event) {
-		String styleKey = null;
-
-		if (event != null) {
-			String prefKey = event.getProperty();
-			// check if preference changed is a style preference
-			if (getPreferenceKey(IStyleConstantsXML.TAG_NAME).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_NAME;
-			} else if (getPreferenceKey(IStyleConstantsXML.TAG_BORDER).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_BORDER;
-			} else if (getPreferenceKey(IStyleConstantsXML.TAG_ATTRIBUTE_NAME).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_NAME;
-			} else if (getPreferenceKey(IStyleConstantsXML.TAG_ATTRIBUTE_VALUE).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_VALUE;
-			} else if (getPreferenceKey(IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.TAG_ATTRIBUTE_EQUALS;
-			} else if (getPreferenceKey(IStyleConstantsXML.COMMENT_BORDER).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.COMMENT_BORDER;
-			} else if (getPreferenceKey(IStyleConstantsXML.COMMENT_TEXT).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.COMMENT_TEXT;
-			} else if (getPreferenceKey(IStyleConstantsXML.CDATA_BORDER).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.CDATA_BORDER;
-			} else if (getPreferenceKey(IStyleConstantsXML.CDATA_TEXT).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.CDATA_TEXT;
-			} else if (getPreferenceKey(IStyleConstantsXML.DECL_BORDER).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DECL_BORDER;
-			} else if (getPreferenceKey(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID;
-			} else if (getPreferenceKey(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_PUBREF;
-			} else if (getPreferenceKey(IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_EXTERNAL_ID_SYSREF;
-			} else if (getPreferenceKey(IStyleConstantsXML.DOCTYPE_NAME).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.DOCTYPE_NAME;
-			} else if (getPreferenceKey(IStyleConstantsXML.PI_CONTENT).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.PI_CONTENT;
-			} else if (getPreferenceKey(IStyleConstantsXML.PI_BORDER).equals(prefKey)) {
-				styleKey = IStyleConstantsXML.PI_BORDER;
-			} else if (getPreferenceKey(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 47331d0..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/taginfo/MarkupTagInfoProvider.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.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.nls.ResourceHandler;
-
-
-/**
- * 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 + ResourceHandler.getString("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 + ResourceHandler.getString("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 + ResourceHandler.getString("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 + ResourceHandler.getString("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 + ResourceHandler.getString("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 + ResourceHandler.getString("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 8537bc4..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.Logger;
-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.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 2174956..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/templates/TemplateContextTypeXML.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.xml.ui.templates;
-
-import org.eclipse.jface.text.templates.GlobalTemplateVariables;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.wst.xml.ui.nls.ResourceHandler;
-
-
-/**
- * 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), ResourceHandler.getString("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 faf4b6e..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.nls.ResourceHandler;
-
-/**
- * Templates of this context type apply to any attributes within XML content
- * type.
- */
-public class TemplateContextTypeXMLAttribute extends TemplateContextTypeXML {
-
-	public TemplateContextTypeXMLAttribute() {
-		super(generateContextTypeId(TemplateContextTypeIds.ATTRIBUTE), ResourceHandler.getString("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 05d0708..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.nls.ResourceHandler;
-
-/**
- * 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), ResourceHandler.getString("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 4f6dbb9..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.nls.ResourceHandler;
-
-/**
- * Templates of this context type apply to any tags within XML content type.
- */
-public class TemplateContextTypeXMLTag extends TemplateContextTypeXML {
-
-	public TemplateContextTypeXMLTag() {
-		super(generateContextTypeId(TemplateContextTypeIds.TAG), ResourceHandler.getString("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 4cb406d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/util/XMLCommonResources.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.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.XMLEditorPlugin;
-
-
-
-/**
- * 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(XMLEditorPlugin.getDefault());
-		return instance;
-	}
-
-	private XMLEditorPlugin editorPlugin;
-
-	protected ImageFactory imageFactory;
-	private ResourceBundle resourceBundle;
-
-	public XMLCommonResources(XMLEditorPlugin editorPlugin) {
-		instance = this;
-		this.editorPlugin = editorPlugin;
-		//imageFactory = new ImageFactory();
-		try {
-			resourceBundle = ResourceBundle.getBundle("EditingXML"); //$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(XMLEditorPlugin.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 b98a918..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.BufferedOutlineUpdater;
-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.editor.XMLEditorPluginImageHelper;
-import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
-import org.eclipse.wst.xml.ui.nls.ResourceHandler;
-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 = null;
-		if (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(), ResourceHandler.getString("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 570949a..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;
-
-
-
-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 d37302d..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/contentoutline/XMLContentOutlineConfiguration.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.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.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);
-	}
-}
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 00302f2..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/ProcessingInstructionPropertySourceAdapter.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.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.
- */
-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 6bac8ba..0000000
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/views/properties/XMLPropertySourceAdapter.java
+++ /dev/null
@@ -1,671 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.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.Logger;
-import org.eclipse.wst.sse.ui.views.properties.EnumeratedStringPropertyDescriptor;
-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.nls.ResourceHandler;
-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 = ResourceHandler.getString("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