many changes from "XML" form of name to "DOM" form of name
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentLoader.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentLoader.java
index 13a98a7..7061937 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentLoader.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/encoding/JSPDocumentLoader.java
@@ -47,8 +47,8 @@
 import org.eclipse.wst.sse.core.parser.TagMarker;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
 import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
 import org.w3c.dom.Document;
 
@@ -191,7 +191,7 @@
 	}
 
 	private EmbeddedTypeHandler getEmbeddedType(IStructuredModel model) {
-		Document doc = ((DOMModel) model).getDocument();
+		Document doc = ((IDOMModel) model).getDocument();
 		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getAdapterFor(PageDirectiveAdapter.class);
 		EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
 		return embeddedHandler;
@@ -314,9 +314,9 @@
 		// set
 		// yet,
 		// and all factories must have been set up also.
-		DOMModel domModel = (DOMModel) model;
+		IDOMModel domModel = (IDOMModel) model;
 		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		DOMDocument document = domModel.getDocument();
+		IDOMDocument document = domModel.getDocument();
 		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
 		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
 		// ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
@@ -384,8 +384,8 @@
 		// set
 		// yet,
 		// and all factories must have been set up also.
-		DOMModel domModel = (DOMModel) model;
-		DOMDocument document = domModel.getDocument();
+		IDOMModel domModel = (IDOMModel) model;
+		IDOMDocument document = domModel.getDocument();
 		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
 		pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
 		embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
@@ -443,7 +443,7 @@
 	}
 
 	protected void preLoadAdapt(IStructuredModel structuredModel) {
-		DOMModel domModel = (DOMModel) structuredModel;
+		IDOMModel domModel = (IDOMModel) structuredModel;
 		//
 		// document must have already been set for this to
 		// work.
@@ -480,9 +480,9 @@
 		// set
 		// yet,
 		// and all factories must have been set up also.
-		DOMModel domModel = (DOMModel) model;
+		IDOMModel domModel = (IDOMModel) model;
 		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		DOMDocument document = domModel.getDocument();
+		IDOMDocument document = domModel.getDocument();
 		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getExistingAdapter(PageDirectiveAdapter.class);
 		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
 		// ((INodeNotifier)
@@ -543,8 +543,8 @@
 	}
 
 	private void setLanguageInPageDirective(IStructuredModel newModel) throws IOException {
-		if (newModel instanceof DOMModel) {
-			DOMDocument document = ((DOMModel) newModel).getDocument();
+		if (newModel instanceof IDOMModel) {
+			IDOMDocument document = ((IDOMModel) newModel).getDocument();
 			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
 			String language = getLanguage(newModel);
 			pageDirectiveAdapter.setLanguage(language);
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java
index 3eb9ea9..0177af6 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterFactory.java
@@ -17,7 +17,7 @@
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.ui.contentproperties.ContentSettingsChangeSubject;
 import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Node;
 
 /**
@@ -52,8 +52,8 @@
 
 	protected INodeAdapter createAdapter(INodeNotifier target) {
 		PageDirectiveAdapter result = null;
-		if (target instanceof DOMNode) {
-			DOMNode node = (DOMNode) target;
+		if (target instanceof IDOMNode) {
+			IDOMNode node = (IDOMNode) target;
 			if (node.getNodeType() == Node.DOCUMENT_NODE) {
 				result = getAdapterInstance(target);
 				ContentSettingsChangeSubject.getSubject().addListener(result);
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java
index da2f5e9..7371488 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveAdapterImpl.java
@@ -36,7 +36,7 @@
 import org.eclipse.wst.sse.core.text.IStructuredPartitioning;
 import org.eclipse.wst.sse.core.util.Debug;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 
 /**
  * This class has the responsibility to provide 
@@ -64,8 +64,8 @@
 		notifierAtCreation = target;
 		// we need to remember our instance of model, 
 		// in case we need to "signal" a re-init needed.
-		if (target instanceof DOMNode) {
-			DOMNode node = (DOMNode) target;
+		if (target instanceof IDOMNode) {
+			IDOMNode node = (IDOMNode) target;
 			model = node.getModel();
 		}
 
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java
index 0e3dc86..6af1c7c 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherFactory.java
@@ -14,7 +14,7 @@
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.internal.PropagatingAdapterFactory;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
 import org.w3c.dom.Node;
 
@@ -38,8 +38,8 @@
 
 	protected INodeAdapter createAdapter(INodeNotifier target) {
 		PageDirectiveWatcher result = null;
-		if (target instanceof DOMElement) {
-			DOMElement xmlElement = (DOMElement) target;
+		if (target instanceof IDOMElement) {
+			IDOMElement xmlElement = (IDOMElement) target;
 			if (xmlElement.getNodeType() == Node.ELEMENT_NODE) {
 				//                if (xmlElement.getNodeName() == JSP12Namespace.ElementName.DIRECTIVE_PAGE) {   // not sure why identity to  JSP11Namespace.ElementName.DIRECTIVE_PAGE doesn't work
 				String nodeName = xmlElement.getNodeName();
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java
index 39f4721..f93c434 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/document/PageDirectiveWatcherImpl.java
@@ -13,9 +13,9 @@
 import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.document.AttrImpl;
 
 
@@ -28,24 +28,24 @@
 class PageDirectiveWatcherImpl implements PageDirectiveWatcher {
 
 	private static Object adapterType = PageDirectiveWatcher.class;
-	DOMElement targetElement;
+	IDOMElement targetElement;
 
 	/**
 	 * Constructor for PageDirectiveWatcherImpl.
 	 */
-	public PageDirectiveWatcherImpl(DOMElement target) {
+	public PageDirectiveWatcherImpl(IDOMElement target) {
 		super();
 		targetElement = target;
 		String contentTypeValue = target.getAttribute("contentType"); //$NON-NLS-1$
 		if (contentTypeValue != null) {
 			// using concrete class below, since "changed" is something of an internal method
-			PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((DOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
+			PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((IDOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
 			pageDirectiveAdapter.changedContentType(((IndexedRegion) targetElement).getStartOffset(), contentTypeValue);
 		}
 		String languageValue = target.getAttribute("language"); //$NON-NLS-1$
 		if (languageValue != null) {
 			// using concrete class below, since "changed" is something of an internal method
-			PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((DOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
+			PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((IDOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
 			pageDirectiveAdapter.changedLanguage(((IndexedRegion) targetElement).getStartOffset(), languageValue);
 		}
 
@@ -66,7 +66,7 @@
 		// we should only be added to page directives, so if we see a page directive
 		// change, we need to check its attributes, and notify the PageDirectiveAdapter when 
 		// certain ones chane, so it can make its "centralized" decisions.
-		if (notifier instanceof DOMNode) {
+		if (notifier instanceof IDOMNode) {
 
 			switch (eventType) {
 				case INodeNotifier.CHANGE :
@@ -75,12 +75,12 @@
 						String name = attribute.getName();
 						if (name.equals("contentType")) { //$NON-NLS-1$
 							// using concrete class below, since "changed" is something of an internal method
-							PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((DOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
+							PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((IDOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
 							pageDirectiveAdapter.changedContentType(((IndexedRegion) targetElement).getStartOffset(), (String) newValue);
 						}
 						if (name.equals("language")) { //$NON-NLS-1$ //$NON-NLS-2$
 							// using concrete class below, since "changed" is something of an internal method
-							PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((DOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
+							PageDirectiveAdapterImpl pageDirectiveAdapter = (PageDirectiveAdapterImpl) ((IDOMDocument) targetElement.getOwnerDocument()).getAdapterFor(PageDirectiveAdapter.class);
 							pageDirectiveAdapter.changedLanguage(((IndexedRegion) targetElement).getStartOffset(), (String) newValue);
 						}
 					}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMDocumentForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMDocumentForJSP.java
index 205528c..026c940 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMDocumentForJSP.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/domdocument/DOMDocumentForJSP.java
@@ -13,7 +13,7 @@
 package org.eclipse.jst.jsp.core.internal.domdocument;
 
 import org.eclipse.wst.html.core.document.DocumentStyleImpl;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Comment;
@@ -114,7 +114,7 @@
 		text.setData(data);
 		return text;
 	}
-	protected void setModel(DOMModel model) {
+	protected void setModel(IDOMModel model) {
 		super.setModel(model);
 	}
 }
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java
index 5f59039..7156dc9 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapter.java
@@ -27,8 +27,8 @@
 import org.eclipse.jst.jsp.core.internal.Logger;
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 
 /**
  * An adapter for getting a JSPTranslation of the document.
@@ -48,11 +48,11 @@
 	private IDocument fJavaDocument = null;
 	private JSPTranslationExtension fJSPTranslation = null;
 	private boolean fDocumentIsDirty = true;
-	private DOMModel fXMLModel;
+	private IDOMModel fXMLModel;
 	private JSPTranslator fTranslator = null;
 	private NullProgressMonitor fTranslationMonitor = null;
 
-	public JSPTranslationAdapter(DOMModel xmlModel) {
+	public JSPTranslationAdapter(IDOMModel xmlModel) {
 		setXMLModel(xmlModel);
 		initializeJavaPlugins();
 	}
@@ -139,7 +139,7 @@
 		if (fJSPTranslation == null || fDocumentIsDirty) {
 			JSPTranslator translator = null;
 			if (getXMLModel() != null && getXMLModel().getIndexedRegion(0) != null) {
-				translator = getTranslator((DOMNode) getXMLModel().getIndexedRegion(0));
+				translator = getTranslator((IDOMNode) getXMLModel().getIndexedRegion(0));
 				translator.translate();
 				StringBuffer javaContents = translator.getTranslation();
 				fJavaDocument = new Document(javaContents.toString());
@@ -173,7 +173,7 @@
 	 *            the first node of the JSP document to be translated
 	 * @return the JSPTranslator for this adapter (creates if null)
 	 */
-	private JSPTranslator getTranslator(DOMNode xmlNode) {
+	private JSPTranslator getTranslator(IDOMNode xmlNode) {
 		if (fTranslator == null) {
 			fTranslationMonitor = new NullProgressMonitor();
 			fTranslator = new JSPTranslator();
@@ -189,7 +189,7 @@
 	 * 
 	 * @param xmlModel
 	 */
-	public void setXMLModel(DOMModel xmlModel) {
+	public void setXMLModel(IDOMModel xmlModel) {
 		fXMLModel = xmlModel;
 		setDocument(fXMLModel.getStructuredDocument());
 	}
@@ -197,7 +197,7 @@
 	/**
 	 * @return the XMLModel for this adapter.
 	 */
-	public DOMModel getXMLModel() {
+	public IDOMModel getXMLModel() {
 		return fXMLModel;
 	}
 
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java
index 852d22b..c9bb56e 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationAdapterFactory.java
@@ -15,7 +15,7 @@
 import org.eclipse.wst.sse.core.IAdapterFactory;
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 
 /**
  * Factory for JSPTranslationAdapters.
@@ -46,8 +46,8 @@
 	}
 
 	protected INodeAdapter createAdapter(INodeNotifier target) {
-		if (target instanceof DOMNode && fAdapter == null) {
-			fAdapter = new JSPTranslationAdapter(((DOMNode) target).getModel());
+		if (target instanceof IDOMNode && fAdapter == null) {
+			fAdapter = new JSPTranslationAdapter(((IDOMNode) target).getModel());
 			if(DEBUG) {
 				System.out.println("(+) JSPTranslationAdapterFactory [" + this + "] created adapter: " + fAdapter);
 			}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java
index c9c6d33..077b670 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslationUtil.java
@@ -23,8 +23,8 @@
 import org.eclipse.text.edits.TextEdit;
 import org.eclipse.wst.sse.core.IModelManager;
 import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 
 public class JSPTranslationUtil {
 	protected IDocument fDocument = null;
@@ -87,9 +87,9 @@
 
 	public JSPTranslationExtension getTranslation() {
 		if (fTranslation == null) {
-			DOMModel xmlModel = (DOMModel) getModelManager().getExistingModelForRead(fDocument);
+			IDOMModel xmlModel = (IDOMModel) getModelManager().getExistingModelForRead(fDocument);
 			try {
-				DOMDocument xmlDoc = xmlModel.getDocument();
+				IDOMDocument xmlDoc = xmlModel.getDocument();
 
 				JSPTranslationAdapter translationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 				if (translationAdapter != null)
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java
index 86e624c..55affbe 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/JSPTranslator.java
@@ -47,8 +47,8 @@
 import org.eclipse.wst.sse.core.util.URIResolver;
 import org.eclipse.wst.xml.core.contentmodel.CMDocumentTracker;
 import org.eclipse.wst.xml.core.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
@@ -118,7 +118,7 @@
 	private StringBuffer fCursorOwner = null; // the buffer where the cursor
 	// is
 
-	private DOMModel fStructuredModel = null;
+	private IDOMModel fStructuredModel = null;
 	private IStructuredDocument fStructuredDocument = null;
 	private ModelQuery fModelQuery = null;
 	// private XMLNode fPositionNode; // position in the DOM
@@ -191,7 +191,7 @@
 	 * @param node
 	 * @param monitor
 	 */
-	private void configure(DOMNode node, IProgressMonitor monitor) {
+	private void configure(IDOMNode node, IProgressMonitor monitor) {
 
 		fProgressMonitor = monitor;
 		fStructuredModel = node.getModel();
@@ -256,7 +256,7 @@
 	 * @param node
 	 * @return
 	 */
-	private String createClassname(DOMNode node) {
+	private String createClassname(IDOMNode node) {
 
 		String classname = ""; //$NON-NLS-1$
 		if (node != null) {
@@ -290,7 +290,7 @@
 	/**
 	 * So that the JSPTranslator can be reused.
 	 */
-	public void reset(DOMNode node, IProgressMonitor progress) {
+	public void reset(IDOMNode node, IProgressMonitor progress) {
 
 		// initialize some things on node
 		configure(node, progress);
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java
index 393a937..53700bd 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/internal/java/search/JSPSearchDocument.java
@@ -32,8 +32,8 @@
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.exceptions.UnsupportedCharsetExceptionWithDetail;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 
 
 /**
@@ -97,17 +97,17 @@
 		if (!JSPSearchSupport.isJsp(jspFile))
 			return translation;
 
-		DOMModel xmlModel = null;
+		IDOMModel xmlModel = null;
 		try {
 			// get existing model for read, then get document from it
 			IModelManager modelManager = getModelManager();
 			if (modelManager != null) {
-				xmlModel = (DOMModel) modelManager.getModelForRead(jspFile);
+				xmlModel = (IDOMModel) modelManager.getModelForRead(jspFile);
 			}
 			// handle unsupported
 			if (xmlModel != null) {
 				setupAdapterFactory(xmlModel);
-				DOMDocument doc = xmlModel.getDocument();
+				IDOMDocument doc = xmlModel.getDocument();
 				JSPTranslationAdapter adapter = (JSPTranslationAdapter) doc.getAdapterFor(IJSPTranslation.class);
 				translation = adapter.getJSPTranslation();
 			}
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/JSPModelLoader.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/JSPModelLoader.java
index b4fee34..8eea2d3 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/JSPModelLoader.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelhandler/JSPModelLoader.java
@@ -48,8 +48,8 @@
 import org.eclipse.wst.sse.core.util.Assert;
 import org.eclipse.wst.sse.core.util.Debug;
 import org.eclipse.wst.xml.core.contenttype.ContentTypeIdForXML;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.DebugAdapterFactory;
 import org.eclipse.wst.xml.core.internal.document.XMLModelImpl;
 import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
@@ -163,7 +163,7 @@
 
 	protected void preLoadAdapt(IStructuredModel structuredModel) {
 		super.preLoadAdapt(structuredModel);
-		DOMModel domModel = (DOMModel) structuredModel;
+		IDOMModel domModel = (IDOMModel) structuredModel;
 		//
 		// document must have already been set for this to
 		// work.
@@ -263,8 +263,8 @@
 		// critical here, the doc must have been created, but its contents not
 		// set yet,
 		// and all factories must have been set up also.
-		DOMModel domModel = (DOMModel) model;
-		DOMDocument document = domModel.getDocument();
+		IDOMModel domModel = (IDOMModel) model;
+		IDOMDocument document = domModel.getDocument();
 		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
 		pageDirectiveAdapter.setEmbeddedType(embeddedContentType);
 		embeddedContentType.initializeFactoryRegistry(model.getFactoryRegistry());
@@ -343,9 +343,9 @@
 		// critical here, the doc must have been created, but its contents not
 		// set yet,
 		// and all factories must have been set up also.
-		DOMModel domModel = (DOMModel) model;
+		IDOMModel domModel = (IDOMModel) model;
 		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		DOMDocument document = domModel.getDocument();
+		IDOMDocument document = domModel.getDocument();
 		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getExistingAdapter(PageDirectiveAdapter.class);
 		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
 		// ((INodeNotifier)
@@ -432,9 +432,9 @@
 		// critical here, the doc must have been created, but its contents not
 		// set yet,
 		// and all factories must have been set up also.
-		DOMModel domModel = (DOMModel) model;
+		IDOMModel domModel = (IDOMModel) model;
 		IStructuredDocument structuredDocument = model.getStructuredDocument();
-		DOMDocument document = domModel.getDocument();
+		IDOMDocument document = domModel.getDocument();
 		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
 		// ==> // PropagatingAdapter propagatingAdapter = (PropagatingAdapter)
 		// ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
@@ -466,7 +466,7 @@
 	}
 
 	private EmbeddedTypeHandler getEmbeddedType(IStructuredModel model) {
-		Document doc = ((DOMModel) model).getDocument();
+		Document doc = ((IDOMModel) model).getDocument();
 		PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) ((INodeNotifier) doc).getAdapterFor(PageDirectiveAdapter.class);
 		EmbeddedTypeHandler embeddedHandler = pageDirectiveAdapter.getEmbeddedType();
 		return embeddedHandler;
@@ -495,8 +495,8 @@
 	}
 
 	protected void setLanguageInPageDirective(IStructuredModel newModel) {
-		if (newModel instanceof DOMModel) {
-			DOMDocument document = ((DOMModel) newModel).getDocument();
+		if (newModel instanceof IDOMModel) {
+			IDOMDocument document = ((IDOMModel) newModel).getDocument();
 			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
 			String language = getLanguage(newModel);
 			pageDirectiveAdapter.setLanguage(language);
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryCMProvider.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryCMProvider.java
index 14339e0..45ab3cb 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryCMProvider.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/JSPModelQueryCMProvider.java
@@ -17,7 +17,7 @@
 import org.eclipse.jst.jsp.core.internal.contentmodel.JSPCMDocumentFactory;
 import org.eclipse.jst.jsp.core.internal.contentmodel.TaglibController;
 import org.eclipse.jst.jsp.core.internal.contentmodel.tld.TLDCMDocumentManager;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQueryCMProvider;
@@ -54,9 +54,9 @@
 
 			String prefix = node.getPrefix();
 
-			if (result == null && prefix != null && prefix.length() > 0 && node instanceof DOMNode) {
+			if (result == null && prefix != null && prefix.length() > 0 && node instanceof IDOMNode) {
 				// check position dependent
-				DOMNode xmlNode = (DOMNode) node;
+				IDOMNode xmlNode = (IDOMNode) node;
 				TLDCMDocumentManager tldmgr = TaglibController.getTLDCMDocumentManager(xmlNode.getStructuredDocument());
 				if (tldmgr != null) {
 					List documents = tldmgr.getCMDocumentTrackers(node.getPrefix(), xmlNode.getStartOffset());
diff --git a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java
index d2096a7..bafa01a 100644
--- a/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java
+++ b/bundles/org.eclipse.jst.jsp.core/src/org/eclipse/jst/jsp/core/modelquery/ModelQueryAdapterFactoryForJSP.java
@@ -23,7 +23,7 @@
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.contentmodel.util.CMDocumentCache;
 import org.eclipse.wst.xml.core.internal.modelquery.XMLCatalogIdResolver;
@@ -64,8 +64,8 @@
 		if (Debug.displayInfo)
 			System.out.println("-----------------------ModelQueryAdapterFactoryForJSP.createAdapter" + target); //$NON-NLS-1$
 		if (modelQueryAdapterImpl == null) {
-			if (target instanceof DOMNode) {
-				DOMNode xmlNode = (DOMNode) target;
+			if (target instanceof IDOMNode) {
+				IDOMNode xmlNode = (IDOMNode) target;
 				IStructuredModel model = stateNotifier = xmlNode.getModel();
 				String baseLocation = model.getBaseLocation();
 				// continue only if the location is known
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java
index 8885b1c..62e4c33 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/autoedit/StructuredAutoEditStrategyJSP.java
@@ -18,7 +18,7 @@
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.ui.internal.StructuredDocumentCommand;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.ui.internal.autoedit.StructuredAutoEditStrategyXML;
 
 public class StructuredAutoEditStrategyJSP extends StructuredAutoEditStrategyXML {
@@ -35,7 +35,7 @@
 			if (model != null) {
 				if (structuredDocumentCommand.text != null) {
 					if (structuredDocumentCommand.text.equals("%")) { //$NON-NLS-1$
-						DOMNode node = (DOMNode) model.getIndexedRegion(structuredDocumentCommand.offset);
+						IDOMNode node = (IDOMNode) model.getIndexedRegion(structuredDocumentCommand.offset);
 						try {
 							if (prefixedWith(document, structuredDocumentCommand.offset, "<") && !node.getSource().endsWith("%>")) { //$NON-NLS-1$ //$NON-NLS-2$
 								structuredDocumentCommand.doit = false;
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/AbstractBreakpointProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/AbstractBreakpointProvider.java
index facae97..fc1f8a3 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/AbstractBreakpointProvider.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/breakpointproviders/AbstractBreakpointProvider.java
@@ -27,7 +27,7 @@
 import org.eclipse.wst.sse.core.text.ITextRegionList;
 import org.eclipse.wst.sse.ui.extensions.breakpoint.IBreakpointProvider;
 import org.eclipse.wst.xml.core.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.xml.core.document.DOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
@@ -88,7 +88,7 @@
 		// go through the node's regions looking for JSP content
 		// until reaching the end of the line
 		while (flatNode != null) {
-			int validPosition = getValidRegionPosition(((DOMDocument) doc).getModel(), flatNode, startOffset, endOffset);
+			int validPosition = getValidRegionPosition(((IDOMDocument) doc).getModel(), flatNode, startOffset, endOffset);
 
 			if (validPosition == END_OF_LINE)
 				return NO_VALID_CONTENT;
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java
index 0765e8f..8606f16 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPCompletionProcessor.java
@@ -35,9 +35,9 @@
 import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.sse.ui.internal.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleException;
 
@@ -80,14 +80,14 @@
 	 */
 	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int pos) {
 		initialize(pos);
-		DOMModel xmlModel = null;
+		IDOMModel xmlModel = null;
 		try {
 			if (viewer instanceof StructuredTextViewer)
 				fViewer = (StructuredTextViewer) viewer;
 
-			xmlModel = (DOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(fViewer.getDocument());
+			xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(fViewer.getDocument());
 
-			DOMDocument xmlDoc = xmlModel.getDocument();
+			IDOMDocument xmlDoc = xmlModel.getDocument();
 			if (fTranslationAdapter == null)
 				fTranslationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 			if (fTranslationAdapter != null) {
@@ -173,12 +173,12 @@
 	private boolean cursorInExpression() {
 		boolean inExpression = false;
 		IStructuredDocumentRegion sdRegion = null;
-		DOMModel xmlModel = (DOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(fViewer.getDocument());
-		DOMNode xmlNode = null;
+		IDOMModel xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(fViewer.getDocument());
+		IDOMNode xmlNode = null;
 		xmlModel.releaseFromRead();
-		xmlNode = (DOMNode) xmlModel.getIndexedRegion(fJspSourcePosition);
+		xmlNode = (IDOMNode) xmlModel.getIndexedRegion(fJspSourcePosition);
 		if (xmlNode != null) {
-			DOMNode parent = (DOMNode) xmlNode.getParentNode();
+			IDOMNode parent = (IDOMNode) xmlNode.getParentNode();
 			if (parent != null) {
 				sdRegion = parent.getFirstStructuredDocumentRegion();
 				inExpression = sdRegion != null && (sdRegion.getType() == DOMJSPRegionContexts.JSP_EXPRESSION_OPEN || sdRegion.getType() == DOMJSPRegionContexts.JSP_SCRIPTLET_OPEN);
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java
index fc74f25..64f94bf 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPContentAssistProcessor.java
@@ -76,8 +76,8 @@
 import org.eclipse.wst.xml.core.contentmodel.CMDocType;
 import org.eclipse.wst.xml.core.contentmodel.CMDocumentTracker;
 import org.eclipse.wst.xml.core.contentmodel.CMNodeWrapper;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
@@ -218,7 +218,7 @@
 	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
 		addTemplates(contentAssistRequest, TemplateContextTypeIdsJSP.ATTRIBUTE_VALUE);
 
-		DOMNode node = (DOMNode) contentAssistRequest.getNode();
+		IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
 
 		// add JSP extra proposals from JSPBeanInfoContentAssistProcessor
 		// JSPPropertyContentAssistProcessor
@@ -303,10 +303,10 @@
 				IStructuredModel internalModel = null;
 				IModelManager mmanager = StructuredModelManager.getModelManager();
 				internalModel = mmanager.createUnManagedStructuredModelFor(ContentTypeIdForJSP.ContentTypeID_JSP);
-				DOMNode xmlNode = null;
-				DOMModel xmlOuterModel = null;
-				if (contentAssistRequest.getNode() instanceof DOMNode) {
-					xmlNode = (DOMNode) contentAssistRequest.getNode();
+				IDOMNode xmlNode = null;
+				IDOMModel xmlOuterModel = null;
+				if (contentAssistRequest.getNode() instanceof IDOMNode) {
+					xmlNode = (IDOMNode) contentAssistRequest.getNode();
 					xmlOuterModel = xmlNode.getModel();
 					internalModel.setResolver(xmlOuterModel.getResolver());
 					internalModel.setBaseLocation(xmlOuterModel.getBaseLocation());
@@ -340,7 +340,7 @@
 						doc = node.getOwnerDocument();
 					NodeList useBeans = doc.getElementsByTagName(JSP12Namespace.ElementName.USEBEAN);
 					for (int k = 0; k < useBeans.getLength(); k++) {
-						DOMNode useBean = (DOMNode) useBeans.item(k);
+						IDOMNode useBean = (IDOMNode) useBeans.item(k);
 						if (useBean.getStartOffset() < contentAssistRequest.getReplacementBeginPosition()) {
 							StringBuffer useBeanText = new StringBuffer("<jsp:useBean"); //$NON-NLS-1$
 							for (int j = 0; j < useBean.getAttributes().getLength(); j++) {
@@ -421,7 +421,7 @@
 	}
 
 	private List getAdditionalChildren(List elementDecls, Node node, int childIndex) {
-		if (node instanceof DOMNode) {
+		if (node instanceof IDOMNode) {
 			/*
 			 * find the location of the intended insertion as it will give us
 			 * the correct offset for checking position dependent CMDocuments
@@ -430,12 +430,12 @@
 			NodeList children = node.getChildNodes();
 			if (children.getLength() >= childIndex && childIndex >= 0) {
 				Node nodeAlreadyAtIndex = children.item(childIndex);
-				if (nodeAlreadyAtIndex instanceof DOMNode)
-					textInsertionOffset = ((DOMNode) nodeAlreadyAtIndex).getEndOffset();
+				if (nodeAlreadyAtIndex instanceof IDOMNode)
+					textInsertionOffset = ((IDOMNode) nodeAlreadyAtIndex).getEndOffset();
 			} else {
-				textInsertionOffset = ((DOMNode) node).getStartOffset();
+				textInsertionOffset = ((IDOMNode) node).getStartOffset();
 			}
-			TLDCMDocumentManager mgr = TaglibController.getTLDCMDocumentManager(((DOMNode) node).getStructuredDocument());
+			TLDCMDocumentManager mgr = TaglibController.getTLDCMDocumentManager(((IDOMNode) node).getStructuredDocument());
 			if (mgr != null) {
 				List moreCMDocuments = mgr.getCMDocumentTrackers(textInsertionOffset);
 				if (moreCMDocuments != null) {
@@ -457,9 +457,9 @@
 
 			ModelQueryAdapter mqAdapter = null;
 			if (node.getNodeType() == Node.DOCUMENT_NODE)
-				mqAdapter = (ModelQueryAdapter) ((DOMNode) node).getAdapterFor(ModelQueryAdapter.class);
+				mqAdapter = (ModelQueryAdapter) ((IDOMNode) node).getAdapterFor(ModelQueryAdapter.class);
 			else
-				mqAdapter = (ModelQueryAdapter) ((DOMNode) node.getOwnerDocument()).getAdapterFor(ModelQueryAdapter.class);
+				mqAdapter = (ModelQueryAdapter) ((IDOMNode) node.getOwnerDocument()).getAdapterFor(ModelQueryAdapter.class);
 
 			if (mqAdapter != null) {
 				CMDocument doc = mqAdapter.getModelQuery().getCorrespondingCMDocument(node);
@@ -507,7 +507,7 @@
 						// don't show jsp:root if a document element already
 						// exists
 						Element docElement = domDoc.getDocumentElement();
-						if (docElement != null && ((docElement.getNodeName().equals("jsp:root")) || ((((DOMNode) docElement).getStartStructuredDocumentRegion() != null || ((DOMNode) docElement).getEndStructuredDocumentRegion() != null)))) //$NON-NLS-1$
+						if (docElement != null && ((docElement.getNodeName().equals("jsp:root")) || ((((IDOMNode) docElement).getStartStructuredDocumentRegion() != null || ((IDOMNode) docElement).getEndStructuredDocumentRegion() != null)))) //$NON-NLS-1$
 							rejectElements.add(JSP12Namespace.ElementName.ROOT);
 
 						for (int j = 0; j < jspelements.getLength(); j++) {
@@ -1073,7 +1073,7 @@
 		if (doc == null)
 			return false;
 		Element docElement = doc.getDocumentElement();
-		return docElement != null && ((docElement.getNodeName().equals("jsp:root")) || ((((DOMNode) docElement).getStartStructuredDocumentRegion() == null && ((DOMNode) docElement).getEndStructuredDocumentRegion() == null))); //$NON-NLS-1$
+		return docElement != null && ((docElement.getNodeName().equals("jsp:root")) || ((((IDOMNode) docElement).getStartStructuredDocumentRegion() == null && ((IDOMNode) docElement).getEndStructuredDocumentRegion() == null))); //$NON-NLS-1$
 	}
 
 	/*
@@ -1116,9 +1116,9 @@
 
 	/**
 	 * @see AbstractContentAssistProcessor#computeCompletionProposals(int,
-	 *      String, ITextRegion, DOMNode, DOMNode)
+	 *      String, ITextRegion, IDOMNode, IDOMNode)
 	 */
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode treeNode, DOMNode xmlnode) {
+	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode) {
 
 		ContentAssistRequest request = super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
 		IStructuredDocumentRegion sdRegion = ContentAssistUtils.getStructuredDocumentRegion((StructuredTextViewer) fTextViewer, documentPosition);
@@ -1240,9 +1240,9 @@
 
 	/**
 	 * @see com.ibm.sed.contentassist.old.xml.AbstractContentAssistProcessor#addEntityProposals(ContentAssistRequest,
-	 *      int, ITextRegion, DOMNode)
+	 *      int, ITextRegion, IDOMNode)
 	 */
-	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, DOMNode treeNode) {
+	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, IDOMNode treeNode) {
 	}
 
 	/**
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java
index 37577c2..fe6d267 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPDummyContentAssistProcessor.java
@@ -24,7 +24,7 @@
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.ui.internal.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -103,9 +103,9 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addEntityProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest, int, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#addEntityProposals(com.ibm.sed.structured.contentassist.xml.ContentAssistRequest, int, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, DOMNode treeNode) {
+	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, IDOMNode treeNode) {
 		super.addEntityProposals(contentAssistRequest, documentPosition, completionRegion, treeNode);
 	}
 
@@ -159,9 +159,9 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#attributeInList(com.ibm.sed.model.xml.DOMNode, org.w3c.dom.Node, org.eclipse.wst.xml.core.internal.contentmodel.CMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#attributeInList(com.ibm.sed.model.xml.IDOMNode, org.w3c.dom.Node, org.eclipse.wst.xml.core.internal.contentmodel.CMNode)
 	 */
-	protected boolean attributeInList(DOMNode node, Node parent, CMNode cmnode) {
+	protected boolean attributeInList(IDOMNode node, Node parent, CMNode cmnode) {
 		return super.attributeInList(node, parent, cmnode);
 	}
 
@@ -173,23 +173,23 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeAttributeProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeAttributeProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeAttributeProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeAttributeProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		return super.computeAttributeProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeAttributeValueProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeAttributeValueProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeAttributeValueProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeAttributeValueProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		return super.computeAttributeValueProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeCompletionProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeCompletionProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode treeNode, DOMNode xmlnode) {
+	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode) {
 		return super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
 	}
 
@@ -201,9 +201,9 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeContentProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeContentProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeContentProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeContentProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		return super.computeContentProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
 	}
 
@@ -215,51 +215,51 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeEndTagOpenProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeEndTagOpenProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeEndTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeEndTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		return super.computeEndTagOpenProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeEntityReferenceProposals(int, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeEntityReferenceProposals(int, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ICompletionProposal[] computeEntityReferenceProposals(int documentPosition, ITextRegion completionRegion, DOMNode treeNode) {
+	protected ICompletionProposal[] computeEntityReferenceProposals(int documentPosition, ITextRegion completionRegion, IDOMNode treeNode) {
 		return super.computeEntityReferenceProposals(documentPosition, completionRegion, treeNode);
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeEqualsProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeEqualsProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeEqualsProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeEqualsProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		return super.computeEqualsProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeStartDocumentProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeStartDocumentProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeStartDocumentProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeStartDocumentProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		return super.computeStartDocumentProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeTagCloseProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeTagCloseProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeTagCloseProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeTagCloseProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		return super.computeTagCloseProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeTagNameProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeTagNameProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeTagNameProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeTagNameProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		return super.computeTagNameProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
 	}
 
 	/**
-	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeTagOpenProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.DOMNode, com.ibm.sed.model.xml.DOMNode)
+	 * @see com.ibm.sed.structured.contentassist.xml.AbstractContentAssistProcessor#computeTagOpenProposals(int, java.lang.String, com.ibm.sed.structuredDocument.ITextRegion, com.ibm.sed.model.xml.IDOMNode, com.ibm.sed.model.xml.IDOMNode)
 	 */
-	protected ContentAssistRequest computeTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		return super.computeTagOpenProposals(documentPosition, matchString, completionRegion, nodeAtOffset, node);
 	}
 
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java
index 390f86a..7d58bc3 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPJavaContentAssistProcessor.java
@@ -33,7 +33,7 @@
 import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
 import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
 import org.eclipse.wst.sse.ui.internal.contentassist.IResourceDependentProcessor;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.eclipse.wst.xml.ui.contentassist.XMLRelevanceConstants;
 import org.eclipse.wst.xml.ui.util.SharedXMLEditorPluginImageHelper;
@@ -151,10 +151,10 @@
 			fErrorMessage = UNKNOWN_CONTEXT;
 		}
 
-		DOMNode xNode = null;
+		IDOMNode xNode = null;
 		IStructuredDocumentRegion flat = null;
-		if (treeNode instanceof DOMNode) {
-			xNode = (DOMNode) treeNode;
+		if (treeNode instanceof IDOMNode) {
+			xNode = (IDOMNode) treeNode;
 			flat = xNode.getFirstStructuredDocumentRegion();
 			if (flat != null && flat.getType() == DOMJSPRegionContexts.JSP_CONTENT) {
 				flat = flat.getPrevious();
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java
index c6a994f..5c40f55 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPPropertyContentAssistProcessor.java
@@ -23,7 +23,7 @@
 import org.eclipse.wst.sse.core.text.ITextRegionList;
 import org.eclipse.wst.sse.core.util.StringUtils;
 import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.eclipse.wst.xml.ui.contentassist.ContentAssistRequest;
 import org.eclipse.wst.xml.ui.contentassist.XMLRelevanceConstants;
@@ -46,7 +46,7 @@
 	}
 
 	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-		DOMNode node = (DOMNode) contentAssistRequest.getNode();
+		IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
 
 		// Find the attribute name for which this position should have a value
 		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
@@ -105,7 +105,7 @@
 		}
 	}
 
-	private void addBeanPropertyProposals(ContentAssistRequest contentAssistRequest, DOMNode node, boolean isGetProperty, String matchString) {
+	private void addBeanPropertyProposals(ContentAssistRequest contentAssistRequest, IDOMNode node, boolean isGetProperty, String matchString) {
 		// assumes that the node is the [gs]etProperty tag
 		String useBeanName = ((Element) node).getAttribute(JSP11Namespace.ATTR_NAME_NAME);
 		// properties can only be provided if a class/type/beanName has been declared
@@ -156,7 +156,7 @@
 		}
 	}
 
-	private void addBeanNameProposals(ContentAssistRequest contentAssistRequest, DOMNode node, String matchString) {
+	private void addBeanNameProposals(ContentAssistRequest contentAssistRequest, IDOMNode node, String matchString) {
 		// will not catch useBeans specified using other than actual DOM Nodes
 		NodeList useBeans = node.getOwnerDocument().getElementsByTagName(JSP11Namespace.ElementName.USEBEAN);
 		if (useBeans != null) {
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java
index c1b63f6..d6611d3 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/contentassist/JSPUseBeanContentAssistProcessor.java
@@ -20,7 +20,7 @@
 import org.eclipse.wst.sse.core.text.ITextRegionList;
 import org.eclipse.wst.sse.core.util.StringUtils;
 import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.eclipse.wst.xml.ui.contentassist.ContentAssistRequest;
 
@@ -32,7 +32,7 @@
 
 	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
 
-		DOMNode node = (DOMNode) contentAssistRequest.getNode();
+		IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
 
 		// Find the attribute name for which this position should have a value
 		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/CorrectionProcessorJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/CorrectionProcessorJSP.java
index 39d9da0..2cc56a0 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/CorrectionProcessorJSP.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/correction/CorrectionProcessorJSP.java
@@ -36,8 +36,8 @@
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.sse.ui.internal.correction.StructuredCorrectionProcessor;
 import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 
 public class CorrectionProcessorJSP extends StructuredCorrectionProcessor {
 	protected IQuickFixProcessor fQuickFixProcessor;
@@ -70,8 +70,8 @@
 			if (documentOffset >= pos.offset && documentOffset <= pos.offset + pos.length) {
 				IQuickFixProcessor processor = getQuickFixProcessorJSP();
 
-				DOMModel xmlModel = (DOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(viewer.getDocument());
-				DOMDocument xmlDoc = xmlModel.getDocument();
+				IDOMModel xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(viewer.getDocument());
+				IDOMDocument xmlDoc = xmlModel.getDocument();
 				xmlModel.releaseFromRead();
 				JSPTranslationAdapter translationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 				if (translationAdapter != null) {
@@ -113,8 +113,8 @@
 		try {
 			IQuickAssistProcessor processor = getQuickAssistProcessorJSP();
 
-			DOMModel xmlModel = (DOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(viewer.getDocument());
-			DOMDocument xmlDoc = xmlModel.getDocument();
+			IDOMModel xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(viewer.getDocument());
+			IDOMDocument xmlDoc = xmlModel.getDocument();
 			xmlModel.releaseFromRead();
 			JSPTranslationAdapter translationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 			if (translationAdapter != null) {
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPSourceEditingTextTools.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPSourceEditingTextTools.java
index 9152695..179d265 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPSourceEditingTextTools.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/JSPSourceEditingTextTools.java
@@ -15,7 +15,7 @@
 import org.eclipse.jst.jsp.core.JSP11Namespace;
 import org.eclipse.jst.jsp.core.JSP12Namespace;
 import org.eclipse.jst.jsp.core.PageDirectiveAdapter;
-import org.eclipse.wst.xml.core.document.DOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
 import org.eclipse.wst.xml.ui.extensions.XMLSourceEditingTextTools;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -37,8 +37,8 @@
 			doc = node.getOwnerDocument();
 		}
 		if (doc != null) {
-			if (doc instanceof DOMDocument) {
-				PageDirectiveAdapter adapter = (PageDirectiveAdapter) ((DOMDocument) doc).getAdapterFor(PageDirectiveAdapter.class);
+			if (doc instanceof IDOMDocument) {
+				PageDirectiveAdapter adapter = (PageDirectiveAdapter) ((IDOMDocument) doc).getAdapterFor(PageDirectiveAdapter.class);
 				if (adapter != null)
 					language = adapter.getLanguage();
 			}
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/StructuredTextEditorJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/StructuredTextEditorJSP.java
index 047d08e..71cbe97 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/StructuredTextEditorJSP.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/editor/StructuredTextEditorJSP.java
@@ -35,8 +35,8 @@
 import org.eclipse.wst.sse.ui.internal.actions.ActionDefinitionIds;
 import org.eclipse.wst.sse.ui.internal.actions.StructuredTextEditorActionConstants;
 import org.eclipse.wst.sse.ui.internal.search.FindOccurrencesActionProvider;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.ui.actions.AddBlockCommentActionXML;
 import org.eclipse.wst.xml.ui.actions.RemoveBlockCommentActionXML;
 import org.eclipse.wst.xml.ui.actions.ToggleCommentActionXML;
@@ -92,10 +92,10 @@
 
 		IJavaElement[] elements = new IJavaElement[0];
 		// get JSP translation object for this viewer's document
-		DOMModel xmlModel = (DOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
+		IDOMModel xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
 		try {
 			if (xmlModel != null) {
-				DOMDocument xmlDoc = xmlModel.getDocument();
+				IDOMDocument xmlDoc = xmlModel.getDocument();
 
 				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 				if (adapter != null) {
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java
index b0a5430..9cbdbaf 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/JSPJavaHyperlinkDetector.java
@@ -26,8 +26,8 @@
 import org.eclipse.jst.jsp.ui.internal.Logger;
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 
 /**
  * Detects hyperlinks in JSP Java content
@@ -172,11 +172,11 @@
 	private JSPTranslation getJSPTranslation(IDocument document) {
 		JSPTranslation translation = null;
 
-		DOMModel xmlModel = null;
+		IDOMModel xmlModel = null;
 		try {
-			xmlModel = (DOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(document);
+			xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(document);
 			if (xmlModel != null) {
-				DOMDocument xmlDoc = xmlModel.getDocument();
+				IDOMDocument xmlDoc = xmlModel.getDocument();
 				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 				if (adapter != null) {
 					translation = adapter.getJSPTranslation();
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java
index bbf7dec..3f66756 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/TaglibHyperlinkDetector.java
@@ -26,8 +26,8 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.text.IStructuredPartitioning;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -116,12 +116,12 @@
 			short nodeType = node.getNodeType();
 			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
 				// handle doc type node
-				DOMNode docNode = (DOMNode) node;
+				IDOMNode docNode = (IDOMNode) node;
 				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
 			}
 			else if (nodeType == Node.ATTRIBUTE_NODE) {
 				// handle attribute nodes
-				DOMAttr att = (DOMAttr) node;
+				IDOMAttr att = (IDOMAttr) node;
 				// do not include quotes in attribute value region
 				int regOffset = att.getValueRegionStartOffset();
 				int regLength = att.getValueRegion().getTextLength();
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java
index 05756cb..8a2936e 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/hyperlink/XMLHyperlinkDetector.java
@@ -23,8 +23,8 @@
 import org.eclipse.wst.sse.core.IndexedRegion;
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -148,12 +148,12 @@
 			short nodeType = node.getNodeType();
 			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
 				// handle doc type node
-				DOMNode docNode = (DOMNode) node;
+				IDOMNode docNode = (IDOMNode) node;
 				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
 			}
 			else if (nodeType == Node.ATTRIBUTE_NODE) {
 				// handle attribute nodes
-				DOMAttr att = (DOMAttr) node;
+				IDOMAttr att = (IDOMAttr) node;
 				// do not include quotes in attribute value region
 				int regOffset = att.getValueRegionStartOffset();
 				int regLength = att.getValueRegion().getTextLength();
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java
index c63c44d..fdd333c 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/refactoring/JSPJavaSelectionProvider.java
@@ -20,8 +20,8 @@
 import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
 import org.eclipse.ui.texteditor.ITextEditor;
 import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 
 class JSPJavaSelectionProvider {
 	static IJavaElement[] getSelection(ITextEditor textEditor) {
@@ -32,10 +32,10 @@
 		if (selection instanceof ITextSelection) {
 			ITextSelection textSelection = (ITextSelection) selection;
 			// get the JSP translation object for this editor's document
-			DOMModel xmlModel = (DOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(document);
+			IDOMModel xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(document);
 			try {
 				if (xmlModel != null) {
-					DOMDocument xmlDoc = xmlModel.getDocument();
+					IDOMDocument xmlDoc = xmlModel.getDocument();
 
 					JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 					if (adapter != null) {
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java
index 7e39dbc..6da50f4 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/java/search/JSPFindOccurrencesAction.java
@@ -26,8 +26,8 @@
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.ui.internal.StructuredTextEditor;
 import org.eclipse.wst.sse.ui.internal.search.BasicFindOccurrencesAction;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 
 /**
@@ -80,8 +80,8 @@
 		StructuredTextEditor editor = (StructuredTextEditor) getTextEditor();
 		// get JSP translation object for this viewer's document
 		IStructuredModel model = editor.getModel();
-		if (model != null && model instanceof DOMModel) {
-			DOMDocument xmlDoc = ((DOMModel) model).getDocument();
+		if (model != null && model instanceof IDOMModel) {
+			IDOMDocument xmlDoc = ((IDOMModel) model).getDocument();
 			JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 			if (adapter != null) {
 				JSPTranslation translation = adapter.getJSPTranslation();
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/StructuredTextFoldingProviderJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/StructuredTextFoldingProviderJSP.java
index 43c44cd..cf454d1 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/StructuredTextFoldingProviderJSP.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/projection/StructuredTextFoldingProviderJSP.java
@@ -11,7 +11,7 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
 import org.eclipse.wst.sse.ui.internal.projection.IStructuredTextFoldingProvider;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
@@ -125,7 +125,7 @@
 					factoryRegistry.addFactory(newFactory);
 
 					// add factory to propogating adapter
-					DOMModel domModel = (DOMModel) sModel;
+					IDOMModel domModel = (IDOMModel) sModel;
 					Document document = domModel.getDocument();
 					PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
 					if (propagatingAdapter != null) {
@@ -172,7 +172,7 @@
 					factoryRegistry.addFactory(newFactory);
 
 					// add factory to propogating adapter
-					DOMModel domModel = (DOMModel) sModel;
+					IDOMModel domModel = (IDOMModel) sModel;
 					Document document = domModel.getDocument();
 					PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
 					if (propagatingAdapter != null) {
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java
index eff14d6..408ce51 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/reconcile/ReconcileStepForJspTranslation.java
@@ -34,8 +34,8 @@
 import org.eclipse.wst.sse.ui.internal.reconcile.DocumentAdapter;
 import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
 import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 
 /**
@@ -103,7 +103,7 @@
 				try {
 					model = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
 					if (model != null) {
-						DOMDocument xmlDoc = ((DOMModel) model).getDocument();
+						IDOMDocument xmlDoc = ((IDOMModel) model).getDocument();
 						fTranslationAdapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 					}
 				}
@@ -321,7 +321,7 @@
 			try {
 				model = StructuredModelManager.getModelManager().getExistingModelForRead(doc);
 				if(getJSPTranslationAdapter() != null)
-					getJSPTranslationAdapter().setXMLModel((DOMModel) model);
+					getJSPTranslationAdapter().setXMLModel((IDOMModel) model);
 			}
 			finally {
 				if (model != null)
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/registry/AdapterFactoryProviderForJSP.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/registry/AdapterFactoryProviderForJSP.java
index 1fa714e..de2dbe3 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/registry/AdapterFactoryProviderForJSP.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/registry/AdapterFactoryProviderForJSP.java
@@ -29,8 +29,8 @@
 import org.eclipse.wst.sse.ui.registry.AdapterFactoryRegistry;
 import org.eclipse.wst.sse.ui.registry.embedded.EmbeddedAdapterFactoryProvider;
 import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.ui.internal.properties.XMLPropertySourceAdapterFactory;
 
 public class AdapterFactoryProviderForJSP implements AdapterFactoryProvider {
@@ -103,9 +103,9 @@
 
 	protected void addEmbeddedContentFactories(IStructuredModel structuredModel) {
 
-		if (structuredModel instanceof DOMModel) {
-			DOMModel xmlModel = (DOMModel) structuredModel;
-			DOMDocument document = xmlModel.getDocument();
+		if (structuredModel instanceof IDOMModel) {
+			IDOMModel xmlModel = (IDOMModel) structuredModel;
+			IDOMDocument document = xmlModel.getDocument();
 			PageDirectiveAdapter pageDirectiveAdapter = (PageDirectiveAdapter) document.getAdapterFor(PageDirectiveAdapter.class);
 			if (pageDirectiveAdapter != null) {
 				// made into registry mechanism
@@ -140,10 +140,10 @@
 		//			}
 		//		}
 
-		if (structuredModel instanceof DOMModel) {
+		if (structuredModel instanceof IDOMModel) {
 //			IAdapterFactory factory = null;
-			DOMModel xmlModel = (DOMModel) structuredModel;
-			DOMDocument document = xmlModel.getDocument();
+			IDOMModel xmlModel = (IDOMModel) structuredModel;
+			IDOMDocument document = xmlModel.getDocument();
 			PropagatingAdapter propagatingAdapter = (PropagatingAdapter) document.getAdapterFor(PropagatingAdapter.class);
 			if (propagatingAdapter != null) {
 				//	checking if we should bother adding this factory
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHover.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHover.java
index 1e7be9a..1ebd9c7 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHover.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHover.java
@@ -18,8 +18,8 @@
 import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
 import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
 import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 
 /**
  * Provides javadoc hover help documentation for java code inside JSPs
@@ -29,10 +29,10 @@
 	
 	public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
 		// get JSP translation object for this viewer's document
-		DOMModel xmlModel = (DOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(textViewer.getDocument());
+		IDOMModel xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(textViewer.getDocument());
 		try {
 			if(xmlModel != null) {
-				DOMDocument xmlDoc = xmlModel.getDocument();
+				IDOMDocument xmlDoc = xmlModel.getDocument();
 				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 				if (adapter != null) {
 					JSPTranslation translation = adapter.getJSPTranslation();
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java
index c3f6c41..56f6ebe 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPJavaJavadocHoverProcessor.java
@@ -24,8 +24,8 @@
 import org.eclipse.jst.jsp.core.internal.java.JSPTranslation;
 import org.eclipse.jst.jsp.core.internal.java.JSPTranslationAdapter;
 import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 
 /**
  * Provides javadoc hover help documentation for java code inside JSPs
@@ -100,10 +100,10 @@
 	 */
 	public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
 		// get JSP translation object for this viewer's document
-		DOMModel xmlModel = (DOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(textViewer.getDocument());
+		IDOMModel xmlModel = (IDOMModel) StructuredModelManager.getModelManager().getExistingModelForRead(textViewer.getDocument());
 		try {
 			if(xmlModel != null) {
-				DOMDocument xmlDoc = xmlModel.getDocument();
+				IDOMDocument xmlDoc = xmlModel.getDocument();
 				JSPTranslationAdapter adapter = (JSPTranslationAdapter) xmlDoc.getAdapterFor(IJSPTranslation.class);
 				if (adapter != null) {
 					JSPTranslation translation = adapter.getJSPTranslation();
diff --git a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPTagInfoHoverProcessor.java b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPTagInfoHoverProcessor.java
index d4cc76c..6bafefa 100644
--- a/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPTagInfoHoverProcessor.java
+++ b/bundles/org.eclipse.jst.jsp.ui/src/org/eclipse/jst/jsp/ui/internal/taginfo/JSPTagInfoHoverProcessor.java
@@ -17,7 +17,7 @@
 import org.eclipse.wst.sse.core.IndexedRegion;
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 
 /**
  * Provides hover help documentation for JSP tags
@@ -27,7 +27,7 @@
 	/* (non-Javadoc)
 	 * @see com.ibm.sed.structured.taginfo.AbstractTextHoverProcessor#computeRegionHelp(com.ibm.sed.model.IndexedRegion, com.ibm.sed.model.xml.XMLNode, com.ibm.sed.structured.text.IStructuredDocumentRegion, com.ibm.sed.structured.text.ITextRegion)
 	 */
-	protected String computeRegionHelp(IndexedRegion treeNode, DOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
+	protected String computeRegionHelp(IndexedRegion treeNode, IDOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
 		String result = null;
 
 		if (region == null)
@@ -35,7 +35,7 @@
 
 		String regionType = region.getType();
 		if (regionType == DOMJSPRegionContexts.JSP_DIRECTIVE_NAME) {
-			result = computeJSPDirHelp((DOMNode) treeNode, parentNode, flatNode, region);
+			result = computeJSPDirHelp((IDOMNode) treeNode, parentNode, flatNode, region);
 		}
 		else
 			result = super.computeRegionHelp(treeNode, parentNode, flatNode, region);
@@ -47,7 +47,7 @@
 	 * Computes the hover help for the jsp directive name
 	 * for now, treat jsp directives like any other tag name
 	 */
-	protected String computeJSPDirHelp(DOMNode xmlnode, DOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
+	protected String computeJSPDirHelp(IDOMNode xmlnode, IDOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
 		return computeTagNameHelp(xmlnode, parentNode, flatNode, region);
 	}
 
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/FormatProcessorCSS.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/FormatProcessorCSS.java
index 28b8ff8..ecb70ff 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/FormatProcessorCSS.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/format/FormatProcessorCSS.java
@@ -24,7 +24,7 @@
 import org.eclipse.wst.sse.core.internal.format.AbstractStructuredFormatProcessor;
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatPreferences;
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatter;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.w3c.dom.Node;
 
 
@@ -54,7 +54,7 @@
 				formatUtil.replaceSource(doc.getModel(), startOffset, endOffset - startOffset, buf.toString());
 			}
 		}
-		else if (structuredModel instanceof DOMModel) {
+		else if (structuredModel instanceof IDOMModel) {
 			List cssnodes = formatUtil.collectCSSNodes(structuredModel, start, length);
 			if (cssnodes != null && !cssnodes.isEmpty()) {
 				ICSSModel model = null;
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/cleanup/CleanupProcessorCSS.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/cleanup/CleanupProcessorCSS.java
index 6d2fcb7..c325e53 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/cleanup/CleanupProcessorCSS.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/cleanup/CleanupProcessorCSS.java
@@ -28,7 +28,7 @@
 import org.eclipse.wst.sse.core.internal.cleanup.AbstractStructuredCleanupProcessor;
 import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupHandler;
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.w3c.dom.Node;
 
 
@@ -46,7 +46,7 @@
 				formatUtil.replaceSource(doc.getModel(), startOffset, endOffset - startOffset, buf.toString());
 			}
 		}
-		else if (structuredModel instanceof DOMModel) {
+		else if (structuredModel instanceof IDOMModel) {
 			List cssnodes = formatUtil.collectCSSNodes(structuredModel, start, length);
 			if (cssnodes != null && !cssnodes.isEmpty()) {
 				ICSSModel model = null;
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSImportRuleImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSImportRuleImpl.java
index 8daa731..8dbbf5d 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSImportRuleImpl.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSImportRuleImpl.java
@@ -23,7 +23,7 @@
 import org.eclipse.wst.css.core.util.URLModelProviderCSS;
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.css.CSSStyleSheet;
 import org.w3c.dom.stylesheets.MediaList;
@@ -142,7 +142,7 @@
 				if (getOwnerDocument().getModel().getStyleSheetType() == ICSSModel.EMBEDDED) { // case
 																								// STYLE
 																								// tag
-					baseModel = ((DOMNode) getOwnerDocument().getModel().getOwnerDOMNode()).getModel();
+					baseModel = ((IDOMNode) getOwnerDocument().getModel().getOwnerDOMNode()).getModel();
 				}
 				// get ModelProvideAdapter
 				IModelProvideAdapter adapter = (IModelProvideAdapter) getAdapterFor(IModelProvideAdapter.class);
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelImpl.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelImpl.java
index dd0e532..9c575f0 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelImpl.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/document/CSSModelImpl.java
@@ -50,7 +50,7 @@
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.core.text.ITextRegionList;
 import org.eclipse.wst.sse.core.util.Assert;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 
@@ -137,8 +137,8 @@
 		getStyleNotifier().beginRecording();
 
 		Node node = getOwnerDOMNode();
-		if (node != null && node instanceof DOMNode) {
-			IStructuredModel model = ((DOMNode) node).getModel();
+		if (node != null && node instanceof IDOMNode) {
+			IStructuredModel model = ((IDOMNode) node).getModel();
 			if (model != null) {
 				model.beginRecording(requester, label, description);
 				return;
@@ -279,8 +279,8 @@
 	 */
 	public void endRecording(Object requester) {
 		Node node = getOwnerDOMNode();
-		if (node != null && node instanceof DOMNode) {
-			IStructuredModel model = ((DOMNode) node).getModel();
+		if (node != null && node instanceof IDOMNode) {
+			IStructuredModel model = ((IDOMNode) node).getModel();
 			if (model != null) {
 				model.endRecording(requester);
 				return;
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSEmbededStyleNotifyAdapter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSEmbededStyleNotifyAdapter.java
index cd47f5b..f70e34a 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSEmbededStyleNotifyAdapter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/event/CSSEmbededStyleNotifyAdapter.java
@@ -17,7 +17,7 @@
 import org.eclipse.wst.css.core.document.ICSSSelector;
 import org.eclipse.wst.css.core.event.ICSSStyleListener;
 import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 
 
 public class CSSEmbededStyleNotifyAdapter extends CSSStyleNotifyAdapter {
@@ -36,7 +36,7 @@
 	 * 
 	 */
 	public void styleChanged(ICSSModel srcModel, ICSSSelector[] removed, ICSSSelector[] added, String media) {
-		DOMNode node = (DOMNode) model.getOwnerDOMNode();
+		IDOMNode node = (IDOMNode) model.getOwnerDOMNode();
 		if (node != null)
 			return;
 		INodeAdapter adapter = node.getAdapterFor(IStyleSheetAdapter.class);
@@ -49,7 +49,7 @@
 	 * 
 	 */
 	public void styleUpdate(ICSSModel srcModel) {
-		DOMNode node = (DOMNode) model.getOwnerDOMNode();
+		IDOMNode node = (IDOMNode) model.getOwnerDOMNode();
 		if (node != null)
 			return;
 		INodeAdapter adapter = node.getAdapterFor(IStyleSheetAdapter.class);
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSFormatUtil.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSFormatUtil.java
index 631a8ab..62631d3 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSFormatUtil.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/internal/formatter/CSSFormatUtil.java
@@ -21,8 +21,8 @@
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.core.IndexedRegion;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Node;
 import org.w3c.dom.Text;
 
@@ -49,7 +49,7 @@
 				}
 			}
 		}
-		else if (model instanceof DOMModel && startNode instanceof DOMNode && endNode instanceof DOMNode) {
+		else if (model instanceof IDOMModel && startNode instanceof IDOMNode && endNode instanceof IDOMNode) {
 			if (startNode instanceof Text) {
 				startNode = (IndexedRegion) ((Text) startNode).getParentNode();
 			}
@@ -57,7 +57,7 @@
 				endNode = (IndexedRegion) ((Text) endNode).getParentNode();
 			}
 			// HTML model, maybe
-			DOMNode ca = (DOMNode) getCommonAncestor((Node) startNode, (Node) endNode);
+			IDOMNode ca = (IDOMNode) getCommonAncestor((Node) startNode, (Node) endNode);
 			findCSS(nodes, ca);
 		}
 
@@ -84,7 +84,7 @@
 		return null; // not found
 	}
 
-	private void findCSS(List cssNodes, DOMNode node) {
+	private void findCSS(List cssNodes, IDOMNode node) {
 		ICSSModelAdapter adapter;
 		adapter = (ICSSModelAdapter) node.getAdapterFor(IStyleSheetAdapter.class);
 		if (adapter != null) {
@@ -103,7 +103,7 @@
 			}
 		}
 
-		for (DOMNode child = (DOMNode) node.getFirstChild(); child != null; child = (DOMNode) child.getNextSibling()) {
+		for (IDOMNode child = (IDOMNode) node.getFirstChild(); child != null; child = (IDOMNode) child.getNextSibling()) {
 			findCSS(cssNodes, child);
 		}
 	}
diff --git a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSLinkConverter.java b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSLinkConverter.java
index 65348f6..b59b147 100644
--- a/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSLinkConverter.java
+++ b/bundles/org.eclipse.wst.css.core/src/org/eclipse/wst/css/core/util/CSSLinkConverter.java
@@ -18,7 +18,7 @@
 import org.eclipse.wst.css.core.document.ICSSPrimitiveValue;
 import org.eclipse.wst.css.core.preferences.CSSPreferenceHelper;
 import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.css.CSSPrimitiveValue;
 import org.w3c.dom.css.CSSValue;
 
@@ -42,7 +42,7 @@
 		super();
 		baseModel = model;
 		if (model instanceof ICSSModel && ((ICSSModel) model).getStyleSheetType() != ICSSModel.EXTERNAL) {
-			DOMNode node = (DOMNode) ((ICSSModel) model).getOwnerDOMNode();
+			IDOMNode node = (IDOMNode) ((ICSSModel) model).getOwnerDOMNode();
 			baseModel = node.getModel();
 		}
 	}
@@ -80,7 +80,7 @@
 		if (baseModel == null) {
 			baseModel = node.getOwnerDocument().getModel();
 			if (baseModel instanceof ICSSModel && ((ICSSModel) baseModel).getStyleSheetType() != ICSSModel.EXTERNAL) {
-				DOMNode xmlNode = (DOMNode) ((ICSSModel) baseModel).getOwnerDOMNode();
+				IDOMNode xmlNode = (IDOMNode) ((ICSSModel) baseModel).getOwnerDOMNode();
 				baseModel = xmlNode.getModel();
 			}
 		}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistProcessor.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistProcessor.java
index fefbe6f..8e00a3b 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistProcessor.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSContentAssistProcessor.java
@@ -24,7 +24,7 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.ui.contentassist.XMLContentAssistUtilities;
 import org.eclipse.wst.xml.ui.util.SharedXMLEditorPluginImageHelper;
 
@@ -45,15 +45,15 @@
 	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentPosition) {
 
 		IndexedRegion indexedNode = ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, documentPosition + fDocumentOffset);
-		DOMNode xNode = null;
-		DOMNode parent = null;
+		IDOMNode xNode = null;
+		IDOMNode parent = null;
 		CSSProposalArranger arranger = null;
 
 		// bail if we couldn't get an indexed node
 		// if(indexedNode == null) return new ICompletionProposal[0];
-		if (indexedNode instanceof DOMNode) {
-			xNode = (DOMNode) indexedNode;
-			parent = (DOMNode) xNode.getParentNode();
+		if (indexedNode instanceof IDOMNode) {
+			xNode = (IDOMNode) indexedNode;
+			parent = (IDOMNode) xNode.getParentNode();
 		}
 		// need to get in here if there in the no 0 region <style>|</style>
 		// case
@@ -86,9 +86,9 @@
 				arranger = new CSSProposalArranger(pos, (ICSSNode) keyIndexedNode, offset, (char) 0);
 			}
 		}
-		else if (indexedNode instanceof DOMNode) {
+		else if (indexedNode instanceof IDOMNode) {
 			// get model for node w/ style attribute
-			IStructuredModel cssModel = getCSSModel((DOMNode) indexedNode);
+			IStructuredModel cssModel = getCSSModel((IDOMNode) indexedNode);
 			if (cssModel != null) {
 				IndexedRegion keyIndexedNode = cssModel.getIndexedRegion(documentPosition - fDocumentOffset);
 				if (keyIndexedNode == null) {
@@ -197,7 +197,7 @@
 	 * @param element
 	 * @return IStructuredModel
 	 */
-	private IStructuredModel getCSSModel(DOMNode element) {
+	private IStructuredModel getCSSModel(IDOMNode element) {
 		if (element == null)
 			return null;
 		INodeAdapter adapter = StyleAdapterFactory.getInstance().adapt(element);
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForHTMLTag.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForHTMLTag.java
index 9d701ae..2829b07 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForHTMLTag.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/contentassist/CSSProposalGeneratorForHTMLTag.java
@@ -21,7 +21,7 @@
 import org.eclipse.wst.css.ui.image.CSSImageType;
 import org.eclipse.wst.html.core.contentmodel.HTMLCMDocumentFactory;
 import org.eclipse.wst.xml.core.contentmodel.CMDocType;
-import org.eclipse.wst.xml.core.document.DOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -62,8 +62,8 @@
 			Node domNode = fContext.getModel().getOwnerDOMNode();
 			if (domNode != null && !(domNode instanceof Document)) {
 				domNode = domNode.getOwnerDocument();
-				if (domNode instanceof DOMDocument) {
-					DocumentTypeAdapter adapter = (DocumentTypeAdapter) ((DOMDocument) domNode).getAdapterFor(DocumentTypeAdapter.class);
+				if (domNode instanceof IDOMDocument) {
+					DocumentTypeAdapter adapter = (DocumentTypeAdapter) ((IDOMDocument) domNode).getAdapterFor(DocumentTypeAdapter.class);
 					if (adapter != null)
 						bLowerCase = (adapter.getTagNameCase() == DocumentTypeAdapter.LOWER_CASE);
 				}
diff --git a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/properties/CSSTextPropertyDescriptor.java b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/properties/CSSTextPropertyDescriptor.java
index caa460e..6b2b65c 100644
--- a/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/properties/CSSTextPropertyDescriptor.java
+++ b/bundles/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/properties/CSSTextPropertyDescriptor.java
@@ -29,7 +29,7 @@
 import org.eclipse.wst.css.core.util.CSSPathService;
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 
 /**
  */
@@ -70,7 +70,7 @@
 		// validateEdit()
 		IStructuredModel structuredModel = model;
 		if (model.getStyleSheetType() != ICSSModel.EXTERNAL) {
-			structuredModel = ((DOMNode) model.getOwnerDOMNode()).getModel();
+			structuredModel = ((IDOMNode) model.getOwnerDOMNode()).getModel();
 			if (structuredModel == null)
 				return null;
 		}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/commentelement/handlers/CommentElementHandlerForSSI.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/commentelement/handlers/CommentElementHandlerForSSI.java
index 60c4aa7..cbfebbe 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/commentelement/handlers/CommentElementHandlerForSSI.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/commentelement/handlers/CommentElementHandlerForSSI.java
@@ -15,7 +15,7 @@
 import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
 import org.eclipse.wst.xml.core.commentelement.util.CommentElementFactory;
 import org.eclipse.wst.xml.core.commentelement.util.TagScanner;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.document.ISourceGenerator;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
@@ -81,9 +81,9 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#generateStartTagContent(DOMElement)
+	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#generateStartTagContent(IDOMElement)
 	 */
-	public String generateStartTagContent(DOMElement element) {
+	public String generateStartTagContent(IDOMElement element) {
 		ISourceGenerator generator = element.getModel().getGenerator();
 		StringBuffer buffer = new StringBuffer();
 
@@ -114,9 +114,9 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#generateEndTagContent(DOMElement)
+	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#generateEndTagContent(IDOMElement)
 	 */
-	public String generateEndTagContent(DOMElement element) {
+	public String generateEndTagContent(IDOMElement element) {
 		return null; // always empty
 	}
 
@@ -127,7 +127,7 @@
 	/* (non-Javadoc)
 	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#isCommentElement(com.ibm.sed.model.xml.XMLElement)
 	 */
-	public boolean isCommentElement(DOMElement element) {
+	public boolean isCommentElement(IDOMElement element) {
 		if (element == null) {
 			return false;
 		}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/DocumentStyleImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/DocumentStyleImpl.java
index f6e9e66..b48a7ec 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/DocumentStyleImpl.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/DocumentStyleImpl.java
@@ -18,8 +18,8 @@
 
 import org.eclipse.wst.css.core.adapters.IStyleSheetListAdapter;
 import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Element;
@@ -34,7 +34,7 @@
  * To change the template for this generated type comment go to
  * Window>Preferences>Java>Code Generation>Code and Comments
  */
-public class DocumentStyleImpl extends DocumentImpl implements DOMDocument, DocumentCSS {
+public class DocumentStyleImpl extends DocumentImpl implements IDOMDocument, DocumentCSS {
 	public DocumentStyleImpl() {
 		super();
 	}
@@ -90,7 +90,7 @@
 		return cloned;
 	}
 
-	protected void setModel(DOMModel model) {
+	protected void setModel(IDOMModel model) {
 		super.setModel(model);
 	}
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/ElementStyleImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/ElementStyleImpl.java
index a3be1e6..89d407b 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/ElementStyleImpl.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/ElementStyleImpl.java
@@ -19,7 +19,7 @@
 import org.eclipse.wst.css.core.adapters.IStyleDeclarationAdapter;
 import org.eclipse.wst.css.core.adapters.IStyleSheetAdapter;
 import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.internal.document.ElementImpl;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -28,7 +28,7 @@
 import org.w3c.dom.stylesheets.LinkStyle;
 import org.w3c.dom.stylesheets.StyleSheet;
 
-public class ElementStyleImpl extends ElementImpl implements DOMElement, ElementCSSInlineStyle, LinkStyle {
+public class ElementStyleImpl extends ElementImpl implements IDOMElement, ElementCSSInlineStyle, LinkStyle {
 	public ElementStyleImpl() {
 		super();
 	}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLConverter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLConverter.java
index f5e5f92..73753fb 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLConverter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLConverter.java
@@ -25,9 +25,9 @@
 import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupPreferences;
 import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMDocumentType;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocumentType;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -45,7 +45,7 @@
 
 	}
 
-	public void cleanupModel(DOMModel model) {
+	public void cleanupModel(IDOMModel model) {
 		if (model == null)
 			return;
 
@@ -92,7 +92,7 @@
 	 * declaratoin: "data" for XML declaration, such as "version=\"1.0\""
 	 * publicId: publicId for DOCTYPE declaration
 	 */
-	public void convert(DOMModel model, String declaration, String publicId) {
+	public void convert(IDOMModel model, String declaration, String publicId) {
 		if (model == null)
 			return;
 		setDeclaration(model, declaration, publicId);
@@ -104,7 +104,7 @@
 	 * publicId: publicId for DOCTYPE declaration
 	 */
 	public void convert(InputStream input, OutputStream output, String declaration, String publicId) throws UnsupportedEncodingException, IOException, CoreException {
-		DOMModel model = readModel(input);
+		IDOMModel model = readModel(input);
 		if (model == null)
 			return;
 		try {
@@ -122,7 +122,7 @@
 	 * publicId: publicId for DOCTYPE declaration
 	 */
 	public void convert(IFile file, String declaration, String publicId) throws IOException, CoreException {
-		DOMModel model = readModel(file);
+		IDOMModel model = readModel(file);
 		if (model == null)
 			return;
 		try {
@@ -137,7 +137,7 @@
 
 	/**
 	 */
-	private static void insertBreak(DOMModel model, Node node) {
+	private static void insertBreak(IDOMModel model, Node node) {
 		if (model == null || node == null)
 			return;
 		if (node.getNodeType() == Node.TEXT_NODE)
@@ -163,42 +163,42 @@
 
 	/**
 	 */
-	private DOMModel readModel(InputStream input) throws IOException, UnsupportedEncodingException {
+	private IDOMModel readModel(InputStream input) throws IOException, UnsupportedEncodingException {
 		if (input == null)
 			return null;
 		// create temporary model
 		String id = input.toString() + ".html"; //$NON-NLS-1$
 		IModelManager manager = StructuredModelManager.getModelManager();
 		IStructuredModel model = manager.getModelForEdit(id, input, null);
-		if (!(model instanceof DOMModel)) {
+		if (!(model instanceof IDOMModel)) {
 			if (model == null)
 				model.releaseFromEdit();
 			return null;
 		}
-		return (DOMModel) model;
+		return (IDOMModel) model;
 	}
 
 	/**
 	 */
-	private DOMModel readModel(IFile file) throws IOException, CoreException {
+	private IDOMModel readModel(IFile file) throws IOException, CoreException {
 		if (file == null)
 			return null;
 		IModelManager manager = StructuredModelManager.getModelManager();
 		IStructuredModel model = manager.getModelForEdit(file);
-		if (!(model instanceof DOMModel)) {
+		if (!(model instanceof IDOMModel)) {
 			if (model != null)
 				model.releaseFromEdit();
 			return null;
 		}
-		return (DOMModel) model;
+		return (IDOMModel) model;
 	}
 
 	/**
 	 */
-	public void setDeclaration(DOMModel model, String declaration, String publicId) {
+	public void setDeclaration(IDOMModel model, String declaration, String publicId) {
 		if (model == null)
 			return;
-		DOMDocument document = model.getDocument();
+		IDOMDocument document = model.getDocument();
 		if (document == null)
 			return;
 
@@ -214,7 +214,7 @@
 					child = child.getNextSibling();
 				}
 			}
-			DOMDocumentType docType = (DOMDocumentType) document.getDoctype();
+			IDOMDocumentType docType = (IDOMDocumentType) document.getDoctype();
 
 			if (declaration != null) {
 				if (pi != null) {
@@ -236,13 +236,13 @@
 					if (!name.equals(docType.getName())) { // replace
 						Node parent = docType.getParentNode();
 						child = docType;
-						docType = (DOMDocumentType) document.createDoctype(name);
+						docType = (IDOMDocumentType) document.createDoctype(name);
 						parent.insertBefore(docType, child);
 						parent.removeChild(child);
 					}
 				}
 				else {
-					docType = (DOMDocumentType) document.createDoctype(name);
+					docType = (IDOMDocumentType) document.createDoctype(name);
 					document.insertBefore(docType, child);
 					insertBreak(model, child);
 				}
@@ -268,7 +268,7 @@
 
 	/**
 	 */
-	private void writeModel(DOMModel model, OutputStream output) throws UnsupportedEncodingException, IOException, CoreException {
+	private void writeModel(IDOMModel model, OutputStream output) throws UnsupportedEncodingException, IOException, CoreException {
 		if (model == null || output == null)
 			return;
 		model.save();
@@ -276,7 +276,7 @@
 
 	/**
 	 */
-	private void writeModel(DOMModel model, IFile file) throws IOException, CoreException {
+	private void writeModel(IDOMModel model, IFile file) throws IOException, CoreException {
 		if (model == null || file == null)
 			return;
 		IStructuredDocument structuredDocument = model.getStructuredDocument();
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapter.java
index 525645c..edafd89 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapter.java
@@ -24,9 +24,9 @@
 import org.eclipse.wst.sse.ui.contentproperties.ContentSettingsChangeSubject;
 import org.eclipse.wst.sse.ui.contentproperties.IContentSettings;
 import org.eclipse.wst.sse.ui.contentproperties.IContentSettingsListener;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMDocumentType;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocumentType;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.document.DocumentTypeAdapter;
 import org.eclipse.wst.xml.core.internal.document.DocumentTypeAdapterImpl;
 import org.w3c.dom.DOMImplementation;
@@ -54,7 +54,7 @@
 
 	/**
 	 */
-	protected HTMLDocumentTypeAdapter(DOMDocument document, HTMLDocumentTypeAdapterFactory factory) {
+	protected HTMLDocumentTypeAdapter(IDOMDocument document, HTMLDocumentTypeAdapterFactory factory) {
 		super(document);
 
 		this.factory = factory;
@@ -70,10 +70,10 @@
 	public void contentSettingsChanged(IResource resource) {
 		if (resource == null)
 			return;
-		DOMDocument document = getDocument();
+		IDOMDocument document = getDocument();
 		if (document == null)
 			return;
-		DOMModel model = document.getModel();
+		IDOMModel model = document.getModel();
 		if (model == null)
 			return;
 		IFile file = getFile(model);
@@ -90,10 +90,10 @@
 	/**
 	 */
 	private void documentTypeChanged() {
-		DOMDocument document = getDocument();
+		IDOMDocument document = getDocument();
 		if (document == null)
 			return; // error
-		DOMModel model = document.getModel();
+		IDOMModel model = document.getModel();
 		if (model == null)
 			return; // error
 
@@ -186,8 +186,8 @@
 
 	/**
 	 */
-	private DOMDocumentType findDocumentType(DOMDocument document) {
-		DOMDocumentType documentType = (DOMDocumentType) document.getDoctype();
+	private IDOMDocumentType findDocumentType(IDOMDocument document) {
+		IDOMDocumentType documentType = (IDOMDocumentType) document.getDoctype();
 		if (documentType != null && documentType.getExistingAdapter(DocumentTypeAdapter.class) == null) {
 			// watch future changes
 			documentType.addAdapter(this);
@@ -284,7 +284,7 @@
 	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
 		if (notifier == null)
 			return;
-		if (notifier instanceof DOMDocument) {
+		if (notifier instanceof IDOMDocument) {
 			if (eventType != INodeNotifier.STRUCTURE_CHANGED)
 				return;
 		} else {
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapterFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapterFactory.java
index aeadbe0..f72d75d 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapterFactory.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLDocumentTypeAdapterFactory.java
@@ -18,7 +18,7 @@
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
-import org.eclipse.wst.xml.core.document.DOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
 import org.eclipse.wst.xml.core.internal.document.DocumentTypeAdapter;
 
 /**
@@ -58,9 +58,9 @@
 		DocumentTypeAdapter adapter = (DocumentTypeAdapter)notifier.getExistingAdapter(DocumentTypeAdapter.class);
 		if (adapter != null)
 			return adapter;
-		if (!(notifier instanceof DOMDocument))
+		if (!(notifier instanceof IDOMDocument))
 			return null;
-		adapter = new HTMLDocumentTypeAdapter((DOMDocument) notifier, this);
+		adapter = new HTMLDocumentTypeAdapter((IDOMDocument) notifier, this);
 		notifier.addAdapter(adapter);
 		
 		fAdapter = adapter;
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapter.java
index 5ec6c27..72c6f54 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/HTMLModelParserAdapter.java
@@ -16,8 +16,8 @@
 import org.eclipse.wst.html.core.HTMLCMProperties;
 import org.eclipse.wst.html.core.contentmodel.HTMLElementDeclaration;
 import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMText;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMText;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMGroup;
@@ -67,12 +67,12 @@
 	public boolean canContain(Element element, Node child) {
 		if (element == null || child == null)
 			return false;
-		DOMElement impl = (DOMElement) element;
+		IDOMElement impl = (IDOMElement) element;
 
 		if (child.getNodeType() == Node.ELEMENT_NODE) {
 			if (!impl.isGlobalTag())
 				return true; // non HTML tag
-			DOMElement childElement = (DOMElement) child;
+			IDOMElement childElement = (IDOMElement) child;
 
 			CMElementDeclaration myDec = CMNodeUtil.getElementDeclaration(element);
 			if (myDec == null)
@@ -114,7 +114,7 @@
 
 				Node parent = element.getParentNode();
 				if (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
-					DOMElement parentElement = (DOMElement) parent;
+					IDOMElement parentElement = (IDOMElement) parent;
 					if (!parentElement.hasStartTag() && !parentElement.hasEndTag()) {
 						if (!canContain(parentElement, child))
 							return false;
@@ -146,7 +146,7 @@
 				for (Node parent = element.getParentNode(); parent != null; parent = parent.getParentNode()) {
 					if (parent.getNodeType() != Node.ELEMENT_NODE)
 						break;
-					DOMElement parentElement = (DOMElement) parent;
+					IDOMElement parentElement = (IDOMElement) parent;
 					String parentName = parentElement.getTagName();
 					if (parentName == null)
 						continue;
@@ -162,7 +162,7 @@
 		else if (child.getNodeType() == Node.TEXT_NODE) {
 			String tagName = impl.getTagName();
 			if (tagName != null && tagName.equalsIgnoreCase(HTML40Namespace.ElementName.EMBED)) {
-				DOMText text = (DOMText) child;
+				IDOMText text = (IDOMText) child;
 				if (!text.isWhitespace())
 					return false;
 			}
@@ -260,7 +260,7 @@
 		if (metaData == null)
 			metaData = new String();
 
-		DOMElement element = (DOMElement) document.createElement(MetaData.PREFIX + type);
+		IDOMElement element = (IDOMElement) document.createElement(MetaData.PREFIX + type);
 
 		MetaDataAdapter adapter = new MetaDataAdapter(type);
 		if (isStartSpan) {
@@ -297,7 +297,7 @@
 
 	/**
 	 */
-	public boolean isEndTag(DOMElement element) {
+	public boolean isEndTag(IDOMElement element) {
 		TagAdapter adapter = (TagAdapter) element.getExistingAdapter(TagAdapter.class);
 		if (adapter != null)
 			return adapter.isEndTag();
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaDataAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaDataAdapter.java
index a5f9b2f..f334cdb 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaDataAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/MetaDataAdapter.java
@@ -19,8 +19,8 @@
 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.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.document.TagAdapter;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 
@@ -28,7 +28,7 @@
  */
 public class MetaDataAdapter implements TagAdapter, MetaData {
 
-	private DOMElement element = null;
+	private IDOMElement element = null;
 	private String type = null;
 	private String data = null;
 	private String endData = null;
@@ -124,7 +124,7 @@
 
 	/**
 	 */
-	private String getDelimiter(DOMModel model) {
+	private String getDelimiter(IDOMModel model) {
 		String delim = null;
 		if (model != null) {
 			IStructuredDocument structuredDocument = model.getStructuredDocument();
@@ -151,7 +151,7 @@
 
 	/**
 	 */
-	public String getEndTag(DOMElement element) {
+	public String getEndTag(IDOMElement element) {
 		StringBuffer buffer = new StringBuffer();
 		if (element.isJSPTag())
 			buffer.append("<%--");//$NON-NLS-1$
@@ -181,7 +181,7 @@
 
 	/**
 	 */
-	public String getStartTag(DOMElement element) {
+	public String getStartTag(IDOMElement element) {
 		StringBuffer buffer = new StringBuffer();
 		if (element.isJSPTag())
 			buffer.append("<%--");//$NON-NLS-1$
@@ -266,7 +266,7 @@
 
 	/**
 	 */
-	public void setElement(DOMElement element) {
+	public void setElement(IDOMElement element) {
 		this.element = element;
 
 		if (this.element != null) {
@@ -287,7 +287,7 @@
 		if (isRuntimeContainer())
 			return;
 
-		DOMModel model = this.element.getModel();
+		IDOMModel model = this.element.getModel();
 		if (model == null)
 			return;
 		IStructuredDocument structuredDocument = model.getStructuredDocument();
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/UnknownTagAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/UnknownTagAdapter.java
index 8e9a0e8..b65434a 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/UnknownTagAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/document/UnknownTagAdapter.java
@@ -13,7 +13,7 @@
 
 
 import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.internal.document.TagAdapter;
 
 /**
@@ -31,7 +31,7 @@
 
 	/**
 	 */
-	public String getEndTag(DOMElement element) {
+	public String getEndTag(IDOMElement element) {
 		String tag = null;
 		if (this.endTag != null) {
 			tag = this.endTag;
@@ -42,7 +42,7 @@
 
 	/**
 	 */
-	public String getStartTag(DOMElement element) {
+	public String getStartTag(IDOMElement element) {
 		String tag = null;
 		if (this.startTag != null) {
 			tag = this.startTag;
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentLoader.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentLoader.java
index ca3dafd..508c38d 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentLoader.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLDocumentLoader.java
@@ -36,7 +36,7 @@
 import org.eclipse.wst.sse.core.parser.BlockMarker;
 import org.eclipse.wst.sse.core.parser.RegionParser;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
 import org.eclipse.wst.xml.core.internal.parser.XMLStructuredDocumentReParser;
 import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
@@ -141,7 +141,7 @@
 		// I noticed the ProagatingAdapterFactory was being added,
 		// that that the ProagatingAdapterAdapter was not being
 		// preload adapted -- I'm assuing it ALWAYS has to be.
-		DOMModel domModel = (DOMModel) structuredModel;
+		IDOMModel domModel = (IDOMModel) structuredModel;
 		// if there is a model in the adapter, this will adapt it to
 		// first node. After that the PropagatingAdater spreads over the
 		// children being
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLModelLoader.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLModelLoader.java
index 972c297..d9432e7 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLModelLoader.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/encoding/HTMLModelLoader.java
@@ -28,7 +28,7 @@
 import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
 import org.eclipse.wst.sse.core.parser.BlockMarker;
 import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.DebugAdapterFactory;
 import org.eclipse.wst.xml.core.internal.parser.XMLSourceParser;
 import org.eclipse.wst.xml.core.internal.propagate.PropagatingAdapterFactoryImpl;
@@ -86,7 +86,7 @@
 		// I noticed the ProagatingAdapterFactory was being added,
 		// that that the ProagatingAdapterAdapter was not being
 		// preload adapted -- I'm assuing it ALWAYS has to be.
-		DOMModel domModel = (DOMModel) structuredModel;
+		IDOMModel domModel = (IDOMModel) structuredModel;
 		// if there is a model in the adapter, this will adapt it to
 		// first node. After that the PropagatingAdater spreads over the
 		// children being
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/EmbeddedCSSFormatter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/EmbeddedCSSFormatter.java
index b70b412..d70f8d8 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/EmbeddedCSSFormatter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/EmbeddedCSSFormatter.java
@@ -19,8 +19,8 @@
 import org.eclipse.wst.html.core.HTMLFormatContraints;
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.DOMNode;
-import org.eclipse.wst.xml.core.document.DOMText;
+import org.eclipse.wst.xml.core.document.IDOMNode;
+import org.eclipse.wst.xml.core.document.IDOMText;
 
 // nakamori_TODO: check and remove
 
@@ -35,10 +35,10 @@
 
 	/**
 	 */
-	protected void formatNode(DOMNode node, HTMLFormatContraints contraints) {
+	protected void formatNode(IDOMNode node, HTMLFormatContraints contraints) {
 		if (node == null)
 			return;
-		DOMText text = (DOMText) node;
+		IDOMText text = (IDOMText) node;
 
 		String source = getCSSContent(node);
 		if (source == null) { // fallback
@@ -53,7 +53,7 @@
 
 	/**
 	 */
-	private String getCSSContent(DOMNode text) {
+	private String getCSSContent(IDOMNode text) {
 		ICSSModel model = getCSSModel(text);
 		if (model == null)
 			return null;
@@ -73,7 +73,7 @@
 
 	/**
 	 */
-	private ICSSModel getCSSModel(DOMNode text) {
+	private ICSSModel getCSSModel(IDOMNode text) {
 		if (text == null)
 			return null;
 		INodeNotifier notifier = (INodeNotifier) text.getParentNode();
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLElementFormatter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLElementFormatter.java
index 9b9bd5f..dc430d5 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLElementFormatter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLElementFormatter.java
@@ -22,8 +22,8 @@
 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.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.format.IStructuredFormatPreferencesXML;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.w3c.dom.Attr;
@@ -57,7 +57,7 @@
 
 	/**
 	 */
-	private void formatEndTag(DOMElement element, HTMLFormatContraints contraints) {
+	private void formatEndTag(IDOMElement element, HTMLFormatContraints contraints) {
 		IStructuredDocumentRegion endStructuredDocumentRegion = element.getEndStructuredDocumentRegion();
 		if (endStructuredDocumentRegion == null)
 			return;
@@ -102,10 +102,10 @@
 
 	/**
 	 */
-	protected void formatNode(DOMNode node, HTMLFormatContraints contraints) {
+	protected void formatNode(IDOMNode node, HTMLFormatContraints contraints) {
 		if (node == null)
 			return;
-		DOMElement element = (DOMElement) node;
+		IDOMElement element = (IDOMElement) node;
 
 		formatStartTag(element, contraints);
 
@@ -116,7 +116,7 @@
 
 	/**
 	 */
-	private void formatStartTag(DOMElement element, HTMLFormatContraints contraints) {
+	private void formatStartTag(IDOMElement element, HTMLFormatContraints contraints) {
 		IStructuredDocumentRegion startStructuredDocumentRegion = element.getStartStructuredDocumentRegion();
 		if (startStructuredDocumentRegion == null)
 			return;
@@ -286,7 +286,7 @@
 		String value = getCSSValue(attr);
 		if (value == null)
 			return;
-		String oldValue = ((DOMNode) attr).getValueSource();
+		String oldValue = ((IDOMNode) attr).getValueSource();
 		if (oldValue != null && value.equals(oldValue))
 			return;
 		attr.setValue(value);
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatter.java
index 01948fb..6821820 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLFormatter.java
@@ -23,9 +23,9 @@
 import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.format.IStructuredFormatPreferencesXML;
 import org.eclipse.wst.xml.core.format.StructuredFormatPreferencesXML;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -101,13 +101,13 @@
 		if (parent.getNodeType() == Node.DOCUMENT_NODE) {
 			if (node.getNodeType() == Node.ELEMENT_NODE) {
 				// do not insert break after unclosed tag
-				if (!((DOMElement) node).isClosed())
+				if (!((IDOMElement) node).isClosed())
 					return false;
 			}
 			return true;
 		}
 		else if (parent.getNodeType() == Node.ELEMENT_NODE) {
-			DOMElement element = (DOMElement) parent;
+			IDOMElement element = (IDOMElement) parent;
 			// do not insert break before missing end tag
 			if (next == null && element.getEndStructuredDocumentRegion() == null)
 				return false;
@@ -128,7 +128,7 @@
 		}
 
 		if (node.getNodeType() == Node.ELEMENT_NODE) {
-			DOMElement element = (DOMElement) node;
+			IDOMElement element = (IDOMElement) node;
 			CMElementDeclaration decl = getElementDeclaration(element);
 			if (canInsertBreakAfter(decl)) {
 				// spcial for BR
@@ -172,7 +172,7 @@
 			return true;
 		}
 		else if (parent.getNodeType() == Node.ELEMENT_NODE) {
-			DOMElement element = (DOMElement) parent;
+			IDOMElement element = (IDOMElement) parent;
 			// do not insert break after missing start tag
 			if (prev == null && element.getStartStructuredDocumentRegion() == null)
 				return false;
@@ -216,11 +216,11 @@
 	/**
 	 */
 	public void format(Node node, IStructuredFormatContraints contraints) {
-		if (node instanceof DOMNode && contraints instanceof HTMLFormatContraints)
-			format((DOMNode) node, (HTMLFormatContraints) contraints);
+		if (node instanceof IDOMNode && contraints instanceof HTMLFormatContraints)
+			format((IDOMNode) node, (HTMLFormatContraints) contraints);
 	}
 
-	public void format(DOMNode node, HTMLFormatContraints contraints) {
+	public void format(IDOMNode node, HTMLFormatContraints contraints) {
 		if (node == null)
 			return;
 		if (node.getParentNode() == null)
@@ -239,7 +239,7 @@
 
 	/**
 	 */
-	protected void formatChildNodes(DOMNode node, HTMLFormatContraints contraints) {
+	protected void formatChildNodes(IDOMNode node, HTMLFormatContraints contraints) {
 		if (node == null)
 			return;
 		if (!node.hasChildNodes())
@@ -256,11 +256,11 @@
 		}
 
 		boolean insertBreak = true;
-		DOMNode child = (DOMNode) node.getFirstChild();
+		IDOMNode child = (IDOMNode) node.getFirstChild();
 		while (child != null) {
 			if (child.getParentNode() != node)
 				break;
-			DOMNode next = (DOMNode) child.getNextSibling();
+			IDOMNode next = (IDOMNode) child.getNextSibling();
 
 			if (insertBreak && canInsertBreakBefore(child)) {
 				insertBreakBefore(child, contraints);
@@ -294,7 +294,7 @@
 
 	/**
 	 */
-	protected void formatNode(DOMNode node, HTMLFormatContraints contraints) {
+	protected void formatNode(IDOMNode node, HTMLFormatContraints contraints) {
 		if (node == null)
 			return;
 
@@ -319,7 +319,7 @@
 			return null;
 		StringBuffer buffer = new StringBuffer();
 
-		String delim = ((DOMNode) node).getModel().getStructuredDocument().getLineDelimiter();
+		String delim = ((IDOMNode) node).getModel().getStructuredDocument().getLineDelimiter();
 		if (delim != null && delim.length() > 0)
 			buffer.append(delim);
 
@@ -329,10 +329,10 @@
 				if (parent.getNodeType() != Node.ELEMENT_NODE)
 					break;
 				// ignore omitted tag
-				if (((DOMNode) parent).getStartStructuredDocumentRegion() == null)
+				if (((IDOMNode) parent).getStartStructuredDocumentRegion() == null)
 					continue;
 
-				DOMElement element = (DOMElement) parent;
+				IDOMElement element = (IDOMElement) parent;
 				if (element.getPrefix() != null) {
 					String localName = element.getLocalName();
 					// special for html:html
@@ -383,7 +383,7 @@
 
 	/**
 	 */
-	protected void insertBreakAfter(DOMNode node, HTMLFormatContraints contraints) {
+	protected void insertBreakAfter(IDOMNode node, HTMLFormatContraints contraints) {
 		if (node == null)
 			return;
 		if (node.getNodeType() == Node.TEXT_NODE)
@@ -400,7 +400,7 @@
 		}
 		else if (next.getNodeType() == Node.TEXT_NODE) {
 			if (contraints != null && contraints.getFormatWithSiblingIndent()) {
-				DOMNode text = (DOMNode) next;
+				IDOMNode text = (IDOMNode) next;
 				IStructuredFormatter formatter = HTMLFormatterFactory.getInstance().createFormatter(text, getFormatPreferences());
 				if (formatter instanceof HTMLTextFormatter) {
 					HTMLTextFormatter textFormatter = (HTMLTextFormatter) formatter;
@@ -421,7 +421,7 @@
 
 	/**
 	 */
-	protected void insertBreakBefore(DOMNode node, HTMLFormatContraints contraints) {
+	protected void insertBreakBefore(IDOMNode node, HTMLFormatContraints contraints) {
 		if (node == null)
 			return;
 		if (node.getNodeType() == Node.TEXT_NODE)
@@ -434,7 +434,7 @@
 		String spaces = null;
 		if (prev != null && prev.getNodeType() == Node.TEXT_NODE) {
 			if (contraints != null && contraints.getFormatWithSiblingIndent()) {
-				DOMNode text = (DOMNode) prev;
+				IDOMNode text = (IDOMNode) prev;
 				IStructuredFormatter formatter = HTMLFormatterFactory.getInstance().createFormatter(text, getFormatPreferences());
 				if (formatter instanceof HTMLTextFormatter) {
 					HTMLTextFormatter textFormatter = (HTMLTextFormatter) formatter;
@@ -495,7 +495,7 @@
 
 	/**
 	 */
-	protected void replaceSource(DOMModel model, int offset, int length, String source) {
+	protected void replaceSource(IDOMModel model, int offset, int length, String source) {
 		if (model == null)
 			return;
 		IStructuredDocument structuredDocument = model.getStructuredDocument();
@@ -557,7 +557,7 @@
 			return;
 		if (node == null)
 			return;
-		IStructuredDocument structuredDocument = ((DOMNode) node).getStructuredDocument();
+		IStructuredDocument structuredDocument = ((IDOMNode) node).getStructuredDocument();
 		if (structuredDocument == null)
 			return; // error
 
@@ -567,7 +567,7 @@
 		if (lineWidth < 0)
 			return;
 
-		int offset = ((DOMNode) node).getStartOffset();
+		int offset = ((IDOMNode) node).getStartOffset();
 		int line = structuredDocument.getLineOfOffset(offset);
 		int lineOffset = 0;
 		try {
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLTextFormatter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLTextFormatter.java
index f5366eb..0c1c5a6 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLTextFormatter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/format/HTMLTextFormatter.java
@@ -15,9 +15,9 @@
 import org.eclipse.wst.html.core.HTMLCMProperties;
 import org.eclipse.wst.html.core.HTMLFormatContraints;
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMNode;
-import org.eclipse.wst.xml.core.document.DOMText;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMNode;
+import org.eclipse.wst.xml.core.document.IDOMText;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.w3c.dom.Element;
@@ -37,7 +37,7 @@
 
 	/**
 	 */
-	private boolean canFormatText(DOMText text) {
+	private boolean canFormatText(IDOMText text) {
 		if (text == null)
 			return false;
 
@@ -50,7 +50,7 @@
 
 		Node parent = text.getParentNode();
 		if (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
-			DOMElement element = (DOMElement) parent;
+			IDOMElement element = (IDOMElement) parent;
 			if (!element.isGlobalTag() && !text.isWhitespace())
 				return false;
 		}
@@ -78,7 +78,7 @@
 
 	/**
 	 */
-	private boolean canRemoveHeadingSpaces(DOMNode node) {
+	private boolean canRemoveHeadingSpaces(IDOMNode node) {
 		if (node == null)
 			return false;
 		if (node.getPreviousSibling() != null)
@@ -96,7 +96,7 @@
 
 	/**
 	 */
-	private boolean canRemoveTailingSpaces(DOMNode node) {
+	private boolean canRemoveTailingSpaces(IDOMNode node) {
 		if (node == null)
 			return false;
 		if (node.getNextSibling() != null)
@@ -114,20 +114,20 @@
 
 	/**
 	 */
-	protected void formatNode(DOMNode node, HTMLFormatContraints contraints) {
+	protected void formatNode(IDOMNode node, HTMLFormatContraints contraints) {
 		formatText(node, contraints, FORMAT_ALL); // full format
 	}
 
 	/**
 	 */
-	protected void formatText(DOMNode node, HTMLFormatContraints contraints, int mode) {
+	protected void formatText(IDOMNode node, HTMLFormatContraints contraints, int mode) {
 		if (node == null)
 			return;
 		Node parent = node.getParentNode();
 		if (parent == null)
 			return;
 
-		DOMText text = (DOMText) node;
+		IDOMText text = (IDOMText) node;
 		String source = text.getSource();
 
 		if (!canFormatText(text)) {
@@ -142,7 +142,7 @@
 		if (mode == FORMAT_HEAD) {
 			Node next = node.getNextSibling();
 			while (next != null && next.getNodeType() == Node.TEXT_NODE) {
-				DOMText nextText = (DOMText) next;
+				IDOMText nextText = (IDOMText) next;
 				length += (nextText.getEndOffset() - nextText.getStartOffset());
 				String nextSource = nextText.getSource();
 				if (nextSource != null && nextSource.length() > 0) {
@@ -157,7 +157,7 @@
 		else if (mode == FORMAT_TAIL) {
 			Node prev = node.getPreviousSibling();
 			while (prev != null && prev.getNodeType() == Node.TEXT_NODE) {
-				DOMText prevText = (DOMText) prev;
+				IDOMText prevText = (IDOMText) prev;
 				offset = prevText.getStartOffset();
 				length += (prevText.getEndOffset() - offset);
 				String prevSource = prevText.getSource();
@@ -180,7 +180,7 @@
 			boolean removeSpaces = false;
 			if (parent.getNodeType() == Node.ELEMENT_NODE) {
 				// check if tags are omitted
-				DOMNode element = (DOMNode) parent;
+				IDOMNode element = (IDOMNode) parent;
 				if (node.getPreviousSibling() == null && element.getStartStructuredDocumentRegion() == null) {
 					removeSpaces = true;
 				}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractCSSModelAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractCSSModelAdapter.java
index 1583b79..b4f361f 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractCSSModelAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractCSSModelAdapter.java
@@ -20,7 +20,7 @@
 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.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Element;
 
 /**
@@ -43,7 +43,7 @@
 		// create embedded CSS model (not for external CSS)
 		if (getElement() == null)
 			return null;
-		IStructuredModel baseModel = ((DOMNode) getElement()).getModel();
+		IStructuredModel baseModel = ((IDOMNode) getElement()).getModel();
 		ICSSModel newModel = (ICSSModel) baseModel.getModelManager().createUnManagedStructuredModelFor(CSS_ID);
 		((CSSModelImpl) newModel).setOwnerDOMNode(getElement());
 		return newModel;
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractStyleSheetAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractStyleSheetAdapter.java
index 08ae08f..fb8d0bf 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractStyleSheetAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/AbstractStyleSheetAdapter.java
@@ -23,8 +23,8 @@
 import org.eclipse.wst.css.core.util.ImportedCollector;
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.document.XMLModelNotifier;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -186,10 +186,10 @@
 	 * @param srcModel com.ibm.sed.css.model.interfaces.ICSSModel
 	 */
 	public void styleUpdate(ICSSModel srcModel) {
-		DOMNode node = (DOMNode) getElement();
+		IDOMNode node = (IDOMNode) getElement();
 		if (node == null)
 			return;
-		DOMModel model = node.getModel();
+		IDOMModel model = node.getModel();
 		if (model == null)
 			return;
 		XMLModelNotifier notifier = model.getModelNotifier();
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLDocumentAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLDocumentAdapter.java
index cc7f8a0..f395c3f 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLDocumentAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/HTMLDocumentAdapter.java
@@ -30,7 +30,7 @@
 import org.eclipse.wst.html.core.contentmodel.JSP11Namespace;
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -57,7 +57,7 @@
 	/**
 	 */
 	private void addStyleSheet(Element node) {
-		DOMElement element = (DOMElement) node;
+		IDOMElement element = (IDOMElement) node;
 		String tagName = element.getTagName();
 		if (tagName == null)
 			return;
@@ -265,7 +265,7 @@
 		}
 		if (node == null || node.getNodeType() != Node.ELEMENT_NODE)
 			return;
-		DOMElement element = (DOMElement) node;
+		IDOMElement element = (IDOMElement) node;
 		String tagName = element.getTagName();
 		if (tagName == null)
 			return;
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/LinkElementAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/LinkElementAdapter.java
index 21f3c85..c1e1b12 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/LinkElementAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/LinkElementAdapter.java
@@ -21,8 +21,8 @@
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -69,7 +69,7 @@
 		// create phantom(broken link) external CSS model
 		if (getElement() == null)
 			return null;
-		IStructuredModel baseModel = ((DOMNode) getElement()).getModel();
+		IStructuredModel baseModel = ((IDOMNode) getElement()).getModel();
 		ICSSModel newModel = (ICSSModel) baseModel.getModelManager().createUnManagedStructuredModelFor(CSS_ID);
 
 		// calculate base location and set
@@ -145,7 +145,7 @@
 			removed();
 			replaceModel = true;
 
-			DOMNode node = (DOMNode) getElement();
+			IDOMNode node = (IDOMNode) getElement();
 			if (node != null) {
 				node.notify(INodeNotifier.CHANGE, getElement().getAttributeNode(org.eclipse.wst.html.core.HTML40Namespace.ATTR_NAME_HREF), null, null, node.getStartOffset());
 			}
@@ -224,7 +224,7 @@
 		Element element = getElement();
 		String href = element.getAttribute("href");//$NON-NLS-1$
 
-		DOMModel baseModel = ((DOMNode) element).getModel();
+		IDOMModel baseModel = ((IDOMNode) element).getModel();
 		if (baseModel == null)
 			return null;
 		Object id = baseModel.getId();
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAttrAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAttrAdapter.java
index b758f0e..bd7ec28 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAttrAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleAttrAdapter.java
@@ -26,7 +26,7 @@
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -196,12 +196,12 @@
 		else {
 			Attr attr = element.getAttributeNode(STYLE);
 			if (attr != null) {
-				((DOMNode) attr).setValueSource(value);
+				((IDOMNode) attr).setValueSource(value);
 			}
 			else {
 				Document document = element.getOwnerDocument();
 				attr = document.createAttribute(STYLE);
-				((DOMNode) attr).setValueSource(value);
+				((IDOMNode) attr).setValueSource(value);
 				element.setAttributeNode(attr);
 			}
 		}
@@ -233,7 +233,7 @@
 		String value = null;
 		Attr attr = element.getAttributeNode(org.eclipse.wst.html.core.HTML40Namespace.ATTR_NAME_STYLE);
 		if (attr != null)
-			value = ((DOMNode) attr).getValueSource();
+			value = ((IDOMNode) attr).getValueSource();
 		structuredDocument.setText(this, value);
 
 		notifyStyleChanged(element);
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleElementAdapter.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleElementAdapter.java
index b38ccb9..9799c43 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleElementAdapter.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/StyleElementAdapter.java
@@ -26,8 +26,8 @@
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -66,7 +66,7 @@
 		Node child = element.getFirstChild();
 		if (child == null || child.getNodeType() != Node.TEXT_NODE)
 			return;
-		DOMNode content = (DOMNode) child;
+		IDOMNode content = (IDOMNode) child;
 		int oldLength = content.getEndOffset() - content.getStartOffset();
 
 		// get new content length
@@ -214,7 +214,7 @@
 	/**
 	 */
 	private Object getRequesterH2C() {
-		return (getElement() != null && ((DOMNode) getElement()).getModel() != null) ? (Object) ((DOMNode) getElement()).getModel() : this;
+		return (getElement() != null && ((IDOMNode) getElement()).getModel() != null) ? (Object) ((IDOMNode) getElement()).getModel() : this;
 	}
 
 	/**
@@ -337,10 +337,10 @@
 	 * Apply changes from CSS sub-model to HTML model
 	 */
 	private void replaceData(int offset, int length, String data) {
-		DOMNode element = (DOMNode) getElement();
+		IDOMNode element = (IDOMNode) getElement();
 		if (element == null)
 			return;
-		DOMModel ownerModel = element.getModel();
+		IDOMModel ownerModel = element.getModel();
 		if (ownerModel == null)
 			return;
 		IStructuredDocument structuredDocument = ownerModel.getStructuredDocument();
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLModelProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLModelProvider.java
index 9c441df..c533df5 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLModelProvider.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/htmlcss/URLModelProvider.java
@@ -38,8 +38,8 @@
 import org.eclipse.wst.sse.core.util.PathHelper;
 import org.eclipse.wst.sse.core.util.ProjectResolver;
 import org.eclipse.wst.sse.core.util.URIResolver;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.document.DocumentTypeAdapter;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -340,8 +340,8 @@
 	 * Utility to check the model is HTML family or not
 	 */
 	static private boolean isHTMLFamily(IStructuredModel model) {
-		if (model instanceof DOMModel) {
-			DOMDocument document = ((DOMModel) model).getDocument();
+		if (model instanceof IDOMModel) {
+			IDOMDocument document = ((IDOMModel) model).getDocument();
 			DocumentTypeAdapter adapter = (DocumentTypeAdapter) document.getAdapterFor(DocumentTypeAdapter.class);
 			if (adapter != null)
 				return adapter.hasFeature(HTMLDocumentTypeConstants.HTML);
@@ -365,8 +365,8 @@
 		// dmw_TODO needs to be changed to handle a content model
 		// of HTML or XHTML
 		if (isHTMLFamily(baseModel)) {
-			final DOMModel xmlmodel = (DOMModel) baseModel;
-			final DOMDocument doc = xmlmodel.getDocument();
+			final IDOMModel xmlmodel = (IDOMModel) baseModel;
+			final IDOMDocument doc = xmlmodel.getDocument();
 			// look for <BASE> w/ href
 			final NodeList nl = doc.getElementsByTagName("BASE");//$NON-NLS-1$
 			if ((nl != null) && (nl.getLength() > 0)) {
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/AbstractNodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/AbstractNodeCleanupHandler.java
index eebff9b..788212f 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/AbstractNodeCleanupHandler.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/AbstractNodeCleanupHandler.java
@@ -19,7 +19,7 @@
 import org.eclipse.wst.sse.core.internal.cleanup.StructuredCleanupPreferences;
 import org.eclipse.wst.sse.core.preferences.CommonModelPreferenceNames;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 
 abstract class AbstractNodeCleanupHandler implements IStructuredCleanupHandler {
 
@@ -63,7 +63,7 @@
 		fProgressMonitor = progressMonitor;
 	}
 
-	static protected StructuredDocumentEvent replaceSource(DOMModel model, Object requester, int offset, int length, String source) {
+	static protected StructuredDocumentEvent replaceSource(IDOMModel model, Object requester, int offset, int length, String source) {
 
 		StructuredDocumentEvent result = null;
 		if (model == null)
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/CSSTextNodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/CSSTextNodeCleanupHandler.java
index b879ba0..5a82446 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/CSSTextNodeCleanupHandler.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/CSSTextNodeCleanupHandler.java
@@ -19,8 +19,8 @@
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Node;
 
 // nakamori_TODO: check and remove
@@ -30,7 +30,7 @@
 	public Node cleanup(Node node) {
 		if (node == null)
 			return node;
-		DOMModel model = ((DOMNode) node).getModel();
+		IDOMModel model = ((IDOMNode) node).getModel();
 		if (model == null)
 			return node;
 		IStructuredDocument structuredDocument = model.getStructuredDocument();
@@ -41,10 +41,10 @@
 		if (content == null)
 			return node;
 
-		int offset = ((DOMNode) node).getStartOffset();
-		int length = ((DOMNode) node).getEndOffset() - offset;
+		int offset = ((IDOMNode) node).getStartOffset();
+		int length = ((IDOMNode) node).getEndOffset() - offset;
 		replaceSource(model, this, offset, length, content);
-		return (DOMNode) model.getIndexedRegion(offset);
+		return (IDOMNode) model.getIndexedRegion(offset);
 	}
 
 	/**
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/ElementNodeCleanupHandler.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/ElementNodeCleanupHandler.java
index 8b60b85..f43de4e 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/ElementNodeCleanupHandler.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/ElementNodeCleanupHandler.java
@@ -34,12 +34,12 @@
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.core.text.ITextRegionList;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.document.ISourceGenerator;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
@@ -67,7 +67,7 @@
 	protected static final char DOUBLE_QUOTE = '\"'; //$NON-NLS-1$
 
 	public Node cleanup(Node node) {
-		DOMNode renamedNode = (DOMNode) cleanupChildren(node);
+		IDOMNode renamedNode = (IDOMNode) cleanupChildren(node);
 
 		// call quoteAttrValue() first so it will close any unclosed attr
 		// quoteAttrValue() will return the new start tag if there is a structure change
@@ -76,8 +76,8 @@
 		// insert tag close if missing
 		// if node is not comment tag
 		// and not implicit tag
-		if (!((DOMElement) renamedNode).isCommentTag() && (renamedNode.getStartStructuredDocumentRegion() != null)) {
-			DOMModel structuredModel = renamedNode.getModel();
+		if (!((IDOMElement) renamedNode).isCommentTag() && (renamedNode.getStartStructuredDocumentRegion() != null)) {
+			IDOMModel structuredModel = renamedNode.getModel();
 
 			// save start offset before insertTagClose()
 			// or else renamedNode.getStartOffset() will be zero if renamedNode replaced by insertTagClose()
@@ -88,7 +88,7 @@
 			insertTagClose(structuredModel, startTagStructuredDocumentRegion);
 
 			// update renamedNode and startTagStructuredDocumentRegion after insertTagClose()
-			renamedNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset);
+			renamedNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset);
 			startTagStructuredDocumentRegion = renamedNode.getStartStructuredDocumentRegion();
 
 			// for end tag
@@ -110,7 +110,7 @@
 		return renamedNode;
 	}
 
-	private boolean shouldIgnoreCase(DOMElement element) {
+	private boolean shouldIgnoreCase(IDOMElement element) {
 		// case option can be applied to no namespace tags
 		return element.isGlobalTag();
 		/*
@@ -128,8 +128,8 @@
 		 */
 	}
 
-	protected void applyAttrNameCase(DOMNode node) {
-		DOMElement element = (DOMElement) node;
+	protected void applyAttrNameCase(IDOMNode node) {
+		IDOMElement element = (IDOMElement) node;
 		if (element.isCommentTag())
 			return; // do nothing
 
@@ -142,7 +142,7 @@
 		int attributesLength = attributes.getLength();
 
 		for (int i = 0; i < attributesLength; i++) {
-			DOMNode eachAttr = (DOMNode) attributes.item(i);
+			IDOMNode eachAttr = (IDOMNode) attributes.item(i);
 			String oldAttrName = eachAttr.getNodeName();
 			String newAttrName = oldAttrName;
 			// 254961 - all HTML tag names and attribute names should be in English
@@ -159,15 +159,15 @@
 				int attrNameStartOffset = eachAttr.getStartOffset();
 				int attrNameLength = oldAttrName.length();
 
-				DOMModel structuredModel = node.getModel();
+				IDOMModel structuredModel = node.getModel();
 				IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 				replaceSource(structuredModel, structuredDocument, attrNameStartOffset, attrNameLength, newAttrName);
 			}
 		}
 	}
 
-	protected DOMNode applyTagNameCase(DOMNode node) {
-		DOMElement element = (DOMElement) node;
+	protected IDOMNode applyTagNameCase(IDOMNode node) {
+		IDOMElement element = (IDOMElement) node;
 		if (element.isCommentTag())
 			return node; // do nothing
 
@@ -178,7 +178,7 @@
 
 		String oldTagName = node.getNodeName();
 		String newTagName = oldTagName;
-		DOMNode newNode = node;
+		IDOMNode newNode = node;
 
 		// 254961 - all HTML tag names and attribute names should be in English
 		//          even for HTML files in other languages like Japanese or Turkish.
@@ -190,7 +190,7 @@
 		else if (tagNameCase == CommonModelPreferenceNames.UPPER)
 			newTagName = oldTagName.toUpperCase(Locale.US);
 
-		DOMModel structuredModel = node.getModel();
+		IDOMModel structuredModel = node.getModel();
 		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 
 		IStructuredDocumentRegion startTagStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
@@ -202,7 +202,7 @@
 				int startTagNameLength = startTagStructuredDocumentRegion.getTextEndOffset(startTagNameRegion) - startTagNameStartOffset;
 
 				replaceSource(structuredModel, structuredDocument, startTagNameStartOffset, startTagNameLength, newTagName);
-				newNode = (DOMNode) structuredModel.getIndexedRegion(startTagNameStartOffset); // save new node
+				newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagNameStartOffset); // save new node
 			}
 		}
 
@@ -234,10 +234,10 @@
 				childNode = cleanupHandler.cleanup(childNode);
 
 				// get new parent node
-				parentNode = (DOMNode) childNode.getParentNode();
+				parentNode = (IDOMNode) childNode.getParentNode();
 
 				// get next child node
-				childNode = (DOMNode) childNode.getNextSibling();
+				childNode = (IDOMNode) childNode.getNextSibling();
 			}
 		}
 
@@ -246,10 +246,10 @@
 
 	/**
 	 */
-	protected void cleanupCSSAttrValue(DOMNode node) {
+	protected void cleanupCSSAttrValue(IDOMNode node) {
 		if (node == null || node.getNodeType() != Node.ELEMENT_NODE)
 			return;
-		DOMElement element = (DOMElement) node;
+		IDOMElement element = (IDOMElement) node;
 		if (!element.isGlobalTag())
 			return;
 
@@ -259,7 +259,7 @@
 		String value = getCSSValue(attr);
 		if (value == null)
 			return;
-		String oldValue = ((DOMNode) attr).getValueSource();
+		String oldValue = ((IDOMNode) attr).getValueSource();
 		if (oldValue != null && value.equals(oldValue))
 			return;
 		attr.setValue(value);
@@ -302,7 +302,7 @@
 		return buffer.toString();
 	}
 
-	private boolean isEmptyElement(DOMElement element) {
+	private boolean isEmptyElement(IDOMElement element) {
 		Document document = element.getOwnerDocument();
 		if (document == null)
 			// undefined tag, return default
@@ -321,12 +321,12 @@
 		return (decl.getContentType() == CMElementDeclaration.EMPTY);
 	}
 
-	protected DOMNode insertEndTag(DOMNode node) {
-		DOMElement element = (DOMElement) node;
+	protected IDOMNode insertEndTag(IDOMNode node) {
+		IDOMElement element = (IDOMElement) node;
 
 		int startTagStartOffset = node.getStartOffset();
-		DOMModel structuredModel = node.getModel();
-		DOMNode newNode = null;
+		IDOMModel structuredModel = node.getModel();
+		IDOMNode newNode = null;
 
 		if (element.isCommentTag()) {
 			// do nothing
@@ -350,7 +350,7 @@
 			String tagName = node.getNodeName();
 			String endTag = END_TAG_OPEN.concat(tagName).concat(TAG_CLOSE);
 
-			DOMNode lastChild = (DOMNode) node.getLastChild();
+			IDOMNode lastChild = (IDOMNode) node.getLastChild();
 			int endTagStartOffset = 0;
 			if (lastChild != null)
 				// if this node has children, insert the end tag after the last child
@@ -363,14 +363,14 @@
 			replaceSource(structuredModel, structuredDocument, endTagStartOffset, 0, endTag);
 		}
 
-		newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save new node
+		newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save new node
 
 		return newNode;
 	}
 
-	protected DOMNode insertMissingTags(DOMNode node) {
+	protected IDOMNode insertMissingTags(IDOMNode node) {
 		boolean insertMissingTags = getCleanupPreferences().getInsertMissingTags();
-		DOMNode newNode = node;
+		IDOMNode newNode = node;
 
 		if (insertMissingTags) {
 			IStructuredDocumentRegion startTagStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
@@ -403,26 +403,26 @@
 		return newNode;
 	}
 
-	protected DOMNode insertStartTag(DOMNode node) {
-		DOMElement element = (DOMElement) node;
+	protected IDOMNode insertStartTag(IDOMNode node) {
+		IDOMElement element = (IDOMElement) node;
 		if (element.isCommentTag())
 			return node; // do nothing
 
-		DOMNode newNode = null;
+		IDOMNode newNode = null;
 
 		String tagName = node.getNodeName();
 		String startTag = START_TAG_OPEN.concat(tagName).concat(TAG_CLOSE);
 		int startTagStartOffset = node.getStartOffset();
 
-		DOMModel structuredModel = node.getModel();
+		IDOMModel structuredModel = node.getModel();
 		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 		replaceSource(structuredModel, structuredDocument, startTagStartOffset, 0, startTag);
-		newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save new node
+		newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save new node
 
 		return newNode;
 	}
 
-	protected void insertTagClose(DOMModel structuredModel, IStructuredDocumentRegion flatNode) {
+	protected void insertTagClose(IDOMModel structuredModel, IStructuredDocumentRegion flatNode) {
 		if ((flatNode != null) && (flatNode.getRegions() != null)) {
 			ITextRegionList regionList = flatNode.getRegions();
 			ITextRegion lastRegion = regionList.get(regionList.size() - 1);
@@ -439,7 +439,7 @@
 		}
 	}
 
-	protected boolean isEndTagRequired(DOMNode node) {
+	protected boolean isEndTagRequired(IDOMNode node) {
 		if (node == null)
 			return false;
 		return node.isContainer();
@@ -450,17 +450,17 @@
 	 * and HTML undefined tags are parsed separately from the start tags.
 	 * So inserting the missing start tag is useless and even harmful.
 	 */
-	protected boolean isStartTagRequired(DOMNode node) {
+	protected boolean isStartTagRequired(IDOMNode node) {
 		if (node == null)
 			return false;
 		return node.isContainer();
 	}
 
-	protected boolean isXMLType(DOMModel structuredModel) {
+	protected boolean isXMLType(IDOMModel structuredModel) {
 		boolean result = false;
 
 		if (structuredModel != null && structuredModel != null) {
-			DOMDocument document = structuredModel.getDocument();
+			IDOMDocument document = structuredModel.getDocument();
 
 			if (document != null)
 				result = document.isXMLType();
@@ -469,13 +469,13 @@
 		return result;
 	}
 
-	protected DOMNode quoteAttrValue(DOMNode node) {
-		DOMElement element = (DOMElement) node;
+	protected IDOMNode quoteAttrValue(IDOMNode node) {
+		IDOMElement element = (IDOMElement) node;
 		if (element.isCommentTag())
 			return node; // do nothing
 
 		boolean quoteAttrValues = getCleanupPreferences().getQuoteAttrValues();
-		DOMNode newNode = node;
+		IDOMNode newNode = node;
 
 		if (quoteAttrValues) {
 			NamedNodeMap attributes = newNode.getAttributes();
@@ -485,18 +485,18 @@
 			for (int i = 0; i < attributesLength; i++) {
 				attributes = newNode.getAttributes();
 				attributesLength = attributes.getLength();
-				DOMAttr eachAttr = (DOMAttr) attributes.item(i);
+				IDOMAttr eachAttr = (IDOMAttr) attributes.item(i);
 				//ITextRegion oldAttrValueRegion = eachAttr.getValueRegion();
 				String oldAttrValue = eachAttr.getValueRegionText();
 				if (oldAttrValue == null) {
-					DOMModel structuredModel = node.getModel();
+					IDOMModel structuredModel = node.getModel();
 					if (isXMLType(structuredModel)) {
 						// TODO: Kit, please check. Is there any way to not rely on getting regions from attributes?
 						String newAttrValue = "=\"" + eachAttr.getNameRegionText() + "\""; //$NON-NLS-1$ //$NON-NLS-2$
 
 						IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 						replaceSource(structuredModel, structuredDocument, eachAttr.getNameRegionEndOffset(), 0, newAttrValue);
-						newNode = (DOMNode) structuredModel.getIndexedRegion(node.getStartOffset()); // save new node
+						newNode = (IDOMNode) structuredModel.getIndexedRegion(node.getStartOffset()); // save new node
 					}
 				}
 				else {
@@ -520,10 +520,10 @@
 							int attrValueLength = oldAttrValue.length();
 							int startTagStartOffset = node.getStartOffset();
 
-							DOMModel structuredModel = node.getModel();
+							IDOMModel structuredModel = node.getModel();
 							IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 							replaceSource(structuredModel, structuredDocument, attrValueStartOffset, attrValueLength, newAttrValue);
-							newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save new node
+							newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save new node
 						}
 					}
 				}
@@ -533,9 +533,9 @@
 		return newNode;
 	}
 
-	private DOMNode insertRequiredAttrs(DOMNode node) {
+	private IDOMNode insertRequiredAttrs(IDOMNode node) {
 		boolean insertRequiredAttrs = getCleanupPreferences().getInsertRequiredAttrs();
-		DOMNode newNode = node;
+		IDOMNode newNode = node;
 
 		if (insertRequiredAttrs) {
 			List requiredAttrs = getRequiredAttrs(newNode);
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/HTMLCleanupHandlerFactory.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/HTMLCleanupHandlerFactory.java
index 53c0c4d..03356c9 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/HTMLCleanupHandlerFactory.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/internal/cleanup/HTMLCleanupHandlerFactory.java
@@ -15,7 +15,7 @@
 import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupHandler;
 import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupPreferences;
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.w3c.dom.Node;
 
@@ -93,8 +93,8 @@
 
 		boolean result = false;
 
-		if (node instanceof DOMNode) {
-			IStructuredDocumentRegion flatNode = ((DOMNode) node).getFirstStructuredDocumentRegion();
+		if (node instanceof IDOMNode) {
+			IStructuredDocumentRegion flatNode = ((IDOMNode) node).getFirstStructuredDocumentRegion();
 			// in some cases, the nodes exists, but hasn't been associated
 			// with
 			// a flatnode yet (the screen updates can be initiated on a
@@ -122,9 +122,9 @@
 			return false;
 		if (node.getNodeType() != Node.TEXT_NODE)
 			return false;
-		if (!(node instanceof DOMNode))
+		if (!(node instanceof IDOMNode))
 			return false;
-		IStructuredDocumentRegion flatNode = ((DOMNode) node).getFirstStructuredDocumentRegion();
+		IStructuredDocumentRegion flatNode = ((IDOMNode) node).getFirstStructuredDocumentRegion();
 		if (flatNode == null)
 			return false;
 		if (flatNode.getType() != XMLRegionContext.BLOCK_TEXT)
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryCMProvider.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryCMProvider.java
index 087a6d4..fbb4c78 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryCMProvider.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryCMProvider.java
@@ -17,7 +17,7 @@
 import org.eclipse.wst.html.core.document.HTMLDocumentTypeEntry;
 import org.eclipse.wst.html.core.document.HTMLDocumentTypeRegistry;
 import org.eclipse.wst.xml.core.contentmodel.CMDocType;
-import org.eclipse.wst.xml.core.document.DOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQueryCMProvider;
 import org.eclipse.wst.xml.core.internal.contentmodel.util.CMDocumentCache;
@@ -49,7 +49,7 @@
 	 * or null if no CMDocument is appropriate for the DOM Node.
 	 */
 	public CMDocument getCorrespondingCMDocument(Node node) {
-		DOMDocument owner = getOwnerXMLDocument(node);
+		IDOMDocument owner = getOwnerXMLDocument(node);
 		if (owner == null)
 			return null;
 
@@ -80,18 +80,18 @@
 	}
 
 	// private methods
-	private DOMDocument getOwnerXMLDocument(Node node) {
+	private IDOMDocument getOwnerXMLDocument(Node node) {
 		if (node == null)
 			return null;
 		Document owner = (node.getNodeType() == Node.DOCUMENT_NODE) ? (Document) node : node.getOwnerDocument();
 		if (owner == null)
 			return null;
-		if (!(owner instanceof DOMDocument))
+		if (!(owner instanceof IDOMDocument))
 			return null;
-		return (DOMDocument) owner;
+		return (IDOMDocument) owner;
 	}
 
-	private String getPublicId(DOMDocument doc) {
+	private String getPublicId(IDOMDocument doc) {
 		if (doc == null)
 			return null;
 		DocumentType doctype = doc.getDoctype();
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryImpl.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryImpl.java
index c749bc0..52e0388 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryImpl.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/HTMLModelQueryImpl.java
@@ -15,7 +15,7 @@
 import java.util.Vector;
 
 import org.eclipse.wst.html.core.HTMLCMProperties;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
@@ -124,8 +124,8 @@
 		Node p = child.getParentNode();
 		while (p != null) {
 			if (p.getNodeType() == Node.ELEMENT_NODE) {
-				if (p instanceof DOMElement) {
-					if (((DOMElement) p).isImplicitTag()) {
+				if (p instanceof IDOMElement) {
+					if (((IDOMElement) p).isImplicitTag()) {
 						p = p.getParentNode();
 						continue;
 					}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForHTML.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForHTML.java
index f84627b..01a497d 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForHTML.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/modelquery/ModelQueryAdapterFactoryForHTML.java
@@ -25,7 +25,7 @@
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.contentmodel.util.CMDocumentCache;
 import org.eclipse.wst.xml.core.internal.modelquery.XMLCatalogIdResolver;
@@ -68,8 +68,8 @@
 		if (Debug.displayInfo)
 			System.out.println("-----------------------ModelQueryAdapterFactoryForHTML.createAdapter" + target); //$NON-NLS-1$
 		if (modelQueryAdapterImpl == null) {
-			if (target instanceof DOMNode) {
-				DOMNode xmlNode = (DOMNode) target;
+			if (target instanceof IDOMNode) {
+				IDOMNode xmlNode = (IDOMNode) target;
 				IStructuredModel model = stateNotifier = xmlNode.getModel();
 				stateNotifier.addModelStateListener(this);
 				String baseLocation = null;
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CMUtil.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CMUtil.java
index dc8e4fd..fb81805 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CMUtil.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/CMUtil.java
@@ -15,7 +15,7 @@
 
 import org.eclipse.wst.html.core.HTMLCMProperties;
 import org.eclipse.wst.html.core.modelquery.HMQUtil;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
@@ -164,9 +164,9 @@
 	}
 
 	public static boolean isForeign(Element target) {
-		if (!(target instanceof DOMElement))
+		if (!(target instanceof IDOMElement))
 			return true;
-		DOMElement element = (DOMElement) target;
+		IDOMElement element = (IDOMElement) target;
 		return !element.isGlobalTag();
 	}
 
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/FMUtil.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/FMUtil.java
index 4c0c4cc..5e443ab 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/FMUtil.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/FMUtil.java
@@ -13,7 +13,7 @@
 
 
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 
 final class FMUtil {
 
@@ -30,7 +30,7 @@
 
 	/**
 	 */
-	public final static Segment getSegment(DOMNode target, int segType) {
+	public final static Segment getSegment(IDOMNode target, int segType) {
 		if (target == null)
 			return new Segment(0, 0);
 		Segment seg = null;
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLAttributeValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLAttributeValidator.java
index 7915f28..41bb9be 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLAttributeValidator.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLAttributeValidator.java
@@ -18,9 +18,9 @@
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.core.text.ITextRegionContainer;
 import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -48,7 +48,7 @@
 
 	/**
 	 */
-	private Segment getErrorSegment(DOMNode errorNode, int regionType) {
+	private Segment getErrorSegment(IDOMNode errorNode, int regionType) {
 		ITextRegion rgn = null;
 		switch (regionType) {
 			case REGION_NAME :
@@ -62,8 +62,8 @@
 				break;
 		}
 		if (rgn != null) {
-			if (errorNode instanceof DOMAttr) {
-				DOMElement ownerElement = (DOMElement) ((DOMAttr) errorNode).getOwnerElement();
+			if (errorNode instanceof IDOMAttr) {
+				IDOMElement ownerElement = (IDOMElement) ((IDOMAttr) errorNode).getOwnerElement();
 				if (ownerElement != null) {
 					int regionStartOffset = ownerElement.getFirstStructuredDocumentRegion().getStartOffset(rgn);
 					int regionLength = rgn.getLength();
@@ -104,9 +104,9 @@
 			// whether
 			// an attr has prefix or not by calling XMLAttr#isGlobalAttr().
 			// When a attr has prefix (not global), it returns false.
-			boolean isXMLAttr = a instanceof DOMAttr;
+			boolean isXMLAttr = a instanceof IDOMAttr;
 			if (isXMLAttr) {
-				DOMAttr xmlattr = (DOMAttr) a;
+				IDOMAttr xmlattr = (IDOMAttr) a;
 				if (!xmlattr.isGlobalAttr())
 					continue; // skip futher validation and begin next loop.
 			}
@@ -116,7 +116,7 @@
 				// No attr declaration was found. That is, the attr name is
 				// undefined.
 				// but not regard it as undefined name if it includes JSP
-				if (hasJSPRegion(((DOMNode) a).getNameRegion())) {
+				if (hasJSPRegion(((IDOMNode) a).getNameRegion())) {
 					rgnType = REGION_NAME;
 					state = ErrorState.UNDEFINED_NAME_ERROR;
 				}
@@ -129,7 +129,7 @@
 					// attributes
 					// might be written in boolean format. It should be check
 					// specifically.
-					if (CMUtil.isBooleanAttr(adec) && ((DOMAttr) a).hasNameOnly())
+					if (CMUtil.isBooleanAttr(adec) && ((IDOMAttr) a).hasNameOnly())
 						continue; // OK, keep going. No more check is needed
 					// against this attr.
 				}
@@ -179,7 +179,7 @@
 								// actualValue is invalid.
 								// but not regard it as undefined value if it
 								// includes JSP.
-								if (hasJSPRegion(((DOMNode) a).getValueRegion())) {
+								if (hasJSPRegion(((IDOMNode) a).getValueRegion())) {
 									rgnType = REGION_VALUE;
 									state = ErrorState.UNDEFINED_VALUE_ERROR;
 								}
@@ -190,7 +190,7 @@
 				// <<D210422
 				if (state == ErrorState.NONE_ERROR) { // Need more check.
 					if (isXMLAttr) {
-						String source = ((DOMAttr) a).getValueRegionText();
+						String source = ((IDOMAttr) a).getValueRegionText();
 						if (source != null) {
 							char firstChar = source.charAt(0);
 							char lastChar = source.charAt(source.length() - 1);
@@ -206,7 +206,7 @@
 				// D210422
 			}
 			if (state != ErrorState.NONE_ERROR) {
-				Segment seg = getErrorSegment((DOMNode) a, rgnType);
+				Segment seg = getErrorSegment((IDOMNode) a, rgnType);
 				if (seg != null)
 					reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(state, seg, a)));
 			}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLDocumentContentValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLDocumentContentValidator.java
index 37a8858..4a74ec6 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLDocumentContentValidator.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLDocumentContentValidator.java
@@ -17,9 +17,9 @@
 
 import org.eclipse.wst.html.core.HTML40Namespace;
 import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMNode;
-import org.eclipse.wst.xml.core.document.DOMText;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMNode;
+import org.eclipse.wst.xml.core.document.IDOMText;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.document.DocumentTypeAdapter;
 import org.w3c.dom.Document;
@@ -68,7 +68,7 @@
 		}
 
 		private static String getRootTagName(Document document) {
-			DocumentTypeAdapter adapter = (DocumentTypeAdapter) ((DOMDocument) document).getAdapterFor(DocumentTypeAdapter.class);
+			DocumentTypeAdapter adapter = (DocumentTypeAdapter) ((IDOMDocument) document).getAdapterFor(DocumentTypeAdapter.class);
 			if (adapter != null) {
 				DocumentType docType = adapter.getDocumentType();
 				if (docType != null) {
@@ -115,7 +115,7 @@
 				for (int i = 1; i < explicits.size(); i++) {
 					Element html = (Element) explicits.get(i);
 					// report error (duplicate)
-					Segment errorSeg = FMUtil.getSegment((DOMNode) html, FMUtil.SEG_START_TAG);
+					Segment errorSeg = FMUtil.getSegment((IDOMNode) html, FMUtil.SEG_START_TAG);
 					if (errorSeg != null)
 						reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(ErrorState.DUPLICATE_ERROR, errorSeg, html)));
 				}
@@ -130,7 +130,7 @@
 	private void validateContent(Iterator children, boolean isFragment) {
 		boolean foundDoctype = false;
 		while (children.hasNext()) {
-			DOMNode child = (DOMNode) children.next();
+			IDOMNode child = (IDOMNode) children.next();
 
 			int error = ErrorState.NONE_ERROR;
 			int segType = FMUtil.SEG_WHOLE_TAG;
@@ -157,7 +157,7 @@
 					if (! isFragment) {
 						// TEXT node is valid when it contains white space characters only.
 						// Otherwise, it is invalid content.
-						if (((DOMText) child).isWhitespace())
+						if (((IDOMText) child).isWhitespace())
 							continue;
 						error = ErrorState.INVALID_CONTENT_ERROR;
 						segType = FMUtil.SEG_WHOLE_TAG;
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementAncestorValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementAncestorValidator.java
index 8934db9..83365a9 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementAncestorValidator.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementAncestorValidator.java
@@ -14,7 +14,7 @@
 
 import org.eclipse.wst.html.core.HTMLCMProperties;
 import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
@@ -59,7 +59,7 @@
 		while (parent != null) {
 			CMNode pdec = prohibited.getNamedItem(parent.getNodeName());
 			if (pdec != null) { // prohibited element is found in ancestors.
-				Segment errorSeg = FMUtil.getSegment((DOMNode) node, FMUtil.SEG_START_TAG);
+				Segment errorSeg = FMUtil.getSegment((IDOMNode) node, FMUtil.SEG_START_TAG);
 				if (errorSeg != null)
 					reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(ErrorState.INVALID_CONTENT_ERROR, errorSeg, target)));
 				break; // If one prohibited ancestor is found, it's enough.
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementContentValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementContentValidator.java
index 1edfccc..a8f9651 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementContentValidator.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/HTMLElementContentValidator.java
@@ -11,8 +11,8 @@
 package org.eclipse.wst.html.core.validate;
 
 import org.eclipse.wst.sse.core.IndexedRegion;
-import org.eclipse.wst.xml.core.document.DOMNode;
-import org.eclipse.wst.xml.core.document.DOMText;
+import org.eclipse.wst.xml.core.document.IDOMNode;
+import org.eclipse.wst.xml.core.document.IDOMText;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -144,7 +144,7 @@
 						return;
 					case CMElementDeclaration.ELEMENT :
 					case CMElementDeclaration.EMPTY :
-						if (((DOMText) child).isWhitespace())
+						if (((IDOMText) child).isWhitespace())
 							return;
 						error = ErrorState.INVALID_CONTENT_ERROR;
 						break;
@@ -170,7 +170,7 @@
 				break;
 		}
 		if (error != ErrorState.NONE_ERROR) {
-			Segment errorSeg = FMUtil.getSegment((DOMNode) child, segType);
+			Segment errorSeg = FMUtil.getSegment((IDOMNode) child, segType);
 			if (errorSeg != null)
 				reporter.report(MessageFactory.createMessage(new ErrorInfoImpl(error, errorSeg, child)));
 		}
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NamespaceValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NamespaceValidator.java
index ffb9eea..3dbff3a 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NamespaceValidator.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/NamespaceValidator.java
@@ -12,8 +12,8 @@
 
 import org.eclipse.wst.sse.core.IndexedRegion;
 import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
@@ -38,7 +38,7 @@
 	public void validate(IndexedRegion node) {
 		Element target = (Element) node;
 		if (isXMLElement(target) && hasUnknownPrefix(target)) {
-			DOMElement e = (DOMElement) target;
+			IDOMElement e = (IDOMElement) target;
 			if (!isValidPrefix(e.getPrefix(), target) && !e.isCommentTag()) {
 				// report unknown tag error.
 				Segment errorSeg = FMUtil.getSegment(e, FMUtil.SEG_START_TAG);
@@ -50,9 +50,9 @@
 		NamedNodeMap attrs = target.getAttributes();
 		for (int i = 0; i < attrs.getLength(); i++) {
 			Node n = attrs.item(i);
-			if (!(n instanceof DOMAttr))
+			if (!(n instanceof IDOMAttr))
 				continue;
-			DOMAttr a = (DOMAttr) n;
+			IDOMAttr a = (IDOMAttr) n;
 			String prefix = a.getPrefix();
 			if ((prefix != null) && isUnknownAttr(a, target)) {
 				// The attr has unknown prefix.  So, check it.
@@ -71,7 +71,7 @@
 
 	// private methods	
 	private boolean isXMLElement(Element target) {
-		return target instanceof DOMElement;
+		return target instanceof IDOMElement;
 	}
 
 	private boolean hasUnknownPrefix(Element target) {
@@ -83,7 +83,7 @@
 		return dec == null;
 	}
 
-	private boolean isUnknownAttr(DOMAttr attr, Element target) {
+	private boolean isUnknownAttr(IDOMAttr attr, Element target) {
 		CMElementDeclaration dec = CMUtil.getDeclaration(target);
 		if (dec == null)
 			return true; // unknown.
diff --git a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SyntaxValidator.java b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SyntaxValidator.java
index 6d9c463..05d7df4 100644
--- a/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SyntaxValidator.java
+++ b/bundles/org.eclipse.wst.html.core/src/org/eclipse/wst/html/core/validate/SyntaxValidator.java
@@ -18,9 +18,9 @@
 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.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.document.InvalidCharacterException;
 import org.eclipse.wst.xml.core.internal.document.SourceValidator;
@@ -70,7 +70,7 @@
 			super();
 		}
 
-		public DOMElement target = null;
+		public IDOMElement target = null;
 		public CMElementDeclaration decl = null;
 		public IStructuredDocumentRegion startTag = null;
 		public IStructuredDocumentRegion endTag = null;
@@ -85,11 +85,11 @@
 
 		if (node.getNodeType() != Node.ELEMENT_NODE)
 			return;
-		if (!(node instanceof DOMElement))
+		if (!(node instanceof IDOMElement))
 			return;
 
 		ElementInfo info = new ElementInfo();
-		info.target = (DOMElement) node;
+		info.target = (IDOMElement) node;
 
 		// gather information to validate from target at once.
 		getInfo(info);
@@ -112,9 +112,9 @@
 		info.hasEndTag = (info.endTag != null);
 
 		Document doc = info.target.getOwnerDocument();
-		if (!(doc instanceof DOMDocument))
+		if (!(doc instanceof IDOMDocument))
 			return;
-		String typeid = ((DOMDocument) doc).getDocumentTypeId();
+		String typeid = ((IDOMDocument) doc).getDocumentTypeId();
 		if (typeid != null) {
 			HTMLDocumentTypeEntry entry = HTMLDocumentTypeRegistry.getInstance().getEntry(typeid);
 			info.isXHTML = (entry != null && entry.isXMLType());
@@ -298,7 +298,7 @@
 			switch (child.getNodeType()) {
 				case Node.TEXT_NODE :
 					{
-						DOMNode text = (DOMNode) child;
+						IDOMNode text = (IDOMNode) child;
 						int charOffset = validateTextSource(text);
 						if (charOffset >= 0) {
 							charOffset += text.getStartOffset();
@@ -313,7 +313,7 @@
 				case Node.PROCESSING_INSTRUCTION_NODE :
 				case Node.CDATA_SECTION_NODE :
 					{
-						DOMNode tag = (DOMNode) child;
+						IDOMNode tag = (IDOMNode) child;
 						if (!tag.isClosed()) {
 							Segment errorSeg = FMUtil.getSegment(tag, FMUtil.SEG_WHOLE_TAG);
 							if (errorSeg != null)
@@ -327,7 +327,7 @@
 		}
 	}
 
-	private int validateTextSource(DOMNode text) {
+	private int validateTextSource(IDOMNode text) {
 		try {
 			SourceValidator validator = new SourceValidator(text);
 			validator.validateSource(text.getSource());
diff --git a/bundles/org.eclipse.wst.html.ui/src-html-validation/org/eclipse/wst/html/validation/HTMLValidator.java b/bundles/org.eclipse.wst.html.ui/src-html-validation/org/eclipse/wst/html/validation/HTMLValidator.java
index bf01134..5ff15a1 100644
--- a/bundles/org.eclipse.wst.html.ui/src-html-validation/org/eclipse/wst/html/validation/HTMLValidator.java
+++ b/bundles/org.eclipse.wst.html.ui/src-html-validation/org/eclipse/wst/html/validation/HTMLValidator.java
@@ -26,8 +26,8 @@
 import org.eclipse.wst.validation.core.IValidator;
 import org.eclipse.wst.validation.internal.operations.IWorkbenchHelper;
 import org.eclipse.wst.validation.internal.operations.WorkbenchReporter;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.document.DocumentTypeAdapter;
 import org.eclispe.wst.validation.internal.core.Message;
 
@@ -46,7 +46,7 @@
 
 	/**
 	 */
-	protected DOMModel getModel(IProject project, IFile file) {
+	protected IDOMModel getModel(IProject project, IFile file) {
 		if (project == null || file == null)
 			return null;
 		if (!file.exists())
@@ -76,16 +76,16 @@
 
 		if (model == null)
 			return null;
-		if (!(model instanceof DOMModel)) {
+		if (!(model instanceof IDOMModel)) {
 			releaseModel(model);
 			return null;
 		}
-		return (DOMModel) model;
+		return (IDOMModel) model;
 	}
 
 	/**
 	 */
-	protected HTMLValidationReporter getReporter(IReporter reporter, IFile file, DOMModel model) {
+	protected HTMLValidationReporter getReporter(IReporter reporter, IFile file, IDOMModel model) {
 		return new HTMLValidationReporter(this, reporter, file, model);
 	}
 
@@ -116,7 +116,7 @@
 
 	/**
 	 */
-	private boolean hasHTMLFeature(DOMDocument document) {
+	private boolean hasHTMLFeature(IDOMDocument document) {
 		DocumentTypeAdapter adapter = (DocumentTypeAdapter) document.getAdapterFor(DocumentTypeAdapter.class);
 		if (adapter == null)
 			return false;
@@ -148,7 +148,7 @@
 
 	/**
 	 */
-	protected HTMLValidationResult validate(DOMModel model, IFile file) {
+	protected HTMLValidationResult validate(IDOMModel model, IFile file) {
 		IProject prj = null;
 		if (file != null) {
 			prj = file.getProject();
@@ -165,10 +165,10 @@
 
 	/**
 	 */
-	private HTMLValidationResult validate(IReporter reporter, IFile file, DOMModel model) {
+	private HTMLValidationResult validate(IReporter reporter, IFile file, IDOMModel model) {
 		if (file == null || model == null)
 			return null; // error
-		DOMDocument document = model.getDocument();
+		IDOMDocument document = model.getDocument();
 		if (document == null)
 			return null; // error
 		if (!hasHTMLFeature(document))
@@ -237,7 +237,7 @@
 		if ((reporter != null) && (reporter.isCancelled() == true)) {
 			throw new OperationCanceledException();
 		}
-		DOMModel model = getModel(file.getProject(), file);
+		IDOMModel model = getModel(file.getProject(), file);
 		if (model == null)
 			return;
 
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLContentAssistProcessor.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLContentAssistProcessor.java
index ebba571..464c529 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLContentAssistProcessor.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/contentassist/HTMLContentAssistProcessor.java
@@ -43,9 +43,9 @@
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
 import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
@@ -151,7 +151,7 @@
 		return beginning.equalsIgnoreCase(prefix);
 	}
 
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode treeNode, DOMNode xmlnode) {
+	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode) {
 		ContentAssistRequest request = super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
 		addTemplates(request, TemplateContextTypeIdsHTML.ALL);
 		return request;
@@ -170,7 +170,7 @@
 		fTemplateContexts.clear();
 
 		IndexedRegion treeNode = ContentAssistUtils.getNodeAt((StructuredTextViewer) textViewer, documentPosition);
-		DOMNode node = (DOMNode) treeNode;
+		IDOMNode node = (IDOMNode) treeNode;
 		setErrorMessage(null);
 
 		// check if it's in a comment node
@@ -325,7 +325,7 @@
 			if (mm != null)
 				model = mm.getExistingModelForRead(viewer.getDocument());
 
-			DOMDocument doc = ((DOMModel) model).getDocument();
+			IDOMDocument doc = ((IDOMModel) model).getDocument();
 
 			ModelQuery mq = ModelQueryUtil.getModelQuery(doc);
 			// XHTML requires lowercase tagname for lookup
@@ -366,7 +366,7 @@
 		return fGenerator;
 	}
 
-	protected ICompletionProposal[] getCSSProposals(ITextViewer viewer, int pos, DOMNode element, int offset, char quote) {
+	protected ICompletionProposal[] getCSSProposals(ITextViewer viewer, int pos, IDOMNode element, int offset, char quote) {
 
 		CSSContentAssistProcessor cssProcessor = new CSSContentAssistProcessor();
 		cssProcessor.setDocumentOffset(offset);
@@ -402,8 +402,8 @@
 		else
 			doc = ((Document) node);
 
-		if (doc instanceof DOMDocument)
-			return ((DOMDocument) doc).isXMLType();
+		if (doc instanceof IDOMDocument)
+			return ((IDOMDocument) doc).isXMLType();
 
 
 		if (doc instanceof INodeNotifier) {
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/XMLHyperlinkDetector.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/XMLHyperlinkDetector.java
index 7274a70..fbac91a 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/XMLHyperlinkDetector.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/hyperlink/XMLHyperlinkDetector.java
@@ -23,8 +23,8 @@
 import org.eclipse.wst.sse.core.IndexedRegion;
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -148,12 +148,12 @@
 			short nodeType = node.getNodeType();
 			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
 				// handle doc type node
-				DOMNode docNode = (DOMNode) node;
+				IDOMNode docNode = (IDOMNode) node;
 				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
 			}
 			else if (nodeType == Node.ATTRIBUTE_NODE) {
 				// handle attribute nodes
-				DOMAttr att = (DOMAttr) node;
+				IDOMAttr att = (IDOMAttr) node;
 				// do not include quotes in attribute value region
 				int regOffset = att.getValueRegionStartOffset();
 				int regLength = att.getValueRegion().getTextLength();
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/projection/StructuredTextFoldingProviderHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/projection/StructuredTextFoldingProviderHTML.java
index e91cfed..5942965 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/projection/StructuredTextFoldingProviderHTML.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/internal/projection/StructuredTextFoldingProviderHTML.java
@@ -11,7 +11,7 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
 import org.eclipse.wst.sse.ui.internal.projection.IStructuredTextFoldingProvider;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
@@ -117,7 +117,7 @@
 					factoryRegistry.addFactory(newFactory);
 
 					// add factory to propogating adapter
-					DOMModel domModel = (DOMModel) sModel;
+					IDOMModel domModel = (IDOMModel) sModel;
 					Document document = domModel.getDocument();
 					PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
 					if (propagatingAdapter != null) {
diff --git a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForHTML.java b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForHTML.java
index c67b077..d715f6d 100644
--- a/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForHTML.java
+++ b/bundles/org.eclipse.wst.html.ui/src/org/eclipse/wst/html/ui/registry/AdapterFactoryProviderForHTML.java
@@ -20,7 +20,7 @@
 import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter;
 import org.eclipse.wst.sse.ui.registry.AdapterFactoryProvider;
 import org.eclipse.wst.sse.ui.util.Assert;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.ui.internal.properties.XMLPropertySourceAdapterFactory;
 
 /**
@@ -37,7 +37,7 @@
 		addContentBasedFactories(structuredModel);
 		// ===
 		// Must update/add to propagating adapter here too
-		if (structuredModel instanceof DOMModel) {
+		if (structuredModel instanceof IDOMModel) {
 			addPropagatingAdapters(structuredModel);
 		}
 		// ===
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLCharEntity.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/IXMLCharEntity.java
similarity index 97%
rename from bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLCharEntity.java
rename to bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/IXMLCharEntity.java
index 9498dbe..cd5f520 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLCharEntity.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/IXMLCharEntity.java
@@ -19,7 +19,7 @@
  * 
  * @since 1.0
  */
-public interface XMLCharEntity {
+public interface IXMLCharEntity {
 	static final String AMP_NAME = "amp";//$NON-NLS-1$
 	static final String AMP_REF = "&amp;";//$NON-NLS-1$
 	static final String AMP_VALUE = "&";//$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/IXMLNamespace.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/IXMLNamespace.java
new file mode 100644
index 0000000..807dfa8
--- /dev/null
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/IXMLNamespace.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.xml.core;
+
+
+
+/**
+ * XML Namespace constants
+ * 
+ * @since 1.0
+ */
+public interface IXMLNamespace {
+
+	static final String XMLNS = "xmlns";//$NON-NLS-1$
+	static final String XMLNS_PREFIX = "xmlns:";//$NON-NLS-1$
+	static final String XMLNS_URI = "http://www.w3.org/2000/xmlns/";//$NON-NLS-1$
+}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLPreferenceNames.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/IXMLPreferenceNames.java
similarity index 98%
rename from bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLPreferenceNames.java
rename to bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/IXMLPreferenceNames.java
index 2505ec3..b58452d 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLPreferenceNames.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/IXMLPreferenceNames.java
@@ -18,7 +18,7 @@
  * @since 1.0
  */
 
-public interface XMLPreferenceNames {
+public interface IXMLPreferenceNames {
 	String CLEANUP_ATTR_NAME_CASE = "cleanupAttrNameCase";//$NON-NLS-1$
 	String CLEANUP_EOL_CODE = "cleanupEOLCode";//$NON-NLS-1$
 	// cleanup preference names
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLNamespace.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLNamespace.java
deleted file mode 100644
index a7c4e27..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/XMLNamespace.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.eclipse.wst.xml.core;
-
-
-
-
-/**
- * XML Namespace constants
- */
-public interface XMLNamespace {
-
-	static final String XMLNS = "xmlns";//$NON-NLS-1$
-	static final String XMLNS_PREFIX = "xmlns:";//$NON-NLS-1$
-	static final String XMLNS_URI = "http://www.w3.org/2000/xmlns/";//$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementAdapter.java
index 7d74a4d..255d67f 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementAdapter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementAdapter.java
@@ -17,7 +17,7 @@
 import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.xml.core.commentelement.impl.CommentElementConfiguration;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.internal.document.TagAdapter;
 
 
@@ -34,11 +34,11 @@
 		fHandler = handler;
 	}
 
-	private String generateCommentClose(DOMElement element) {
+	private String generateCommentClose(IDOMElement element) {
 		return (element.isJSPTag()) ? "--%>" : "-->"; //$NON-NLS-1$ //$NON-NLS-2$
 	}
 
-	private String generateCommentOpen(DOMElement element) {
+	private String generateCommentOpen(IDOMElement element) {
 		return (element.isJSPTag()) ? "<%--" : "<!--"; //$NON-NLS-1$ //$NON-NLS-2$
 	}
 
@@ -47,9 +47,9 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.model.xml.TagAdapter#getEndTag(DOMElement)
+	 * @see com.ibm.sed.model.xml.TagAdapter#getEndTag(IDOMElement)
 	 */
-	public String getEndTag(DOMElement element) {
+	public String getEndTag(IDOMElement element) {
 		String content = fHandler.generateEndTagContent(element);
 		if (content == null) {
 			return null;
@@ -79,9 +79,9 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.model.xml.TagAdapter#getStartTag(DOMElement)
+	 * @see com.ibm.sed.model.xml.TagAdapter#getStartTag(IDOMElement)
 	 */
-	public String getStartTag(DOMElement element) {
+	public String getStartTag(IDOMElement element) {
 		String content = fHandler.generateStartTagContent(element);
 		if (content == null) {
 			return null;
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementHandler.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementHandler.java
index 6712b83..9f3039a 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementHandler.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/CommentElementHandler.java
@@ -14,7 +14,7 @@
 
 
 
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -72,7 +72,7 @@
 	 *            the comment element
 	 * @return generated tag string
 	 */
-	String generateEndTagContent(DOMElement element);
+	String generateEndTagContent(IDOMElement element);
 
 	/**
 	 * This method generates the source text of the start tag for the passed
@@ -84,7 +84,7 @@
 	 *            the comment element
 	 * @return generated tag string
 	 */
-	String generateStartTagContent(DOMElement element);
+	String generateStartTagContent(IDOMElement element);
 
 	/**
 	 * 
@@ -92,7 +92,7 @@
 	 *            the element
 	 * @return boolean whether the element is comment element or not
 	 */
-	boolean isCommentElement(DOMElement element);
+	boolean isCommentElement(IDOMElement element);
 
 	/**
 	 * 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/BasicCommentElementHandler.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/BasicCommentElementHandler.java
index 7de29d0..66476d0 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/BasicCommentElementHandler.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/BasicCommentElementHandler.java
@@ -17,8 +17,8 @@
 import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
 import org.eclipse.wst.xml.core.commentelement.util.CommentElementFactory;
 import org.eclipse.wst.xml.core.commentelement.util.TagScanner;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.document.ISourceGenerator;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
@@ -65,7 +65,7 @@
 					Attr attr = document.createAttribute(attrName);
 					if (attr != null) {
 						if (attrValue != null)
-							((DOMAttr) attr).setValueSource(attrValue);
+							((IDOMAttr) attr).setValueSource(attrValue);
 						element.setAttributeNode(attr);
 					}
 					attrName = scanner.nextName();
@@ -76,9 +76,9 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#getEndTag(DOMElement)
+	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#getEndTag(IDOMElement)
 	 */
-	public String generateEndTagContent(DOMElement element) {
+	public String generateEndTagContent(IDOMElement element) {
 		if (isEmpty) {
 			return null;
 		}
@@ -96,9 +96,9 @@
 	}
 
 	/**
-	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#getStartTag(DOMElement)
+	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#getStartTag(IDOMElement)
 	 */
-	public String generateStartTagContent(DOMElement element) {
+	public String generateStartTagContent(IDOMElement element) {
 		ISourceGenerator generator = element.getModel().getGenerator();
 		StringBuffer buffer = new StringBuffer();
 
@@ -138,7 +138,7 @@
 	 * 
 	 * @see com.ibm.sed.model.commentelement.CommentElementHandler#isCommentElement(com.ibm.sed.model.xml.XMLElement)
 	 */
-	public boolean isCommentElement(DOMElement element) {
+	public boolean isCommentElement(IDOMElement element) {
 		return (element != null && element.getTagName().equals(elementName)) ? true : false;
 	}
 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementConfiguration.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementConfiguration.java
index 44d35d2..5520184 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementConfiguration.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementConfiguration.java
@@ -21,7 +21,7 @@
 import org.eclipse.core.runtime.IPluginDescriptor;
 import org.eclipse.wst.xml.core.commentelement.CommentElementAdapter;
 import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.internal.Logger;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -74,7 +74,7 @@
 	}
 
 	public Element createElement(Document document, String data, boolean isJSPTag) {
-		DOMElement element = (DOMElement) getHandler().createElement(document, data, isJSPTag);
+		IDOMElement element = (IDOMElement) getHandler().createElement(document, data, isJSPTag);
 		if (element != null) {
 			CommentElementAdapter adapter = (CommentElementAdapter) element.getAdapterFor(CommentElementAdapter.class);
 			if (adapter != null) {
@@ -125,11 +125,11 @@
 						return null;
 					}
 
-					public String generateEndTagContent(DOMElement element) {
+					public String generateEndTagContent(IDOMElement element) {
 						return null;
 					}
 
-					public String generateStartTagContent(DOMElement element) {
+					public String generateStartTagContent(IDOMElement element) {
 						return null;
 					}
 
@@ -137,7 +137,7 @@
 						return null;
 					}
 
-					public boolean isCommentElement(DOMElement element) {
+					public boolean isCommentElement(IDOMElement element) {
 						return false;
 					}
 
@@ -220,7 +220,7 @@
 		return fEmpty;
 	}
 
-	void setupCommentElement(DOMElement element) {
+	void setupCommentElement(IDOMElement element) {
 		element.setCommentTag(true);
 		CommentElementAdapter adapter = new CommentElementAdapter(false, fHandler);
 		adapter.setConfiguration(this);
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementRegistry.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementRegistry.java
index 406c296..d20029c 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementRegistry.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/impl/CommentElementRegistry.java
@@ -19,7 +19,7 @@
 import org.eclipse.core.runtime.IExtensionRegistry;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 
 
 /**
@@ -65,7 +65,7 @@
 		return fConfigurations;
 	}
 
-	public boolean setupCommentElement(DOMElement element) {
+	public boolean setupCommentElement(IDOMElement element) {
 		CommentElementConfiguration configurations[] = getConfigurations();
 		int length = configurations.length;
 		for (int i = 0; i < length; i++) {
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/CommentElementFactory.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/CommentElementFactory.java
index 36c08be..c5156b8 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/CommentElementFactory.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/commentelement/util/CommentElementFactory.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.wst.xml.core.commentelement.CommentElementAdapter;
 import org.eclipse.wst.xml.core.commentelement.CommentElementHandler;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 
@@ -48,7 +48,7 @@
 	}
 
 	public Element create(String name, int nodeType) {
-		DOMElement element = (DOMElement) fDocument.createElement(name);
+		IDOMElement element = (IDOMElement) fDocument.createElement(name);
 		if (element == null)
 			return null;
 		element.setCommentTag(true);
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMAttr.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMAttr.java
deleted file mode 100644
index d003868..0000000
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMAttr.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Jens Lukowski/Innoopract - initial renaming/restructuring
- *     
- *******************************************************************************/
-package org.eclipse.wst.xml.core.document;
-
-
-
-import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.w3c.dom.Attr;
-
-
-/**
- * This interface provides extensions to corresponding DOM interface to enable
- * functions for source editing and incremental parsing.
- * 
- * @since 1.0
- * 
- */
-public interface DOMAttr extends DOMNode, Attr {
-
-	/**
-	 */
-	ITextRegion getEqualRegion();
-
-	/**
-	 * @return
-	 */
-	int getNameRegionEndOffset();
-
-	int getNameRegionStartOffset();
-
-	String getNameRegionText();
-
-	/**
-	 * @return
-	 */
-	int getNameRegionTextEndOffset();
-
-	int getValueRegionStartOffset();
-
-	String getValueRegionText();
-
-	/**
-	 * Check if Attr has JSP in value
-	 */
-	boolean hasNestedValue();
-
-	/**
-	 * Check if Attr has only name but not equal sign nor value
-	 */
-	boolean hasNameOnly();
-
-	/**
-	 */
-	boolean isGlobalAttr();
-
-	/**
-	 */
-	boolean isXMLAttr();
-
-}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMAttr.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMAttr.java
new file mode 100644
index 0000000..738a71c
--- /dev/null
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMAttr.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2004 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.xml.core.document;
+
+
+
+import org.eclipse.wst.sse.core.text.ITextRegion;
+import org.w3c.dom.Attr;
+
+
+/**
+ * This interface provides extensions to corresponding DOM interface to enable
+ * functions for source editing and incremental parsing.
+ * 
+ * @since 1.0
+ * 
+ */
+public interface IDOMAttr extends IDOMNode, Attr {
+
+	/**
+	 * Get's the region in attribute representing the '=' sign. May or may not
+	 * have whitespace surrounding it.
+	 * 
+	 */
+	ITextRegion getEqualRegion();
+
+	/**
+	 * Gets the source location of the end of the attribute name, including
+	 * whitespace.
+	 * 
+	 * @return
+	 */
+	int getNameRegionEndOffset();
+
+	/**
+	 * Gets the source location of the start of the attribute name.
+	 * 
+	 * @return
+	 */
+	int getNameRegionStartOffset();
+
+
+	/**
+	 * Gets the text associated with the attribute name.
+	 * 
+	 * @return
+	 */
+	String getNameRegionText();
+
+	/**
+	 * Gets the source location of the end of the attribute name, excluding
+	 * whitespace.
+	 * 
+	 * @return
+	 */
+	int getNameRegionTextEndOffset();
+
+	/**
+	 * Gets the source location of the start of the attribute value.
+	 * 
+	 * @return
+	 */
+	int getValueRegionStartOffset();
+
+	/**
+	 * Gets the text associated with the attribute value.
+	 * 
+	 * @return
+	 */
+	String getValueRegionText();
+
+	/**
+	 * Check if Attr has a nested value (such as a JSP expression).
+	 * 
+	 * @return true if contains a nested value
+	 */
+	boolean hasNestedValue();
+
+	/**
+	 * Check if Attr has only name but not equal sign nor value.
+	 * 
+	 * @return true if has only name but not equal sign nor value.
+	 */
+	boolean hasNameOnly();
+
+	/**
+	 * Returns true if attribute is defined globally for document. Returns
+	 * false if attribute is preceeded by a prefix (whether valid name space
+	 * or not). Returns true if its owning element is a global element.
+	 * 
+	 */
+	boolean isGlobalAttr();
+
+	/**
+	 * Returns true if is xml attr
+	 * 
+	 * ISSUE: need to figure out how to specify this one.
+	 */
+	boolean isXMLAttr();
+
+}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMDocument.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMDocument.java
similarity index 84%
rename from bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMDocument.java
rename to bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMDocument.java
index fcf6d09..0ee6563 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMDocument.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMDocument.java
@@ -27,7 +27,7 @@
  * 
  * @since 1.0
  */
-public interface DOMDocument extends DOMNode, Document, DocumentRange, DocumentTraversal {
+public interface IDOMDocument extends IDOMNode, Document, DocumentRange, DocumentTraversal {
 
 	/**
 	 * create comment element. tagName must be registered as comment element
@@ -46,22 +46,37 @@
 	Element createCommentElement(String tagName, boolean isJSPTag) throws DOMException;
 
 	/**
+	 * Creates a DocumentType node
 	 */
 	DocumentType createDoctype(String name);
 
 	/**
+	 * Returns the DocumnetType ID
+	 * 
 	 */
 	String getDocumentTypeId();
 
 	/**
+	 * isJSPDocument
+	 * 
+	 * ISSUE: need to specify
+	 * 
 	 */
 	boolean isJSPDocument();
 
 	/**
+	 * isJSPType
+	 * 
+	 * ISSUE: need to specify
+	 * 
 	 */
 	boolean isJSPType();
 
 	/**
+	 * isXMLType
+	 * 
+	 * ISSUE: need to specify
+	 * 
 	 */
 	boolean isXMLType();
 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMDocumentType.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMDocumentType.java
similarity index 94%
rename from bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMDocumentType.java
rename to bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMDocumentType.java
index 904707f..c4c21c1 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMDocumentType.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMDocumentType.java
@@ -22,7 +22,7 @@
  * 
  * @since 1.0
  */
-public interface DOMDocumentType extends DOMNode, DocumentType {
+public interface IDOMDocumentType extends IDOMNode, DocumentType {
 
 
 	/**
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMElement.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMElement.java
similarity index 63%
rename from bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMElement.java
rename to bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMElement.java
index dea035f..00d1487 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMElement.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMElement.java
@@ -24,32 +24,36 @@
  * 
  */
 
-public interface DOMElement extends DOMNode, Element {
+public interface IDOMElement extends IDOMNode, Element {
 
 	/**
-	 * @deprecated this should probably not be public, but already implemented
+	 * @deprecated this should probably not be public
 	 */
 	int getEndStartOffset();
 
 	/**
+	 * get's the end tag name
 	 */
 	String getEndTagName();
 
 	/**
-	 * @deprecated this should probably not be public, but already implemented
-	 *  
+	 * @deprecated this should probably not be public
+	 * 
 	 */
 	int getStartEndOffset();
 
 	/**
+	 * Returns true if has an end tag
 	 */
 	boolean hasEndTag();
 
 	/**
+	 * returns true if has a start tag.
 	 */
 	boolean hasStartTag();
 
 	/**
+	 * returns true if this element is a comment
 	 */
 	boolean isCommentTag();
 
@@ -71,6 +75,9 @@
 
 	/**
 	 * Returns true for no the start and the end tags
+	 * 
+	 * Provided for some very special cases when, for example, and HTML tag is
+	 * assumed in an HTML document that does not have an HTML tag.
 	 */
 	boolean isImplicitTag();
 
@@ -78,36 +85,59 @@
 	 * isJSPTag method
 	 * 
 	 * @return boolean
+	 * 
+	 * ISSUE: change to isContainerLanguageTag(String type);
 	 */
 	boolean isJSPTag();
 
 	/**
+	 * Returns true if start tag is closed.
+	 * 
 	 */
 	boolean isStartTagClosed();
 
 	/**
+	 * returns true if is xml tag
+	 * 
+	 * ISSUE: I need to spec this better.
+	 * 
 	 */
 	boolean isXMLTag();
 
 	/**
-	 * @deprecated this should probably not be public, but already implemented
+	 * notifyEndTagChanged
+	 * 
+	 * @deprecated this should probably not be public
 	 */
 	void notifyEndTagChanged();
 
 	/**
-	 * @deprecated this should probably not be public, but already implemented
+	 * notifyStartTagChanged
+	 * 
+	 * @deprecated this should probably not be public
 	 */
 	void notifyStartTagChanged();
 
 	/**
+	 * Signify that this tag is a comment
+	 * 
+	 * For use only by parsers?
+	 * 
 	 */
 	void setCommentTag(boolean isCommentTag);
 
 	/**
+	 * Signify that this tag is an empty tag
+	 * 
+	 * For use only by parsers?
 	 */
 	void setEmptyTag(boolean isEmptyTag);
 
 	/**
+	 * Signify that this tag is a JSP tag
+	 * 
+	 * For use only by parsers?
+	 * 
 	 */
 	void setJSPTag(boolean isJSPTag);
 }
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMModel.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMModel.java
similarity index 94%
rename from bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMModel.java
rename to bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMModel.java
index e36a6f0..ae07b79 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMModel.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMModel.java
@@ -21,14 +21,14 @@
  * 
  * @since 1.0
  */
-public interface DOMModel extends IStructuredModel {
+public interface IDOMModel extends IStructuredModel {
 
 	/**
 	 * Returns the DOM Document.
 	 * 
 	 * @return the DOM Document.
 	 */
-	DOMDocument getDocument();
+	IDOMDocument getDocument();
 
 	/**
 	 * Returns an source generator appropriate for this model.
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMNode.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMNode.java
similarity index 72%
rename from bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMNode.java
rename to bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMNode.java
index f284147..bdfc0e1 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMNode.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMNode.java
@@ -25,57 +25,70 @@
 /**
  * A interface to make concept clearer, just to denote the combination of
  * three other interfaces.
- *  
+ * 
+ * @since 1.0
+ * 
  */
-public interface DOMNode extends IndexedRegion, INodeNotifier, Node {
+public interface IDOMNode extends IndexedRegion, INodeNotifier, Node {
 
 	/**
+	 * Gets the last structured document region of this node.
 	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
+	 * @return
 	 */
 	IStructuredDocumentRegion getEndStructuredDocumentRegion();
 
 	/**
+	 * Gets the first structured document region of this node.
+	 * 
+	 * @return
 	 */
 	IStructuredDocumentRegion getFirstStructuredDocumentRegion();
 
 	/**
+	 * Gets the last structured document region of this node.
+	 * 
+	 * @return
 	 */
 	IStructuredDocumentRegion getLastStructuredDocumentRegion();
 
 	/**
+	 * Returns the model associated with this node.
 	 */
-	DOMModel getModel();
+	IDOMModel getModel();
 
 	/**
+	 * Returns a region representing the name of this node.
 	 */
 	ITextRegion getNameRegion();
 
 	/**
+	 * Returns the source representing this node.
 	 */
 	String getSource();
 
 	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocumentRegion
+	 * Returns the first StructuredDocumentRegion of this Node.
 	 */
 	IStructuredDocumentRegion getStartStructuredDocumentRegion();
 
 	/**
-	 * 
-	 * @return com.ibm.sed.structuredDocument.IStructuredDocument
+	 * Returns the structured Document that underlies this model.
 	 */
 	IStructuredDocument getStructuredDocument();
 
 	/**
+	 * Get's the region representing the value of this node.
 	 */
 	ITextRegion getValueRegion();
 
 	/**
+	 * Get's the source of this nodes value.
 	 */
 	String getValueSource();
 
 	/**
+	 * Used to know read-only state of children.
 	 * 
 	 * @return boolean Whether children of the element can be appended or
 	 *         removed.
@@ -83,30 +96,39 @@
 	boolean isChildEditable();
 
 	/**
+	 * Returns true if tag is closed.
 	 */
 	boolean isClosed();
 
 	/**
-	 * isContainer method
+	 * Returns true if this node is a container.
 	 * 
 	 * @return boolean
 	 */
 	boolean isContainer();
 
 	/**
+	 * Used to know read-only state of data.
+	 * 
 	 */
 	boolean isDataEditable();
 
 	/**
+	 * Set's readonly state of children
+	 * 
 	 */
 	void setChildEditable(boolean editable);
 
 	/**
+	 * Set's readonly state of data
+	 * 
 	 */
 	void setDataEditable(boolean editable);
 
 	/**
-	 * faster approach to set
+	 * Set's readonly state of data
+	 * 
+	 * faster approach to set read-only state.
 	 */
 	void setEditable(boolean editable, boolean deep);
 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMText.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMText.java
similarity index 89%
rename from bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMText.java
rename to bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMText.java
index 0ad0b73..c2e6a1d 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/DOMText.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/IDOMText.java
@@ -24,7 +24,7 @@
  * 
  */
 
-public interface DOMText extends DOMNode, Text {
+public interface IDOMText extends IDOMNode, Text {
 
 	/**
 	 * Appends the content of the text node
@@ -37,10 +37,12 @@
 	void insertText(Text text, int offset);
 
 	/**
+	 * Returns true if is not valid.
 	 */
 	boolean isInvalid();
 
 	/**
+	 * Returns true if is entirely white space
 	 */
 	boolean isWhitespace();
 }
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/ISourceGenerator.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/ISourceGenerator.java
index dea752a..22842f7 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/ISourceGenerator.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/document/ISourceGenerator.java
@@ -24,21 +24,31 @@
 import org.w3c.dom.ProcessingInstruction;
 import org.w3c.dom.Text;
 
+/**
+ * 
+ * ISourceGenerator allows DOM models to generate source appropriate for their
+ * parameter, relative to the model that provides the source generator.
+ */
+
 public interface ISourceGenerator {
 
 	/**
+	 * Generate attribute name.
 	 */
 	String generateAttrName(Attr attr);
 
 	/**
+	 * generateAttrValue
 	 */
 	String generateAttrValue(Attr attr);
 
 	/**
+	 * generateAttrValue
 	 */
 	String generateAttrValue(Attr attr, char quote);
 
 	/**
+	 * generateAttrValue
 	 */
 	String generateAttrValue(String value, char quote);
 
@@ -60,6 +70,7 @@
 	String generateChild(Node parentNode);
 
 	/**
+	 * generateCloseTag
 	 */
 	String generateCloseTag(Node node);
 
@@ -136,6 +147,7 @@
 	String generateStartTag(Element element);
 
 	/**
+	 * Generate tag name.
 	 */
 	String generateTagName(Element element);
 
@@ -149,6 +161,7 @@
 	String generateText(Text text);
 
 	/**
+	 * generate text data
 	 */
 	String generateTextData(Text text, String data);
 }
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/CommentNodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/CommentNodeFormatter.java
index 40c4036..8026b95 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/CommentNodeFormatter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/CommentNodeFormatter.java
@@ -14,7 +14,7 @@
 
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatContraints;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Node;
 
 
@@ -68,7 +68,7 @@
 		return result;
 	}
 
-	protected void formatNode(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatNode(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		if (node != null) {
 			// lineDelimiterFound means multi line comment
 			String nodeValue = node.getNodeValue();
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/DocumentNodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/DocumentNodeFormatter.java
index 79c26ed..e9a70bf 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/DocumentNodeFormatter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/DocumentNodeFormatter.java
@@ -14,11 +14,11 @@
 
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatContraints;
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatter;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 
 
 public class DocumentNodeFormatter extends NodeFormatter {
-	protected void formatChildren(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatChildren(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		String singleIndent = getFormatPreferences().getIndent();
 		String lineIndent = formatContraints.getCurrentIndent();
 
@@ -26,10 +26,10 @@
 			// normalize node first to combine adjacent text nodes
 			node.normalize();
 
-			DOMNode nextChild = (DOMNode) node.getFirstChild();
+			IDOMNode nextChild = (IDOMNode) node.getFirstChild();
 			while (nextChild != null) {
-				DOMNode eachChildNode = nextChild;
-				nextChild = (DOMNode) eachChildNode.getNextSibling();
+				IDOMNode eachChildNode = nextChild;
+				nextChild = (IDOMNode) eachChildNode.getNextSibling();
 				IStructuredFormatter formatter = getFormatter(eachChildNode);
 				IStructuredFormatContraints childFormatContraints = formatter.getFormatContraints();
 				String childIndent = lineIndent + singleIndent;
@@ -41,12 +41,12 @@
 
 				if (nextChild != null && nextChild.getParentNode() == null)
 					// nextNode is deleted during format
-					nextChild = (DOMNode) eachChildNode.getNextSibling();
+					nextChild = (IDOMNode) eachChildNode.getNextSibling();
 			}
 		}
 	}
 
-	protected void formatNode(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatNode(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		if (node != null)
 			formatChildren(node, formatContraints);
 	}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/ElementNodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/ElementNodeFormatter.java
index 78b989f..ac761eb 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/ElementNodeFormatter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/ElementNodeFormatter.java
@@ -20,10 +20,10 @@
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.core.text.ITextRegionList;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
 import org.eclipse.wst.xml.core.document.ISourceGenerator;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.document.AttrImpl;
@@ -42,21 +42,21 @@
 	static protected final char SINGLE_QUOTE = '\'';//$NON-NLS-1$
 	static protected final String XML_SPACE = "xml:space";//$NON-NLS-1$
 
-	protected void formatEndTag(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatEndTag(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		if (!isEndTagMissing(node)) {
 			// end tag exists
 
 			IStructuredDocument structuredDocument = node.getModel().getStructuredDocument();
 			String lineDelimiter = structuredDocument.getLineDelimiter();
 			String nodeIndentation = getNodeIndent(node);
-			DOMNode lastChild = (DOMNode) node.getLastChild();
+			IDOMNode lastChild = (IDOMNode) node.getLastChild();
 			if (lastChild != null && lastChild.getNodeType() != Node.TEXT_NODE) {
 				if (isEndTagMissing(lastChild)) {
 					// find deepest child
-					DOMNode deepestChild = (DOMNode) lastChild.getLastChild();
+					IDOMNode deepestChild = (IDOMNode) lastChild.getLastChild();
 					while (deepestChild != null && deepestChild.getLastChild() != null && isEndTagMissing(deepestChild)) {
 						lastChild = deepestChild;
-						deepestChild = (DOMNode) deepestChild.getLastChild();
+						deepestChild = (IDOMNode) deepestChild.getLastChild();
 					}
 
 					if (deepestChild != null) {
@@ -91,19 +91,19 @@
 		}
 	}
 
-	protected void formatNode(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatNode(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		if (node != null) {
 			// format indentation before node
 			formatIndentationBeforeNode(node, formatContraints);
 
 			// format start tag
-			DOMNode newNode = node;
+			IDOMNode newNode = node;
 			int startTagStartOffset = node.getStartOffset();
-			DOMModel structuredModel = node.getModel();
+			IDOMModel structuredModel = node.getModel();
 
 			formatStartTag(node, formatContraints);
 			// save new node
-			newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset);
+			newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset);
 
 			IStructuredDocumentRegion flatNode = newNode.getFirstStructuredDocumentRegion();
 			if (flatNode != null) {
@@ -115,7 +115,7 @@
 					formatChildren(newNode, formatContraints);
 
 					// save new node
-					newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset);
+					newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset);
 
 					// format end tag
 					formatEndTag(newNode, formatContraints);
@@ -131,7 +131,7 @@
 	 * This method formats the start tag name, and formats the attributes if
 	 * available.
 	 */
-	protected void formatStartTag(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatStartTag(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		String singleIndent = getFormatPreferences().getIndent();
 		String lineIndent = formatContraints.getCurrentIndent();
 		String attrIndent = lineIndent + singleIndent;
@@ -174,7 +174,7 @@
 				// check for xml:space attribute
 				if (flatNode.getText(nameRegion).compareTo(XML_SPACE) == 0) {
 					if (valueRegion == null) {
-						ModelQueryAdapter adapter = (ModelQueryAdapter) ((DOMDocument) node.getOwnerDocument()).getAdapterFor(ModelQueryAdapter.class);
+						ModelQueryAdapter adapter = (ModelQueryAdapter) ((IDOMDocument) node.getOwnerDocument()).getAdapterFor(ModelQueryAdapter.class);
 						CMElementDeclaration elementDeclaration = (CMElementDeclaration) adapter.getModelQuery().getCMNode(node);
 						if (elementDeclaration == null)
 							// CMElementDeclaration not found, default to
@@ -303,7 +303,7 @@
 			String undefinedRegion = getUndefinedRegions(node, lastUndefinedRegionOffset, node.getEndOffset() - lastUndefinedRegionOffset);
 			stringBuffer.append(undefinedRegion);
 
-			DOMModel structuredModel = node.getModel();
+			IDOMModel structuredModel = node.getModel();
 			IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 			// 1 is for "<"
 			int offset = node.getStartOffset() + 1 + node.getNodeName().length();
@@ -332,7 +332,7 @@
 		}
 	}
 
-	protected String getUndefinedRegions(DOMNode node, int startOffset, int length) {
+	protected String getUndefinedRegions(IDOMNode node, int startOffset, int length) {
 		String result = new String();
 
 		IStructuredDocumentRegion flatNode = node.getFirstStructuredDocumentRegion();
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/NodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/NodeFormatter.java
index c4fc31f..7776865 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/NodeFormatter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/NodeFormatter.java
@@ -28,8 +28,8 @@
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.core.text.ITextRegionList;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
 import org.eclipse.wst.xml.core.internal.document.CDATASectionImpl;
 import org.eclipse.wst.xml.core.internal.document.CharacterDataImpl;
@@ -125,7 +125,7 @@
 		return compressedString.toString();
 	}
 
-	protected boolean firstStructuredDocumentRegionContainsLineDelimiters(DOMNode node) {
+	protected boolean firstStructuredDocumentRegionContainsLineDelimiters(IDOMNode node) {
 		boolean result = false;
 
 		if (node != null) {
@@ -149,13 +149,13 @@
 		if (formatContraints.getFormatWithSiblingIndent())
 			formatContraints.setCurrentIndent(getSiblingIndent(node));
 
-		if (node instanceof DOMNode)
-			formatNode((DOMNode) node, formatContraints);
+		if (node instanceof IDOMNode)
+			formatNode((IDOMNode) node, formatContraints);
 	}
 
-	protected void formatIndentationAfterNode(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatIndentationAfterNode(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		if (node != null) {
-			DOMNode nextSibling = (DOMNode) node.getNextSibling();
+			IDOMNode nextSibling = (IDOMNode) node.getNextSibling();
 			IStructuredDocument doc = node.getModel().getStructuredDocument();
 			int line = doc.getLineOfOffset(node.getEndOffset());
 			String lineDelimiter = doc.getLineDelimiter();
@@ -191,9 +191,9 @@
 						insertAfterNode(node, lineDelimiter + lineIndent);
 					}
 				else {
-					DOMNode indentNode = getParentIndentNode(node);
+					IDOMNode indentNode = getParentIndentNode(node);
 					String lineIndent = getNodeIndent(indentNode);
-					DOMNode lastChild = getDeepestChildNode(node);
+					IDOMNode lastChild = getDeepestChildNode(node);
 					boolean clearAllBlankLines = formatContraints.getClearAllBlankLines();
 
 					if (lastChild != null) {
@@ -227,9 +227,9 @@
 		}
 	}
 
-	protected void formatIndentationBeforeNode(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatIndentationBeforeNode(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		if (node != null) {
-			DOMNode previousSibling = (DOMNode) node.getPreviousSibling();
+			IDOMNode previousSibling = (IDOMNode) node.getPreviousSibling();
 			IStructuredDocument doc = node.getModel().getStructuredDocument();
 			int line = doc.getLineOfOffset(node.getStartOffset());
 			String lineDelimiter = doc.getLineDelimiter();
@@ -289,7 +289,7 @@
 		}
 	}
 
-	protected void formatNode(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatNode(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		if (node != null && (fProgressMonitor == null || !fProgressMonitor.isCanceled())) {
 			// format indentation before node
 			formatIndentationBeforeNode(node, formatContraints);
@@ -304,14 +304,14 @@
 	 * depending on the indentations of its sibling nodes and parent node. Not
 	 * needed anymore?
 	 */
-	protected void formatTrailingText(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatTrailingText(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		String lineDelimiter = node.getModel().getStructuredDocument().getLineDelimiter();
 		String lineIndent = formatContraints.getCurrentIndent();
 		String parentLineIndent = getNodeIndent(node.getParentNode());
 		boolean clearAllBlankLines = formatContraints.getClearAllBlankLines();
 
 		if ((node != null) && (node.getNodeType() != Node.DOCUMENT_NODE)) {
-			DOMNode nextSibling = (DOMNode) node.getNextSibling();
+			IDOMNode nextSibling = (IDOMNode) node.getNextSibling();
 			if ((nextSibling != null) && (nextSibling.getNodeType() == Node.TEXT_NODE)) {
 				String nextSiblingText = nextSibling.getNodeValue();
 				if (nextSibling.getNextSibling() == null)
@@ -380,13 +380,13 @@
 		}
 	}
 
-	protected String getCompressedNodeText(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected String getCompressedNodeText(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		return compressSpaces(getNodeText(node), formatContraints);
 	}
 
-	protected DOMNode getDeepestChildNode(DOMNode node) {
-		DOMNode result = null;
-		DOMNode lastChild = (DOMNode) node.getLastChild();
+	protected IDOMNode getDeepestChildNode(IDOMNode node) {
+		IDOMNode result = null;
+		IDOMNode lastChild = (IDOMNode) node.getLastChild();
 
 		if (lastChild == null)
 			result = node;
@@ -436,7 +436,7 @@
 		return fFormatPreferences;
 	}
 
-	protected IStructuredFormatter getFormatter(DOMNode node) {
+	protected IStructuredFormatter getFormatter(IDOMNode node) {
 		// 262135 - NPE during format of empty document
 		if (node == null)
 			return null;
@@ -513,7 +513,7 @@
 		String result = EMPTY_STRING;
 
 		if ((node != null) && (node.getNodeType() != Node.DOCUMENT_NODE) && (node.getParentNode() != null) && (node.getParentNode().getNodeType() != Node.DOCUMENT_NODE)) {
-			DOMNode siblingTextNode = (DOMNode) node.getPreviousSibling();
+			IDOMNode siblingTextNode = (IDOMNode) node.getPreviousSibling();
 			if ((siblingTextNode != null) && (siblingTextNode.getNodeType() == Node.TEXT_NODE)) {
 				// find the indentation
 				String siblingText = siblingTextNode.getNodeValue();
@@ -532,11 +532,11 @@
 		return result;
 	}
 
-	protected String getNodeName(DOMNode node) {
+	protected String getNodeName(IDOMNode node) {
 		return node.getNodeName();
 	}
 
-	protected String getNodeText(DOMNode node) {
+	protected String getNodeText(IDOMNode node) {
 		String text = null;
 
 		if ((node instanceof CharacterDataImpl) && !(node instanceof CommentImpl) && !(node instanceof CDATASectionImpl) && !isJSPTag(node))
@@ -547,9 +547,9 @@
 		return text;
 	}
 
-	protected DOMNode getParentIndentNode(DOMNode node) {
-		DOMNode result = null;
-		DOMNode parentNode = (DOMNode) node.getParentNode();
+	protected IDOMNode getParentIndentNode(IDOMNode node) {
+		IDOMNode result = null;
+		IDOMNode parentNode = (IDOMNode) node.getParentNode();
 
 		if (parentNode.getNodeType() == Node.DOCUMENT_NODE)
 			result = parentNode;
@@ -582,16 +582,16 @@
 			// find the text node before the previous non-text sibling
 			// if that's not found, we will try the text node before the next
 			// non-text sibling
-			DOMNode sibling = (DOMNode) node.getPreviousSibling();
+			IDOMNode sibling = (IDOMNode) node.getPreviousSibling();
 			while ((sibling != null) && (sibling.getNodeType() == Node.TEXT_NODE || sibling.getNodeType() == Node.COMMENT_NODE)) {
 				if (sibling.getNodeType() == Node.COMMENT_NODE && sibling.getPreviousSibling() != null && sibling.getPreviousSibling().getNodeType() == Node.TEXT_NODE && StringUtils.containsLineDelimiter(sibling.getPreviousSibling().getNodeValue()))
 					break;
-				sibling = (DOMNode) sibling.getPreviousSibling();
+				sibling = (IDOMNode) sibling.getPreviousSibling();
 			}
 			if (sibling == null) {
-				sibling = (DOMNode) node.getNextSibling();
+				sibling = (IDOMNode) node.getNextSibling();
 				while ((sibling != null) && (sibling.getNodeType() == Node.TEXT_NODE))
-					sibling = (DOMNode) sibling.getNextSibling();
+					sibling = (IDOMNode) sibling.getNextSibling();
 			}
 			String singleIndent = getFormatPreferences().getIndent();
 			String parentLineIndent = getNodeIndent(node.getParentNode());
@@ -623,8 +623,8 @@
 		return result;
 	}
 
-	protected void insertAfterNode(DOMNode node, String string) {
-		DOMModel structuredModel = node.getModel();
+	protected void insertAfterNode(IDOMNode node, String string) {
+		IDOMModel structuredModel = node.getModel();
 		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 
 		int offset = node.getEndOffset();
@@ -638,8 +638,8 @@
 		replace(structuredDocument, offset, length, string);
 	}
 
-	protected void insertBeforeNode(DOMNode node, String string) {
-		DOMModel structuredModel = node.getModel();
+	protected void insertBeforeNode(IDOMNode node, String string) {
+		IDOMModel structuredModel = node.getModel();
 		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 
 		replace(structuredDocument, node.getStartOffset(), 0, string);
@@ -653,7 +653,7 @@
 		return type.equals(IStructuredFormatter.class);
 	}
 
-	protected boolean isEndTagMissing(DOMNode node) {
+	protected boolean isEndTagMissing(IDOMNode node) {
 		boolean result = false;
 
 		if ((node != null) && (node.getNodeType() != Node.DOCUMENT_NODE) && !isJSPTag(node)) {
@@ -676,7 +676,7 @@
 		return result;
 	}
 
-	protected boolean nodeHasSiblings(DOMNode node) {
+	protected boolean nodeHasSiblings(IDOMNode node) {
 		return (node.getPreviousSibling() != null) || (node.getNextSibling() != null);
 	}
 
@@ -686,9 +686,9 @@
 	public void notifyChanged(org.eclipse.wst.sse.core.INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
 	}
 
-	protected void removeRegionSpaces(DOMNode node, IStructuredDocumentRegion flatNode, ITextRegion region) {
+	protected void removeRegionSpaces(IDOMNode node, IStructuredDocumentRegion flatNode, ITextRegion region) {
 		if ((region != null) && (region instanceof ContextRegion || region instanceof TagNameRegion) && (flatNode.getEndOffset(region) > flatNode.getTextEndOffset(region))) {
-			DOMModel structuredModel = node.getModel();
+			IDOMModel structuredModel = node.getModel();
 			IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 
 			replace(structuredDocument, flatNode.getTextEndOffset(region), flatNode.getEndOffset(region) - flatNode.getTextEndOffset(region), EMPTY_STRING);
@@ -715,8 +715,8 @@
 	 * value to be replaced is the same as the new string, the node value will
 	 * not be replaced.
 	 */
-	protected void replaceNodeValue(DOMNode node, String string) {
-		DOMModel structuredModel = node.getModel();
+	protected void replaceNodeValue(IDOMNode node, String string) {
+		IDOMModel structuredModel = node.getModel();
 		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 		int offset = node.getStartOffset();
 		int length = node.getEndOffset() - node.getStartOffset();
@@ -769,8 +769,8 @@
 	
 		boolean result = false;
 	
-		if (node instanceof DOMNode) {
-			IStructuredDocumentRegion flatNode = ((DOMNode) node).getFirstStructuredDocumentRegion();
+		if (node instanceof IDOMNode) {
+			IStructuredDocumentRegion flatNode = ((IDOMNode) node).getFirstStructuredDocumentRegion();
 			// in some cases, the nodes exists, but hasn't been associated
 			// with
 			// a flatnode yet (the screen updates can be initiated on a
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/TextNodeFormatter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/TextNodeFormatter.java
index 5c8c7fd..ac635a9 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/TextNodeFormatter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/format/TextNodeFormatter.java
@@ -20,12 +20,12 @@
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatContraints;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Node;
 
 
 public class TextNodeFormatter extends NodeFormatter {
-	protected void formatNode(DOMNode node, IStructuredFormatContraints formatContraints) {
+	protected void formatNode(IDOMNode node, IStructuredFormatContraints formatContraints) {
 		if (node != null) {
 			IStructuredDocument doc = node.getModel().getStructuredDocument();
 			int line = doc.getLineOfOffset(node.getStartOffset());
@@ -38,7 +38,7 @@
 				throw new SourceEditingRuntimeException(exception);
 			}
 			int lineWidth = getFormatPreferences().getLineWidth();
-			DOMNode parentNode = (DOMNode) node.getParentNode();
+			IDOMNode parentNode = (IDOMNode) node.getParentNode();
 			String nodeIndentation = formatContraints.getCurrentIndent();
 
 			// compute current available line width
@@ -55,7 +55,7 @@
 
 			String compressedText = getCompressedNodeText(node, formatContraints);
 
-			if (((compressedText.length() <= (currentAvailableLineWidth - node.getParentNode().getNodeName().length() - 3) && !StringUtils.containsLineDelimiter(compressedText)) && (!nodeHasSiblings(node) || (!StringUtils.containsLineDelimiter(node.getNodeValue()) && node.getNextSibling() != null && node.getNextSibling().getNodeType() == Node.COMMENT_NODE && !StringUtils.containsLineDelimiter(node.getNextSibling().getNodeValue()))) && !firstStructuredDocumentRegionContainsLineDelimiters((DOMNode) node.getParentNode())) || node.getStartStructuredDocumentRegion().getStartOffset() == 0) {
+			if (((compressedText.length() <= (currentAvailableLineWidth - node.getParentNode().getNodeName().length() - 3) && !StringUtils.containsLineDelimiter(compressedText)) && (!nodeHasSiblings(node) || (!StringUtils.containsLineDelimiter(node.getNodeValue()) && node.getNextSibling() != null && node.getNextSibling().getNodeType() == Node.COMMENT_NODE && !StringUtils.containsLineDelimiter(node.getNextSibling().getNodeValue()))) && !firstStructuredDocumentRegionContainsLineDelimiters((IDOMNode) node.getParentNode())) || node.getStartStructuredDocumentRegion().getStartOffset() == 0) {
 				// enough space
 				// and text has no line delimiters
 				// and (node has no siblings or followed by inline comment)
@@ -63,9 +63,9 @@
 				// parentFirstStructuredDocumentRegionContainsLineDelimiters
 
 				if (isEndTagMissing(parentNode)) {
-					parentNode = (DOMNode) parentNode.getParentNode();
+					parentNode = (IDOMNode) parentNode.getParentNode();
 					while (isEndTagMissing(parentNode))
-						parentNode = (DOMNode) parentNode.getParentNode();
+						parentNode = (IDOMNode) parentNode.getParentNode();
 
 					// add parent's indentation to end
 					nodeIndentation = getNodeIndent(parentNode);
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/EveryNodeDebugAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/EveryNodeDebugAdapter.java
index 50c9d95..f4d3223 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/EveryNodeDebugAdapter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/EveryNodeDebugAdapter.java
@@ -27,7 +27,7 @@
 import org.eclipse.wst.sse.core.events.StructuredDocumentRegionsReplacedEvent;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
 import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 
 
 /**
@@ -240,8 +240,8 @@
 	 *      int, java.lang.Object, java.lang.Object, java.lang.Object, int)
 	 */
 	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
-		if (notifier instanceof DOMNode) {
-			setModel(((DOMNode) notifier).getModel());
+		if (notifier instanceof IDOMNode) {
+			setModel(((IDOMNode) notifier).getModel());
 		}
 		Debug.println("notifier: " + notifier + " " + INodeNotifier.EVENT_TYPE_STRINGS[eventType] + " changedFeature: " + changedFeature + " oldValue: " + oldValue + " newValue: " + newValue + " pos: " + pos); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/ElementNodeCleanupHandler.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/ElementNodeCleanupHandler.java
index 73455f2..16d578a 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/ElementNodeCleanupHandler.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/ElementNodeCleanupHandler.java
@@ -26,12 +26,12 @@
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.core.text.ITextRegionList;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.document.ISourceGenerator;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
@@ -59,7 +59,7 @@
 
 	public Node cleanup(Node node) {
 		Node newNode = cleanupChildren(node);
-		DOMNode renamedNode = newNode instanceof DOMNode ? (DOMNode) newNode : null;
+		IDOMNode renamedNode = newNode instanceof IDOMNode ? (IDOMNode) newNode : null;
 
 		// call quoteAttrValue() first so it will close any unclosed attr
 		// quoteAttrValue() will return the new start tag if there is a
@@ -70,7 +70,7 @@
 		// if node is not comment tag
 		// and not implicit tag
 		if (!isCommentTag(renamedNode) && !isImplicitTag(renamedNode)) {
-			DOMModel structuredModel = renamedNode.getModel();
+			IDOMModel structuredModel = renamedNode.getModel();
 
 			// save start offset before insertTagClose()
 			// or else renamedNode.getStartOffset() will be zero if
@@ -83,7 +83,7 @@
 
 			// update renamedNode and startTagStructuredDocumentRegion after
 			// insertTagClose()
-			renamedNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset);
+			renamedNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset);
 			startTagStructuredDocumentRegion = renamedNode.getStartStructuredDocumentRegion();
 
 			// for end tag
@@ -118,19 +118,19 @@
 				childNode = cleanupHandler.cleanup(childNode);
 
 				// get new parent node
-				parentNode = (DOMNode) childNode.getParentNode();
+				parentNode = (IDOMNode) childNode.getParentNode();
 
 				// get next child node
-				childNode = (DOMNode) childNode.getNextSibling();
+				childNode = (IDOMNode) childNode.getNextSibling();
 			}
 		}
 
 		return parentNode;
 	}
 
-	private DOMNode compressEmptyElementTag(DOMNode node) {
+	private IDOMNode compressEmptyElementTag(IDOMNode node) {
 		boolean compressEmptyElementTags = getCleanupPreferences().getCompressEmptyElementTags();
-		DOMNode newNode = node;
+		IDOMNode newNode = node;
 
 		IStructuredDocumentRegion startTagStructuredDocumentRegion = newNode.getFirstStructuredDocumentRegion();
 		IStructuredDocumentRegion endTagStructuredDocumentRegion = newNode.getLastStructuredDocumentRegion();
@@ -142,18 +142,18 @@
 			if (lastRegion.getType() != XMLRegionContext.XML_EMPTY_TAG_CLOSE) {
 				NodeList childNodes = newNode.getChildNodes();
 				if (childNodes == null || childNodes.getLength() == 0 || (childNodes.getLength() == 1 && (childNodes.item(0)).getNodeType() == Node.TEXT_NODE && ((childNodes.item(0)).getNodeValue().trim().length() == 0))) {
-					DOMModel structuredModel = newNode.getModel();
+					IDOMModel structuredModel = newNode.getModel();
 					IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 
 					int startTagStartOffset = newNode.getStartOffset();
 					int offset = endTagStructuredDocumentRegion.getStart();
 					int length = endTagStructuredDocumentRegion.getLength();
 					structuredDocument.replaceText(structuredDocument, offset, length, ""); //$NON-NLS-1$
-					newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
+					newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
 
 					offset = startTagStructuredDocumentRegion.getStart() + lastRegion.getStart();
 					structuredDocument.replaceText(structuredDocument, offset, 0, "/"); //$NON-NLS-1$
-					newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
+					newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
 				}
 			}
 		}
@@ -215,14 +215,14 @@
 		return result;
 	}
 
-	private DOMNode insertEndTag(DOMNode node) {
-		DOMNode newNode = node;
-		DOMElement element = (DOMElement) node;
+	private IDOMNode insertEndTag(IDOMNode node) {
+		IDOMNode newNode = node;
+		IDOMElement element = (IDOMElement) node;
 		if (element.isCommentTag())
 			return node; // do nothing
 
 		int startTagStartOffset = node.getStartOffset();
-		DOMModel structuredModel = node.getModel();
+		IDOMModel structuredModel = node.getModel();
 
 		if (isEmptyElement(element)) {
 			IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
@@ -243,7 +243,7 @@
 			String tagName = node.getNodeName();
 			String endTag = END_TAG_OPEN.concat(tagName).concat(TAG_CLOSE);
 
-			DOMNode lastChild = (DOMNode) node.getLastChild();
+			IDOMNode lastChild = (IDOMNode) node.getLastChild();
 			int endTagStartOffset = 0;
 			if (lastChild != null)
 				// if this node has children, insert the end tag after the
@@ -258,16 +258,16 @@
 			structuredDocument.replaceText(structuredDocument, endTagStartOffset, 0, endTag);
 		}
 
-		newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
+		newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
 		// new
 		// node
 
 		return newNode;
 	}
 
-	private DOMNode insertMissingTags(DOMNode node) {
+	private IDOMNode insertMissingTags(IDOMNode node) {
 		boolean insertMissingTags = getCleanupPreferences().getInsertMissingTags();
-		DOMNode newNode = node;
+		IDOMNode newNode = node;
 
 		if (insertMissingTags) {
 			IStructuredDocumentRegion startTagStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
@@ -297,9 +297,9 @@
 		return newNode;
 	}
 
-	private DOMNode insertRequiredAttrs(DOMNode node) {
+	private IDOMNode insertRequiredAttrs(IDOMNode node) {
 		boolean insertRequiredAttrs = getCleanupPreferences().getInsertRequiredAttrs();
-		DOMNode newNode = node;
+		IDOMNode newNode = node;
 
 		if (insertRequiredAttrs) {
 			List requiredAttrs = getRequiredAttrs(newNode);
@@ -366,8 +366,8 @@
 		return newNode;
 	}
 
-	private DOMNode insertStartTag(DOMNode node) {
-		DOMNode newNode = node;
+	private IDOMNode insertStartTag(IDOMNode node) {
+		IDOMNode newNode = node;
 
 		if (isCommentTag(node))
 			return node; // do nothing
@@ -376,17 +376,17 @@
 		String startTag = START_TAG_OPEN.concat(tagName).concat(TAG_CLOSE);
 		int startTagStartOffset = node.getStartOffset();
 
-		DOMModel structuredModel = node.getModel();
+		IDOMModel structuredModel = node.getModel();
 		IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 		structuredDocument.replaceText(structuredDocument, startTagStartOffset, 0, startTag);
-		newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
+		newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
 		// new
 		// node
 
 		return newNode;
 	}
 
-	private void insertTagClose(DOMModel structuredModel, IStructuredDocumentRegion flatNode) {
+	private void insertTagClose(IDOMModel structuredModel, IStructuredDocumentRegion flatNode) {
 		if (flatNode != null) {
 			ITextRegionList flatnodeRegions = flatNode.getRegions();
 			if (flatnodeRegions != null) {
@@ -412,14 +412,14 @@
 	 */
 	private boolean isCommentTag(Node renamedNode) {
 		boolean result = false;
-		if (renamedNode instanceof DOMElement) {
-			DOMElement element = (DOMElement) renamedNode;
+		if (renamedNode instanceof IDOMElement) {
+			IDOMElement element = (IDOMElement) renamedNode;
 			result = element.isCommentTag();
 		}
 		return result;
 	}
 
-	private boolean isEmptyElement(DOMElement element) {
+	private boolean isEmptyElement(IDOMElement element) {
 		Document document = element.getOwnerDocument();
 		if (document == null)
 			// undefined tag, return default
@@ -438,7 +438,7 @@
 		return (decl.getContentType() == CMElementDeclaration.EMPTY);
 	}
 
-	private boolean isEndTagRequired(DOMNode node) {
+	private boolean isEndTagRequired(IDOMNode node) {
 		if (node == null)
 			return false;
 		return node.isContainer();
@@ -450,7 +450,7 @@
 	 * @param renamedNode
 	 * @return
 	 */
-	private boolean isImplicitTag(DOMNode renamedNode) {
+	private boolean isImplicitTag(IDOMNode renamedNode) {
 		return renamedNode.getStartStructuredDocumentRegion() == null;
 	}
 
@@ -459,17 +459,17 @@
 	 * undefined tags are parsed separately from the start tags. So inserting
 	 * the missing start tag is useless and even harmful.
 	 */
-	private boolean isStartTagRequired(DOMNode node) {
+	private boolean isStartTagRequired(IDOMNode node) {
 		if (node == null)
 			return false;
 		return node.isContainer();
 	}
 
-	private boolean isXMLType(DOMModel structuredModel) {
+	private boolean isXMLType(IDOMModel structuredModel) {
 		boolean result = false;
 
 		if (structuredModel != null && structuredModel != null) {
-			DOMDocument document = structuredModel.getDocument();
+			IDOMDocument document = structuredModel.getDocument();
 
 			if (document != null)
 				result = document.isXMLType();
@@ -478,8 +478,8 @@
 		return result;
 	}
 
-	private DOMNode quoteAttrValue(DOMNode node) {
-		DOMNode newNode = node;
+	private IDOMNode quoteAttrValue(IDOMNode node) {
+		IDOMNode newNode = node;
 		//XMLElement element = (XMLElement) node;
 		if (isCommentTag(node))
 			return node; // do nothing
@@ -495,12 +495,12 @@
 				for (int i = 0; i < attributesLength; i++) {
 					attributes = newNode.getAttributes();
 					attributesLength = attributes.getLength();
-					DOMAttr eachAttr = (DOMAttr) attributes.item(i);
+					IDOMAttr eachAttr = (IDOMAttr) attributes.item(i);
 					//ITextRegion oldAttrValueRegion =
 					// eachAttr.getValueRegion();
 					String oldAttrValue = eachAttr.getValueRegionText();
 					if (oldAttrValue == null) {
-						DOMModel structuredModel = node.getModel();
+						IDOMModel structuredModel = node.getModel();
 						if (isXMLType(structuredModel)) {
 							String newAttrValue = "\"" + eachAttr.getNameRegionText() + "\""; //$NON-NLS-1$ //$NON-NLS-2$
 
@@ -511,7 +511,7 @@
 							else
 								// no equal region
 								structuredDocument.replaceText(structuredDocument, eachAttr.getNameRegionTextEndOffset(), 0, "=".concat(newAttrValue)); //$NON-NLS-1$
-							newNode = (DOMNode) structuredModel.getIndexedRegion(node.getStartOffset()); // save
+							newNode = (IDOMNode) structuredModel.getIndexedRegion(node.getStartOffset()); // save
 							// new
 							// node
 						}
@@ -538,10 +538,10 @@
 								int attrValueLength = oldAttrValue.length();
 								int startTagStartOffset = node.getStartOffset();
 
-								DOMModel structuredModel = node.getModel();
+								IDOMModel structuredModel = node.getModel();
 								IStructuredDocument structuredDocument = structuredModel.getStructuredDocument();
 								structuredDocument.replaceText(structuredDocument, attrValueStartOffset, attrValueLength, newAttrValue);
-								newNode = (DOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
+								newNode = (IDOMNode) structuredModel.getIndexedRegion(startTagStartOffset); // save
 								// new
 								// node
 							}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/XMLCleanupPreferencesImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/XMLCleanupPreferencesImpl.java
index 4df62c7..709951c 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/XMLCleanupPreferencesImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/cleanup/XMLCleanupPreferencesImpl.java
@@ -14,7 +14,7 @@
 
 import org.eclipse.core.runtime.Preferences;
 import org.eclipse.wst.sse.core.internal.SSECorePlugin;
-import org.eclipse.wst.xml.core.XMLPreferenceNames;
+import org.eclipse.wst.xml.core.IXMLPreferenceNames;
 
 /**
  * @deprecated renamed to StructuredCleanupPreferences
@@ -131,12 +131,12 @@
 	protected void updateOptions() {
 
 		Preferences p = getPreferences();
-		fTagNameCase = p.getInt(XMLPreferenceNames.CLEANUP_TAG_NAME_CASE);
-		fAttrNameCase = p.getInt(XMLPreferenceNames.CLEANUP_ATTR_NAME_CASE);
-		fInsertMissingTags = p.getBoolean(XMLPreferenceNames.INSERT_MISSING_TAGS);
-		fQuoteAttrValues = p.getBoolean(XMLPreferenceNames.QUOTE_ATTR_VALUES);
-		fFormatSource = p.getBoolean(XMLPreferenceNames.FORMAT_SOURCE);
-		fConvertEOLCodes = p.getBoolean(XMLPreferenceNames.CONVERT_EOL_CODES);
-		fEOLCode = p.getString(XMLPreferenceNames.CLEANUP_EOL_CODE);
+		fTagNameCase = p.getInt(IXMLPreferenceNames.CLEANUP_TAG_NAME_CASE);
+		fAttrNameCase = p.getInt(IXMLPreferenceNames.CLEANUP_ATTR_NAME_CASE);
+		fInsertMissingTags = p.getBoolean(IXMLPreferenceNames.INSERT_MISSING_TAGS);
+		fQuoteAttrValues = p.getBoolean(IXMLPreferenceNames.QUOTE_ATTR_VALUES);
+		fFormatSource = p.getBoolean(IXMLPreferenceNames.FORMAT_SOURCE);
+		fConvertEOLCodes = p.getBoolean(IXMLPreferenceNames.CONVERT_EOL_CODES);
+		fEOLCode = p.getString(IXMLPreferenceNames.CLEANUP_EOL_CODE);
 	}
 }
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/AttrImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/AttrImpl.java
index 278ba76..ee6753c 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/AttrImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/AttrImpl.java
@@ -21,9 +21,9 @@
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.core.text.ITextRegionContainer;
 import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.XMLCharEntity;
-import org.eclipse.wst.xml.core.XMLNamespace;
-import org.eclipse.wst.xml.core.document.DOMAttr;
+import org.eclipse.wst.xml.core.IXMLCharEntity;
+import org.eclipse.wst.xml.core.IXMLNamespace;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
@@ -37,7 +37,7 @@
 /**
  * AttrImpl class
  */
-public class AttrImpl extends NodeImpl implements DOMAttr {
+public class AttrImpl extends NodeImpl implements IDOMAttr {
 	private ITextRegion equalRegion = null;
 
 	private String name = null;
@@ -205,17 +205,17 @@
 		String nsAttrName = null;
 		String prefix = getPrefix();
 		if (prefix != null && prefix.length() > 0) {
-			if (prefix.equals(XMLNamespace.XMLNS)) {
+			if (prefix.equals(IXMLNamespace.XMLNS)) {
 				// fixed URI
-				return XMLNamespace.XMLNS_URI;
+				return IXMLNamespace.XMLNS_URI;
 			}
-			nsAttrName = XMLNamespace.XMLNS_PREFIX + prefix;
+			nsAttrName = IXMLNamespace.XMLNS_PREFIX + prefix;
 		}
 		else {
 			String name = getName();
-			if (name != null && name.equals(XMLNamespace.XMLNS)) {
+			if (name != null && name.equals(IXMLNamespace.XMLNS)) {
 				// fixed URI
-				return XMLNamespace.XMLNS_URI;
+				return IXMLNamespace.XMLNS_URI;
 			}
 			// does not inherit namespace from owner element
 			// if (this.ownerElement != null) return
@@ -450,7 +450,7 @@
 				buffer = new StringBuffer(length + 4);
 			if (amp > offset)
 				buffer.append(value.substring(offset, amp));
-			buffer.append(XMLCharEntity.AMP_REF);
+			buffer.append(IXMLCharEntity.AMP_REF);
 			offset = amp + 1;
 			amp = value.indexOf('&', offset);
 		}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentImpl.java
index 7666888..f6710d6 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentImpl.java
@@ -22,11 +22,11 @@
 
 import org.eclipse.wst.sse.core.modelhandler.IModelHandler;
 import org.eclipse.wst.xml.core.NameValidator;
-import org.eclipse.wst.xml.core.XMLCharEntity;
+import org.eclipse.wst.xml.core.IXMLCharEntity;
 import org.eclipse.wst.xml.core.commentelement.impl.CommentElementRegistry;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMEntityDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
@@ -56,7 +56,7 @@
 /**
  * DocumentImpl class
  */
-public class DocumentImpl extends NodeContainer implements DOMDocument {
+public class DocumentImpl extends NodeContainer implements IDOMDocument {
 
 	/**
 	 * Internal-use only class. This class was added to better able to handle
@@ -476,7 +476,7 @@
 		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) {
 			if (child.getNodeType() == DOCUMENT_TYPE_NODE && child instanceof DocumentType) {
 				return (DocumentType) child;
-			} else if (child.getNodeType() == ELEMENT_NODE && ((DOMElement) child).isCommentTag()) {
+			} else if (child.getNodeType() == ELEMENT_NODE && ((IDOMElement) child).isCommentTag()) {
 				// search DOCTYPE inside of generic comment element
 				DocumentType docType = findDoctype(child);
 				if (docType != null) {
@@ -572,17 +572,17 @@
 		}
 
 		// implicit character entities for XML
-		if (name.equals(XMLCharEntity.LT_NAME))
-			return XMLCharEntity.LT_VALUE;
-		if (name.equals(XMLCharEntity.GT_NAME))
-			return XMLCharEntity.GT_VALUE;
-		if (name.equals(XMLCharEntity.AMP_NAME))
-			return XMLCharEntity.AMP_VALUE;
-		if (name.equals(XMLCharEntity.QUOT_NAME))
-			return XMLCharEntity.QUOT_VALUE;
+		if (name.equals(IXMLCharEntity.LT_NAME))
+			return IXMLCharEntity.LT_VALUE;
+		if (name.equals(IXMLCharEntity.GT_NAME))
+			return IXMLCharEntity.GT_VALUE;
+		if (name.equals(IXMLCharEntity.AMP_NAME))
+			return IXMLCharEntity.AMP_VALUE;
+		if (name.equals(IXMLCharEntity.QUOT_NAME))
+			return IXMLCharEntity.QUOT_VALUE;
 		if (isXMLType()) {
-			if (name.equals(XMLCharEntity.APOS_NAME))
-				return XMLCharEntity.APOS_VALUE;
+			if (name.equals(IXMLCharEntity.APOS_NAME))
+				return IXMLCharEntity.APOS_VALUE;
 		}
 
 		CMDocument cm = getCMDocument();
@@ -799,7 +799,7 @@
 	/**
 	 * other nodes will be referring to this one to get the owning model
 	 */
-	public DOMModel getModel() {
+	public IDOMModel getModel() {
 		return model;
 	}
 
@@ -1018,7 +1018,7 @@
 	 *            XMLModel
 	 */
 
-	protected void setModel(DOMModel model) {
+	protected void setModel(IDOMModel model) {
 		this.model = (XMLModelImpl) model;
 	}
 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeAdapterImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeAdapterImpl.java
index 9ed7a28..aefe9b0 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeAdapterImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeAdapterImpl.java
@@ -15,8 +15,8 @@
 
 
 import org.eclipse.wst.sse.core.INodeNotifier;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.w3c.dom.DocumentType;
 
 
@@ -24,7 +24,7 @@
  */
 public class DocumentTypeAdapterImpl implements DocumentTypeAdapter {
 
-	private DOMDocument document = null;
+	private IDOMDocument document = null;
 	private DocumentType documentType = null;
 
 	/**
@@ -35,7 +35,7 @@
 
 	/**
 	 */
-	protected DocumentTypeAdapterImpl(DOMDocument document) {
+	protected DocumentTypeAdapterImpl(IDOMDocument document) {
 		this.document = document;
 		if (document != null) {
 			this.documentType = document.getDoctype();
@@ -50,7 +50,7 @@
 
 	/**
 	 */
-	protected DOMDocument getDocument() {
+	protected IDOMDocument getDocument() {
 		return this.document;
 	}
 
@@ -89,9 +89,9 @@
 	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
 		if (eventType != INodeNotifier.STRUCTURE_CHANGED)
 			return;
-		if (notifier == null || !(notifier instanceof DOMDocument))
+		if (notifier == null || !(notifier instanceof IDOMDocument))
 			return;
-		this.documentType = ((DOMDocument) notifier).getDoctype();
+		this.documentType = ((IDOMDocument) notifier).getDoctype();
 	}
 
 	/**
@@ -99,7 +99,7 @@
 	protected void notifyDocumentTypeChanged() {
 		if (this.document == null)
 			return;
-		DOMModel model = this.document.getModel();
+		IDOMModel model = this.document.getModel();
 		if (model == null)
 			return;
 		((XMLModelImpl) model).documentTypeChanged();
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeImpl.java
index ce781ba..27081ad 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/DocumentTypeImpl.java
@@ -15,7 +15,7 @@
 
 
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.DOMDocumentType;
+import org.eclipse.wst.xml.core.document.IDOMDocumentType;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.NamedNodeMap;
@@ -25,7 +25,7 @@
 /**
  * DocumentType class
  */
-public class DocumentTypeImpl extends NodeImpl implements DOMDocumentType {
+public class DocumentTypeImpl extends NodeImpl implements IDOMDocumentType {
 	private String internalSubset = null;
 
 	private String name = null;
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ElementImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ElementImpl.java
index 6737442..9a16384 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ElementImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ElementImpl.java
@@ -22,11 +22,11 @@
 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.XMLNamespace;
+import org.eclipse.wst.xml.core.IXMLNamespace;
 import org.eclipse.wst.xml.core.commentelement.CommentElementAdapter;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
@@ -46,7 +46,7 @@
 /**
  * ElementImpl class
  */
-public class ElementImpl extends NodeContainer implements DOMElement {
+public class ElementImpl extends NodeContainer implements IDOMElement {
 
 	private class Attributes implements NamedNodeMap {
 		Attributes() {
@@ -492,10 +492,10 @@
 		String nsAttrName = null;
 		String prefix = getPrefix();
 		if (prefix != null && prefix.length() > 0) {
-			nsAttrName = XMLNamespace.XMLNS_PREFIX + prefix;
+			nsAttrName = IXMLNamespace.XMLNS_PREFIX + prefix;
 		}
 		else {
-			nsAttrName = XMLNamespace.XMLNS;
+			nsAttrName = IXMLNamespace.XMLNS;
 		}
 
 		for (Node node = this; node != null; node = node.getParentNode()) {
@@ -696,7 +696,7 @@
 	protected boolean isCDATAContainer() {
 		// use BlockMaker instead of CMElementDeclaration
 		// because <style> and <script> in XHTML is not CDATA content type
-		DOMModel model = getModel();
+		IDOMModel model = getModel();
 		if (model == null)
 			return false; // error
 		IStructuredDocument structuredDocument = model.getStructuredDocument();
@@ -1283,7 +1283,7 @@
 	/**
 	 */
 	public void setCommentTag(boolean isCommentTag) {
-		DOMNode parent = (DOMNode) getParentNode();
+		IDOMNode parent = (IDOMNode) getParentNode();
 		if (parent != null && !parent.isChildEditable()) {
 			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
 		}
@@ -1298,7 +1298,7 @@
 	 *            boolean
 	 */
 	public void setEmptyTag(boolean isEmptyTag) {
-		DOMNode parent = (DOMNode) getParentNode();
+		IDOMNode parent = (IDOMNode) getParentNode();
 		if (parent != null && !parent.isChildEditable()) {
 			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
 		}
@@ -1328,7 +1328,7 @@
 	 *            boolean
 	 */
 	public void setJSPTag(boolean isJSPTag) {
-		DOMNode parent = (DOMNode) getParentNode();
+		IDOMNode parent = (IDOMNode) getParentNode();
 		if (parent != null && !parent.isChildEditable()) {
 			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
 		}
@@ -1362,7 +1362,7 @@
 	/**
 	 */
 	public void setPrefix(String prefix) throws DOMException {
-		DOMNode parent = (DOMNode) getParentNode();
+		IDOMNode parent = (IDOMNode) getParentNode();
 		if (parent != null && !parent.isChildEditable()) {
 			throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, new String());
 		}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ModelParserAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ModelParserAdapter.java
index b5b1431..706231d 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ModelParserAdapter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ModelParserAdapter.java
@@ -15,7 +15,7 @@
 
 
 import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -51,5 +51,5 @@
 
 	/**
 	 */
-	public boolean isEndTag(DOMElement element);
+	public boolean isEndTag(IDOMElement element);
 }
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeContainer.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeContainer.java
index 4749ad5..05a6c3b 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeContainer.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeContainer.java
@@ -15,7 +15,7 @@
 
 
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
 import org.w3c.dom.DocumentFragment;
@@ -491,11 +491,11 @@
 		Node node;
 		if (editable) {
 			for (node = getFirstChild(); node != null; node = node.getNextSibling()) {
-				roc.unlockNode((DOMNode) node);
+				roc.unlockNode((IDOMNode) node);
 			}
 		} else {
 			for (node = getFirstChild(); node != null; node = node.getNextSibling()) {
-				roc.lockNode((DOMNode) node);
+				roc.lockNode((IDOMNode) node);
 			}
 		}
 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeImpl.java
index 0b3170a..c70254b 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/NodeImpl.java
@@ -19,8 +19,8 @@
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.DOMImplementation;
 import org.w3c.dom.Document;
@@ -35,7 +35,7 @@
 /**
  * NodeImpl class
  */
-public abstract class NodeImpl extends AbstractNotifier implements DOMNode {
+public abstract class NodeImpl extends AbstractNotifier implements IDOMNode {
 	// define one empty nodelist, for repeated use
 	private final static NodeList EMPTY_NODE_LIST = new NodeListImpl();
 
@@ -226,7 +226,7 @@
 	/**
 	 */
 	public FactoryRegistry getFactoryRegistry() {
-		DOMModel model = getModel();
+		IDOMModel model = getModel();
 		if (model != null) {
 			FactoryRegistry reg = model.getFactoryRegistry();
 			if (reg != null)
@@ -295,7 +295,7 @@
 	/**
 	 * the default implementation can just refer to the owning document
 	 */
-	public DOMModel getModel() {
+	public IDOMModel getModel() {
 		if (this.ownerDocument == null)
 			return null;
 		return this.ownerDocument.getModel();
@@ -331,11 +331,11 @@
 	 *            int
 	 */
 	Node getNodeAt(int offset) {
-		DOMNode parent = this;
-		DOMNode child = (DOMNode) getFirstChild();
+		IDOMNode parent = this;
+		IDOMNode child = (IDOMNode) getFirstChild();
 		while (child != null) {
 			if (child.getEndOffset() <= offset) {
-				child = (DOMNode) child.getNextSibling();
+				child = (IDOMNode) child.getNextSibling();
 				continue;
 			}
 			if (child.getStartOffset() > offset) {
@@ -350,7 +350,7 @@
 
 			// dig more
 			parent = child;
-			child = (DOMNode) parent.getFirstChild();
+			child = (IDOMNode) parent.getFirstChild();
 		}
 
 		return parent;
@@ -695,10 +695,10 @@
 
 	public void setEditable(boolean editable, boolean deep) {
 		if (deep) {
-			DOMNode node = (DOMNode) getFirstChild();
+			IDOMNode node = (IDOMNode) getFirstChild();
 			while (node != null) {
 				node.setEditable(editable, deep);
-				node = (DOMNode) node.getNextSibling();
+				node = (IDOMNode) node.getNextSibling();
 			}
 		}
 		setChildEditable(editable);
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/RangeImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/RangeImpl.java
index b83366b..51a708d 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/RangeImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/RangeImpl.java
@@ -14,7 +14,7 @@
 
 
 
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.DocumentFragment;
 import org.w3c.dom.Node;
@@ -175,7 +175,7 @@
 		}
 
 		// get node offsets
-		DOMNode node1 = null;
+		IDOMNode node1 = null;
 		if (container1.hasChildNodes()) {
 			Node child = container1.getFirstChild();
 			for (int i = 0; i < offset1; i++) {
@@ -184,13 +184,13 @@
 					break;
 				child = next;
 			}
-			node1 = (DOMNode) child;
+			node1 = (IDOMNode) child;
 			offset1 = 0;
 		} else {
-			node1 = (DOMNode) container1;
+			node1 = (IDOMNode) container1;
 		}
 		int nodeOffset1 = node1.getStartOffset();
-		DOMNode node2 = null;
+		IDOMNode node2 = null;
 		if (container2.hasChildNodes()) {
 			Node child = container2.getFirstChild();
 			for (int i = 0; i < offset2; i++) {
@@ -199,10 +199,10 @@
 					break;
 				child = next;
 			}
-			node2 = (DOMNode) child;
+			node2 = (IDOMNode) child;
 			offset2 = 0;
 		} else {
-			node2 = (DOMNode) container1;
+			node2 = (IDOMNode) container1;
 		}
 		int nodeOffset2 = node2.getStartOffset();
 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ReadOnlyController.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ReadOnlyController.java
index 4f12243..56f8152 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ReadOnlyController.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/ReadOnlyController.java
@@ -18,9 +18,9 @@
 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.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMNode;
-import org.eclipse.wst.xml.core.document.DOMText;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMNode;
+import org.eclipse.wst.xml.core.document.IDOMText;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.w3c.dom.Node;
 
@@ -79,18 +79,18 @@
 		super();
 	}
 
-	private Span getDataSpan(DOMNode node) {
+	private Span getDataSpan(IDOMNode node) {
 		switch (node.getNodeType()) {
 			case Node.ELEMENT_NODE :
-				return getDataSpanForElement((DOMElement) node);
+				return getDataSpanForElement((IDOMElement) node);
 			case Node.TEXT_NODE :
-				return getDataSpanForText((DOMText) node);
+				return getDataSpanForText((IDOMText) node);
 			default :
 				return new Span(0, -1);
 		}
 	}
 
-	private Span getDataSpanForElement(DOMElement node) {
+	private Span getDataSpanForElement(IDOMElement node) {
 		IStructuredDocumentRegion docRegion = node.getStartStructuredDocumentRegion();
 		if (docRegion == null) {
 			return new Span(0, -1);
@@ -133,7 +133,7 @@
 		}
 	}
 
-	private Span getDataSpanForText(DOMText node) {
+	private Span getDataSpanForText(IDOMText node) {
 		IStructuredDocumentRegion docRegion = ((NodeImpl) node).getStructuredDocumentRegion();
 		if (docRegion == null) {
 			return new Span(0, -1);
@@ -149,7 +149,7 @@
 	 * </child> </node> </parent> x###################? ?#######x (? :
 	 * editable if node.isEditable() == true)
 	 */
-	void lockBoth(DOMNode node) {
+	void lockBoth(IDOMNode node) {
 		if (node == null) {
 			return;
 		}
@@ -172,7 +172,7 @@
 		}
 	}
 
-	void lockData(DOMNode node) {
+	void lockData(IDOMNode node) {
 		if (node == null) {
 			return;
 		}
@@ -186,7 +186,7 @@
 	/**
 	 * lock itself and all descendants
 	 */
-	void lockDeep(DOMNode node) {
+	void lockDeep(IDOMNode node) {
 		if (node == null) {
 			return;
 		}
@@ -195,7 +195,7 @@
 		int length = node.getEndOffset() - offset;
 
 		boolean canInsert = true;
-		DOMNode parent = (DOMNode) node.getParentNode();
+		IDOMNode parent = (IDOMNode) node.getParentNode();
 		if (parent != null && !parent.isChildEditable()) {
 			canInsert = false;
 		}
@@ -209,7 +209,7 @@
 	 * case 2:<parent><node attr="value"> <child></child> </node> </parent>
 	 * x######x x#? ?#######x (? : editable if node.isEditable() == true)
 	 */
-	void lockNode(DOMNode node) {
+	void lockNode(IDOMNode node) {
 		if (node == null) {
 			return;
 		}
@@ -255,7 +255,7 @@
 		doc.clearReadOnly(offset, length);
 	}
 
-	void unlockBoth(DOMNode node) {
+	void unlockBoth(IDOMNode node) {
 		if (node == null) {
 			return;
 		}
@@ -273,7 +273,7 @@
 		}
 	}
 
-	void unlockData(DOMNode node) {
+	void unlockData(IDOMNode node) {
 		if (node == null) {
 			return;
 		}
@@ -284,7 +284,7 @@
 		}
 	}
 
-	void unlockDeep(DOMNode node) {
+	void unlockDeep(IDOMNode node) {
 		if (node == null) {
 			return;
 		}
@@ -295,7 +295,7 @@
 		unlock(node.getStructuredDocument(), offset, length);
 	}
 
-	void unlockNode(DOMNode node) {
+	void unlockNode(IDOMNode node) {
 		if (node == null) {
 			return;
 		}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/SourceValidator.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/SourceValidator.java
index a94a7ce..1f5648d 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/SourceValidator.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/SourceValidator.java
@@ -12,8 +12,8 @@
  *******************************************************************************/
 package org.eclipse.wst.xml.core.internal.document;
 
-import org.eclipse.wst.xml.core.XMLCharEntity;
-import org.eclipse.wst.xml.core.document.DOMDocument;
+import org.eclipse.wst.xml.core.IXMLCharEntity;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
 import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Node;
@@ -51,7 +51,7 @@
 		boolean acceptJSPEnd = true;
 		String endTagName = null;
 		if (this.node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			DOMDocument document = (DOMDocument) this.node.getOwnerDocument();
+			IDOMDocument document = (IDOMDocument) this.node.getOwnerDocument();
 			if (document != null && document.isJSPType())
 				acceptTag = true;
 			if (acceptTag) {
@@ -84,11 +84,11 @@
 				acceptAmpersand = true;
 			}
 		} else {
-			DOMDocument document = null;
+			IDOMDocument document = null;
 			if (this.node.getNodeType() == Node.DOCUMENT_NODE) {
-				document = (DOMDocument) this.node;
+				document = (IDOMDocument) this.node;
 			} else {
-				document = (DOMDocument) this.node.getOwnerDocument();
+				document = (IDOMDocument) this.node.getOwnerDocument();
 			}
 			if (document != null && document.isJSPType())
 				acceptTag = true;
@@ -115,12 +115,12 @@
 						}
 						// invalid JSP tag
 					}
-					ref = XMLCharEntity.LT_REF;
+					ref = IXMLCharEntity.LT_REF;
 					break;
 				case '>' :
 					if (acceptClose)
 						continue;
-					ref = XMLCharEntity.GT_REF;
+					ref = IXMLCharEntity.GT_REF;
 					break;
 				case '&' :
 					if (acceptAmpersand)
@@ -132,12 +132,12 @@
 							continue;
 						}
 					}
-					ref = XMLCharEntity.AMP_REF;
+					ref = IXMLCharEntity.AMP_REF;
 					break;
 				case '"' :
 					if (acceptQuote)
 						continue;
-					ref = XMLCharEntity.QUOT_REF;
+					ref = IXMLCharEntity.QUOT_REF;
 					break;
 				case '%' :
 					if (acceptJSPEnd)
@@ -145,7 +145,7 @@
 					if (source.charAt(i + 1) != '>')
 						continue;
 					i++;
-					ref = XMLCharEntity.GT_REF;
+					ref = IXMLCharEntity.GT_REF;
 					break;
 				default :
 					continue;
@@ -250,7 +250,7 @@
 		boolean acceptEntityRef = true;
 		String endTagName = null;
 		if (this.node.getNodeType() == Node.ATTRIBUTE_NODE) {
-			DOMDocument document = (DOMDocument) this.node.getOwnerDocument();
+			IDOMDocument document = (IDOMDocument) this.node.getOwnerDocument();
 			if (document != null && document.isJSPType())
 				acceptTag = true;
 			if (acceptTag) {
@@ -278,11 +278,11 @@
 				acceptClose = true;
 			}
 		} else {
-			DOMDocument document = null;
+			IDOMDocument document = null;
 			if (this.node.getNodeType() == Node.DOCUMENT_NODE) {
-				document = (DOMDocument) this.node;
+				document = (IDOMDocument) this.node;
 			} else {
-				document = (DOMDocument) this.node.getOwnerDocument();
+				document = (IDOMDocument) this.node.getOwnerDocument();
 			}
 			if (document != null && document.isJSPType())
 				acceptTag = true;
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionChecker.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionChecker.java
index 7095747..bbb6694 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionChecker.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/StructuredDocumentRegionChecker.java
@@ -18,7 +18,7 @@
 import java.io.Writer;
 
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.w3c.dom.Node;
 
 
@@ -52,7 +52,7 @@
 
 	/**
 	 */
-	public void checkModel(DOMModel model) {
+	public void checkModel(IDOMModel model) {
 		checkChildNodes(model.getDocument());
 	}
 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TagAdapter.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TagAdapter.java
index 5556c2b..bff1288 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TagAdapter.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TagAdapter.java
@@ -15,7 +15,7 @@
 
 
 import org.eclipse.wst.sse.core.INodeAdapter;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 
 /**
  */
@@ -23,11 +23,11 @@
 
 	/**
 	 */
-	String getEndTag(DOMElement element);
+	String getEndTag(IDOMElement element);
 
 	/**
 	 */
-	String getStartTag(DOMElement element);
+	String getStartTag(IDOMElement element);
 
 	/**
 	 */
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TextImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TextImpl.java
index 0021321..30b0f4e 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TextImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/TextImpl.java
@@ -17,8 +17,8 @@
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.xml.core.document.ISourceGenerator;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMText;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMText;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.w3c.dom.DOMException;
 import org.w3c.dom.Document;
@@ -29,7 +29,7 @@
 /**
  * TextImpl class
  */
-public class TextImpl extends CharacterDataImpl implements DOMText {
+public class TextImpl extends CharacterDataImpl implements IDOMText {
 
 	/**
 	 */
@@ -352,7 +352,7 @@
 	private String getSource(String data) {
 		if (data == null)
 			return null;
-		DOMModel model = getModel();
+		IDOMModel model = getModel();
 		if (model == null)
 			return null; // error
 		ISourceGenerator generator = model.getGenerator();
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLGeneratorImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLGeneratorImpl.java
index 614f763..f998b15 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLGeneratorImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLGeneratorImpl.java
@@ -14,13 +14,13 @@
 
 
 
-import org.eclipse.wst.xml.core.XMLCharEntity;
+import org.eclipse.wst.xml.core.IXMLCharEntity;
 import org.eclipse.wst.xml.core.commentelement.impl.CommentElementRegistry;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.document.ISourceGenerator;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
 import org.w3c.dom.Attr;
@@ -106,7 +106,7 @@
 				return (attrName + JSPTag.TAG_CLOSE);
 			}
 		}
-		if (((DOMAttr) attr).isGlobalAttr() && CMNodeUtil.getAttributeDeclaration(attr) != null) {
+		if (((IDOMAttr) attr).isGlobalAttr() && CMNodeUtil.getAttributeDeclaration(attr) != null) {
 			switch (getAttrNameCase(attr)) {
 				case DocumentTypeAdapter.UPPER_CASE :
 					attrName = attrName.toUpperCase();
@@ -135,7 +135,7 @@
 			return null;
 		String name = attr.getName();
 		SourceValidator validator = new SourceValidator(attr);
-		String value = validator.convertSource(((DOMNode) attr).getValueSource());
+		String value = validator.convertSource(((IDOMNode) attr).getValueSource());
 		if (value == null || value.length() == 0) {
 			if (name != null && name.startsWith(JSPTag.TAG_OPEN))
 				return null;
@@ -495,7 +495,7 @@
 
 		if (impl.isJSPTag()) {
 			// check if JSP content type and JSP Document
-			DOMDocument document = (DOMDocument) element.getOwnerDocument();
+			IDOMDocument document = (IDOMDocument) element.getOwnerDocument();
 			if (document != null && document.isJSPType()) {
 				if (document.isJSPDocument() && !impl.hasChildNodes()) {
 					impl.setJSPTag(false);
@@ -571,7 +571,7 @@
 	public String generateTagName(Element element) {
 		if (element == null)
 			return null;
-		DOMElement xe = (DOMElement) element;
+		IDOMElement xe = (IDOMElement) element;
 		String tagName = element.getTagName();
 		if (tagName == null)
 			return null;
@@ -693,13 +693,13 @@
 	private String getCharName(char c) {
 		switch (c) {
 			case '<' :
-				return XMLCharEntity.LT_NAME;
+				return IXMLCharEntity.LT_NAME;
 			case '>' :
-				return XMLCharEntity.GT_NAME;
+				return IXMLCharEntity.GT_NAME;
 			case '&' :
-				return XMLCharEntity.AMP_NAME;
+				return IXMLCharEntity.AMP_NAME;
 			case '"' :
-				return XMLCharEntity.QUOT_NAME;
+				return IXMLCharEntity.QUOT_NAME;
 		}
 		return null;
 	}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelImpl.java
index 37b57ba..e83f87d 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelImpl.java
@@ -25,10 +25,10 @@
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.DOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
 import org.eclipse.wst.xml.core.document.ISourceGenerator;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.Logger;
 import org.w3c.dom.Attr;
 import org.w3c.dom.DOMException;
@@ -42,7 +42,7 @@
 /**
  * XMLModelImpl class
  */
-public class XMLModelImpl extends AbstractStructuredModel implements IStructuredDocumentListener, DOMModel, DOMImplementation {
+public class XMLModelImpl extends AbstractStructuredModel implements IStructuredDocumentListener, IDOMModel, DOMImplementation {
 	private static String TRACE_PARSER_MANAGEMENT_EXCEPTION = "parserManagement"; //$NON-NLS-1$
 	private Object active = null;
 	private DocumentImpl document = null;
@@ -326,7 +326,7 @@
 	 * 
 	 * @return XMLDocument
 	 */
-	public DOMDocument getDocument() {
+	public IDOMDocument getDocument() {
 		return this.document;
 	}
 
@@ -347,14 +347,14 @@
 		if (this.document == null)
 			return null;
 		// search in document children
-		DOMNode parent = null;
+		IDOMNode parent = null;
 		int length = this.document.getEndOffset();
 		if (offset * 2 < length) {
 			// search from the first
-			DOMNode child = (DOMNode) this.document.getFirstChild();
+			IDOMNode child = (IDOMNode) this.document.getFirstChild();
 			while (child != null) {
 				if (child.getEndOffset() <= offset) {
-					child = (DOMNode) child.getNextSibling();
+					child = (IDOMNode) child.getNextSibling();
 					continue;
 				}
 				if (child.getStartOffset() > offset) {
@@ -372,14 +372,14 @@
 				}
 				// dig more
 				parent = child;
-				child = (DOMNode) parent.getFirstChild();
+				child = (IDOMNode) parent.getFirstChild();
 			}
 		} else {
 			// search from the last
-			DOMNode child = (DOMNode) this.document.getLastChild();
+			IDOMNode child = (IDOMNode) this.document.getLastChild();
 			while (child != null) {
 				if (child.getStartOffset() > offset) {
-					child = (DOMNode) child.getPreviousSibling();
+					child = (IDOMNode) child.getPreviousSibling();
 					continue;
 				}
 				if (child.getEndOffset() <= offset) {
@@ -397,7 +397,7 @@
 				}
 				// dig more
 				parent = child;
-				child = (DOMNode) parent.getLastChild();
+				child = (IDOMNode) parent.getLastChild();
 			}
 		}
 		return parent;
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelNotifierImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelNotifierImpl.java
index b654d4c..4ee3dc1 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelNotifierImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelNotifierImpl.java
@@ -17,7 +17,7 @@
 
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.Logger;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
@@ -95,7 +95,7 @@
 			attr = newAttr;
 			newValue = newAttr.getValue();
 		}
-		DOMNode notifier = (DOMNode) element;
+		IDOMNode notifier = (IDOMNode) element;
 		int offset = notifier.getStartOffset();
 		notify(notifier, INodeNotifier.CHANGE, attr, oldValue, newValue, offset);
 		propertyChanged(notifier);
@@ -149,7 +149,7 @@
 	public void childReplaced(Node parentNode, Node newChild, Node oldChild) {
 		if (parentNode == null)
 			return;
-		DOMNode notifier = (DOMNode) parentNode;
+		IDOMNode notifier = (IDOMNode) parentNode;
 		int type = INodeNotifier.CHANGE;
 		if (newChild == null)
 			type = INodeNotifier.REMOVE;
@@ -163,7 +163,7 @@
 	public void editableChanged(Node node) {
 		if (node == null)
 			return;
-		DOMNode notifier = (DOMNode) node;
+		IDOMNode notifier = (IDOMNode) node;
 		int offset = notifier.getStartOffset();
 		notify(notifier, INodeNotifier.CHANGE, null, null, null, offset);
 		propertyChanged(notifier);
@@ -192,7 +192,7 @@
 	public void endTagChanged(Element element) {
 		if (element == null)
 			return;
-		DOMNode notifier = (DOMNode) element;
+		IDOMNode notifier = (IDOMNode) element;
 		int offset = notifier.getStartOffset();
 		notify(notifier, INodeNotifier.CHANGE, null, null, null, offset);
 		propertyChanged(element);
@@ -400,7 +400,7 @@
 	public void startTagChanged(Element element) {
 		if (element == null)
 			return;
-		DOMNode notifier = (DOMNode) element;
+		IDOMNode notifier = (IDOMNode) element;
 		int offset = notifier.getStartOffset();
 		notify(notifier, INodeNotifier.CHANGE, null, null, null, offset);
 		propertyChanged(element);
@@ -435,10 +435,10 @@
 	public void valueChanged(Node node) {
 		if (node == null)
 			return;
-		DOMNode notifier = null;
+		IDOMNode notifier = null;
 		if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
 			Attr attr = (Attr) node;
-			notifier = (DOMNode) attr.getOwnerElement();
+			notifier = (IDOMNode) attr.getOwnerElement();
 			// TODO_dmw: experimental: changed 06/29/2004 to send "strucuture
 			// changed" even for attribute value changes
 			// there are pros and cons to considering attribute value
@@ -452,12 +452,12 @@
 		} else {
 			// note: we do not send structured changed event for content
 			// changed
-			notifier = (DOMNode) node;
+			notifier = (IDOMNode) node;
 			String value = node.getNodeValue();
 			int offset = notifier.getStartOffset();
 			notify(notifier, INodeNotifier.CHANGE, null, null, value, offset);
 			if (node.getNodeType() != Node.ELEMENT_NODE) {
-				DOMNode parent = (DOMNode) node.getParentNode();
+				IDOMNode parent = (IDOMNode) node.getParentNode();
 				if (parent != null) {
 					notify(parent, INodeNotifier.CONTENT_CHANGED, node, null, value, offset);
 				}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelParser.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelParser.java
index d614099..793b3d0 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelParser.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelParser.java
@@ -24,9 +24,9 @@
 import org.eclipse.wst.sse.core.text.ITextRegionList;
 import org.eclipse.wst.xml.core.commentelement.impl.CommentElementConfiguration;
 import org.eclipse.wst.xml.core.commentelement.impl.CommentElementRegistry;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.w3c.dom.Attr;
 import org.w3c.dom.DOMException;
@@ -862,7 +862,7 @@
 
 	/**
 	 */
-	protected final DOMDocument getDocument() {
+	protected final IDOMDocument getDocument() {
 		return this.document;
 	}
 
@@ -877,7 +877,7 @@
 
 	/**
 	 */
-	protected final DOMModel getModel() {
+	protected final IDOMModel getModel() {
 		return this.model;
 	}
 
@@ -1634,7 +1634,7 @@
 
 	/**
 	 */
-	protected boolean isEndTag(DOMElement element) {
+	protected boolean isEndTag(IDOMElement element) {
 		if (this.adapter != null) {
 			return this.adapter.isEndTag(element);
 		}
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelUpdater.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelUpdater.java
index 5aa8621..af5b67d 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelUpdater.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/document/XMLModelUpdater.java
@@ -22,9 +22,9 @@
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegionList;
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.core.text.ITextRegionList;
-import org.eclipse.wst.xml.core.document.DOMElement;
+import org.eclipse.wst.xml.core.document.IDOMElement;
 import org.eclipse.wst.xml.core.document.ISourceGenerator;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
@@ -532,7 +532,7 @@
 		// make sure previous tag is closed
 		Node prev = text.getPreviousSibling();
 		if (prev != null) {
-			String preTag = getCloseTag((DOMNode) prev);
+			String preTag = getCloseTag((IDOMNode) prev);
 			if (preTag != null && preTag.length() > 0) {
 				offset += preTag.length();
 				source = preTag + source;
@@ -621,7 +621,7 @@
 
 	/**
 	 */
-	private String getAttrValueClose(DOMElement element) {
+	private String getAttrValueClose(IDOMElement element) {
 		if (element == null)
 			return null;
 
@@ -673,7 +673,7 @@
 	/**
 	 * Gather close tags recursively.
 	 */
-	private String getCloseTag(DOMNode node) {
+	private String getCloseTag(IDOMNode node) {
 		if (node == null || node.isClosed())
 			return null;
 
@@ -691,7 +691,7 @@
 		int offset = element.getEndOffset();
 		StringBuffer buffer = new StringBuffer();
 
-		DOMNode lastChild = (DOMNode) element.getLastChild();
+		IDOMNode lastChild = (IDOMNode) element.getLastChild();
 		if (lastChild == null) {
 			if (!element.isStartTagClosed()) {
 				if (element.preferEmptyTag())
@@ -732,7 +732,7 @@
 
 	/**
 	 */
-	private String getStartCloseTag(DOMElement element) {
+	private String getStartCloseTag(IDOMElement element) {
 		if (element == null || element.isStartTagClosed())
 			return null;
 
@@ -1397,7 +1397,7 @@
 					start = next.getStartOffset();
 					end = start;
 					if (parentNode.getNodeType() == Node.ELEMENT_NODE) {
-						preTag = getStartCloseTag((DOMElement) parentNode);
+						preTag = getStartCloseTag((IDOMElement) parentNode);
 					}
 				}
 				else {
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/modelquery/ModelQueryAdapterFactoryForXML.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/modelquery/ModelQueryAdapterFactoryForXML.java
index 603e4e9..68befab 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/modelquery/ModelQueryAdapterFactoryForXML.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/modelquery/ModelQueryAdapterFactoryForXML.java
@@ -26,7 +26,7 @@
 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.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.CMDocumentManager;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.contentmodel.util.CMDocumentCache;
@@ -84,8 +84,8 @@
 		if (org.eclipse.wst.sse.core.util.Debug.displayInfo)
 			System.out.println("-----------------------ModelQueryAdapterFactoryForXML.createAdapter" + target); //$NON-NLS-1$
 		if (modelQueryAdapterImpl == null) {
-			if (target instanceof DOMNode) {
-				DOMNode xmlNode = (DOMNode) target;
+			if (target instanceof IDOMNode) {
+				IDOMNode xmlNode = (IDOMNode) target;
 				IStructuredModel model = stateNotifier = xmlNode.getModel();
 				stateNotifier.addModelStateListener(this);
 				String baseLocation = null;
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/modelquery/ModelQueryUtil.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/modelquery/ModelQueryUtil.java
index d8c126b..cde3086 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/modelquery/ModelQueryUtil.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/modelquery/ModelQueryUtil.java
@@ -16,7 +16,7 @@
 
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.contentmodel.util.CMDocumentCache;
 import org.eclipse.wst.xml.core.internal.ssemodelquery.ModelQueryAdapter;
@@ -46,9 +46,9 @@
 	}
 
 	public static ModelQuery getModelQuery(IStructuredModel model) {
-		if ((!(model instanceof DOMModel)) || model == null)
+		if ((!(model instanceof IDOMModel)) || model == null)
 			return null;
-		return getModelQuery(((DOMModel) model).getDocument());
+		return getModelQuery(((IDOMModel) model).getDocument());
 	}
 
 	public static ModelQueryAdapter getModelQueryAdapter(Document node) {
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterImpl.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterImpl.java
index d3b4836..fbc0da9 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterImpl.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/propagate/PropagatingAdapterImpl.java
@@ -21,7 +21,7 @@
 import org.eclipse.wst.sse.core.IAdapterFactory;
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Document;
 import org.w3c.dom.DocumentType;
 import org.w3c.dom.Element;
@@ -43,7 +43,7 @@
 		super();
 	}
 
-	protected void adaptOnCreate(DOMNode node) {
+	protected void adaptOnCreate(IDOMNode node) {
 		// give each of the factories a chance to adapt the node, if it
 		// chooses to
 		if (adaptOnCreateFactories != null) {
@@ -97,8 +97,8 @@
 	 */
 	public void initializeForFactory(IAdapterFactory factory, INodeNotifier node) {
 		// we're DOM specific implimentation
-		if (node instanceof DOMNode) {
-			DOMNode xmlNode = (DOMNode) node;
+		if (node instanceof IDOMNode) {
+			IDOMNode xmlNode = (IDOMNode) node;
 			propagateTo(xmlNode);
 		}
 	}
@@ -124,7 +124,7 @@
 		// if anyone was depending on
 		// this being proagate to attributes.
 		if (eventType == INodeNotifier.ADD && isInteresting(newValue)) {
-			propagateTo((DOMNode) newValue);
+			propagateTo((IDOMNode) newValue);
 		}
 		//	else if (eventType == INodeNotifier.CONTENT_CHANGED) {
 		//		notifier.getAdapterFor(PropagatingAdapterClass);
@@ -139,16 +139,16 @@
 		//	}
 	}
 
-	protected void propagateTo(DOMNode node) {
+	protected void propagateTo(IDOMNode node) {
 		// get adapter to ensure its created
 		node.getAdapterFor(PropagatingAdapterClass);
 		adaptOnCreate(node);
 		propagateToChildren(node);
 	}
 
-	protected void propagateToChildren(DOMNode parent) {
+	protected void propagateToChildren(IDOMNode parent) {
 		for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-			propagateTo((DOMNode) child);
+			propagateTo((IDOMNode) child);
 		}
 	}
 
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/util/DebugDocument.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/util/DebugDocument.java
index 0f8d1ad..785a005 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/util/DebugDocument.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/internal/util/DebugDocument.java
@@ -15,7 +15,7 @@
 import java.io.PrintStream;
 
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
@@ -75,8 +75,8 @@
 	public static void printNode(Node topNode, PrintStream out) {
 		// print out this node
 		//
-		IStructuredDocumentRegion firstStructuredDocumentRegion = ((DOMNode) topNode).getFirstStructuredDocumentRegion();
-		IStructuredDocumentRegion lastStructuredDocumentRegion = ((DOMNode) topNode).getLastStructuredDocumentRegion();
+		IStructuredDocumentRegion firstStructuredDocumentRegion = ((IDOMNode) topNode).getFirstStructuredDocumentRegion();
+		IStructuredDocumentRegion lastStructuredDocumentRegion = ((IDOMNode) topNode).getLastStructuredDocumentRegion();
 		if ((firstStructuredDocumentRegion == null) || (lastStructuredDocumentRegion == null)) {
 			// no text to output
 		} else {
diff --git a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/XMLModelLoader.java b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/XMLModelLoader.java
index 70f3e2d..ce80641 100644
--- a/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/XMLModelLoader.java
+++ b/bundles/org.eclipse.wst.xml.core/src/org/eclipse/wst/xml/core/modelhandler/XMLModelLoader.java
@@ -23,7 +23,7 @@
 import org.eclipse.wst.sse.core.document.IDocumentLoader;
 import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
 import org.eclipse.wst.sse.core.util.Debug;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.encoding.XMLDocumentLoader;
 import org.eclipse.wst.xml.core.internal.DebugAdapterFactory;
 import org.eclipse.wst.xml.core.internal.document.XMLModelImpl;
@@ -74,7 +74,7 @@
 
 	protected void preLoadAdapt(IStructuredModel structuredModel) {
 		super.preLoadAdapt(structuredModel);
-		DOMModel domModel = (DOMModel) structuredModel;
+		IDOMModel domModel = (IDOMModel) structuredModel;
 		// if there is a model in the adapter, this will adapt it to
 		// first node. After that the PropagatingAdater spreads over the
 		// children being
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
index d334426..3defabc 100644
--- 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
@@ -49,7 +49,7 @@
 import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
 import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
 import org.eclipse.wst.sse.ui.internal.StructuredTextEditor;
-import org.eclipse.wst.xml.core.XMLPreferenceNames;
+import org.eclipse.wst.xml.core.IXMLPreferenceNames;
 import org.eclipse.wst.xml.ui.StructuredTextEditorXML;
 import org.eclipse.wst.xml.ui.internal.Logger;
 import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
@@ -722,7 +722,7 @@
 
 	protected void saveLastActivePageIndex(int newPageIndex) {
 		// save the last active page index to preference manager
-		getPreferenceStore().setValue(XMLPreferenceNames.LAST_ACTIVE_PAGE, newPageIndex);
+		getPreferenceStore().setValue(IXMLPreferenceNames.LAST_ACTIVE_PAGE, newPageIndex);
 	}
 
 	/**
@@ -730,7 +730,7 @@
 	 */
 	protected void setActivePage() {
 		// retrieve the last active page index from preference manager
-		int activePageIndex = getPreferenceStore().getInt(XMLPreferenceNames.LAST_ACTIVE_PAGE);
+		int activePageIndex = getPreferenceStore().getInt(IXMLPreferenceNames.LAST_ACTIVE_PAGE);
 
 		// We check this range since someone could hand edit the XML
 		// preference file to an invalid value ... which I know from
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
index a1e1c64..bf3ca98 100644
--- 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
@@ -19,8 +19,8 @@
 
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.util.DOMWriter;
 import org.w3c.dom.Attr;
 import org.w3c.dom.CharacterData;
@@ -365,9 +365,9 @@
 	protected String getValueForTextContent(List list) {
 		String result = null;
 		if (list.size() > 0) {
-			DOMNode first = (DOMNode) list.get(0);
-			DOMNode last = (DOMNode) list.get(list.size() - 1);
-			DOMModel model = first.getModel();
+			IDOMNode first = (IDOMNode) list.get(0);
+			IDOMNode last = (IDOMNode) list.get(list.size() - 1);
+			IDOMModel model = first.getModel();
 			int start = first.getStartOffset();
 			int end = last.getEndOffset();
 			try {
@@ -392,8 +392,8 @@
 		//String oldValue = getValueForTextContent();
 		// we worry about preserving trimmed text
 		if (list.size() > 0) {
-			DOMNode first = (DOMNode) list.get(0);
-			DOMNode last = (DOMNode) list.get(list.size() - 1);
+			IDOMNode first = (IDOMNode) list.get(0);
+			IDOMNode last = (IDOMNode) list.get(list.size() - 1);
 			int start = first.getStartOffset();
 			int end = last.getEndOffset();
 			first.getModel().getStructuredDocument().replaceText(this, start, end - start, value);
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
index 2340cb9..cbbf7d7 100644
--- 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
@@ -28,7 +28,7 @@
 import org.eclipse.ui.texteditor.ITextEditorActionConstants;
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.ui.internal.StructuredTextEditor;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.InferredGrammarBuildingCMDocumentLoader;
@@ -302,7 +302,7 @@
 		public void run() {
 			if (model != null) {
 				ModelQuery modelQuery = ModelQueryUtil.getModelQuery(model);
-				Document document = ((DOMModel) model).getDocument();
+				Document document = ((IDOMModel) model).getDocument();
 				if (modelQuery != null && modelQuery.getCMDocumentManager() != null) {
 					modelQuery.getCMDocumentManager().getCMDocumentCache().clear();
 					// TODO... need to figure out how to access the
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
index ca7f2e7..eafd467 100644
--- 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
@@ -30,7 +30,7 @@
 import org.eclipse.wst.sse.ui.internal.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.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
 import org.eclipse.wst.xml.internal.ui.IDesignViewer;
@@ -306,11 +306,11 @@
 		fModel = model;
 		Document domDoc = null;
 
-		if (fModel != null && fModel instanceof DOMModel) {
+		if (fModel != null && fModel instanceof IDOMModel) {
 			model.addModelStateListener(fInternalModelStateListener);
 			ModelQuery mq = ModelQueryUtil.getModelQuery(model);
 			treeExtension.setModelQuery(mq);
-			domDoc = ((DOMModel) fModel).getDocument();
+			domDoc = ((IDOMModel) fModel).getDocument();
 			setInput(domDoc);
 		}
 	}
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
index 54b27e6..3ec04a2 100644
--- 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
@@ -19,7 +19,7 @@
 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.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.CMDocumentManager;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelqueryimpl.CMDocumentLoader;
@@ -148,7 +148,7 @@
 	protected int timerTaskCount = 0;
 
 	public DOMObserver(IStructuredModel model) {
-		this.document = (model instanceof DOMModel) ? ((DOMModel) model).getDocument() : null;
+		this.document = (model instanceof IDOMModel) ? ((IDOMModel) model).getDocument() : null;
 
 		if (document != null) {
 			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(document);
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
index 51a9abf..d530994 100644
--- 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
@@ -22,7 +22,7 @@
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.wst.sse.core.IStructuredModel;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
@@ -144,7 +144,7 @@
 		}
 
 		if (selection.size() == 0) {
-			Document document = ((DOMModel) model).getDocument();
+			Document document = ((IDOMModel) model).getDocument();
 			contributeAddDocumentChildActions(menu, document, ic, vc);
 			contributeEditGrammarInformationActions(menu, document);
 		}
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
index 8a11a3a..0810bef 100644
--- 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
@@ -19,8 +19,8 @@
 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.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMDocumentType;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMDocumentType;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.eclipse.wst.xml.ui.dialogs.EditDoctypeDialog;
 import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
@@ -66,8 +66,8 @@
 	protected DocumentType createDoctype(EditDoctypeDialog dialog, Document document) {
 		DocumentType result = null;
 		if (document instanceof DocumentImpl) {
-			DOMDocument documentImpl = (DOMDocument) document;
-			DOMDocumentType doctypeImpl = (DOMDocumentType) documentImpl.createDoctype(dialog.getName());
+			IDOMDocument documentImpl = (IDOMDocument) document;
+			IDOMDocumentType doctypeImpl = (IDOMDocumentType) documentImpl.createDoctype(dialog.getName());
 			doctypeImpl.setPublicId(dialog.getPublicId());
 			doctypeImpl.setSystemId(dialog.getSystemId());
 			result = doctypeImpl;
@@ -168,8 +168,8 @@
 
 
 	protected void updateDoctype(EditDoctypeDialog dialog, DocumentType doctype) {
-		if (doctype instanceof DOMDocumentType) {
-			DOMDocumentType doctypeImpl = (DOMDocumentType) doctype;
+		if (doctype instanceof IDOMDocumentType) {
+			IDOMDocumentType doctypeImpl = (IDOMDocumentType) doctype;
 			if (doctypeImpl.getName().equals(dialog.getName())) {
 				doctypeImpl.setPublicId(dialog.getPublicId());
 				doctypeImpl.setSystemId(dialog.getSystemId());
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
index 15b6f35..9ee7886 100644
--- 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
@@ -16,8 +16,8 @@
 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.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.ui.dialogs.EditElementDialog;
 import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
 import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
@@ -82,9 +82,9 @@
 			if (element != null) {
 				// here we need to do a rename... which seems to be quite hard
 				// to do :-(
-				if (element instanceof DOMElement) {
-					DOMElement elementImpl = (DOMElement) element;
-					DOMModel model = elementImpl.getModel();
+				if (element instanceof IDOMElement) {
+					IDOMElement elementImpl = (IDOMElement) element;
+					IDOMModel model = elementImpl.getModel();
 					String oldName = elementImpl.getNodeName();
 					String newName = dialog.getElementName();
 					setStructuredDocumentRegionElementName(model, elementImpl.getStartStructuredDocumentRegion(), oldName, newName);
@@ -103,7 +103,7 @@
 		manager.endNodeAction(this);
 	}
 
-	protected void setStructuredDocumentRegionElementName(DOMModel model, IStructuredDocumentRegion flatNode, String oldName, String newName) {
+	protected void setStructuredDocumentRegionElementName(IDOMModel model, IStructuredDocumentRegion flatNode, String oldName, String newName) {
 		if (flatNode != null) {
 			String string = flatNode.getText();
 			int index = string.indexOf(oldName);
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
index 37048b7..8392597 100644
--- 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
@@ -41,10 +41,10 @@
 import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
 import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
 import org.eclipse.wst.xml.core.contenttype.ContentTypeIdForXML;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
@@ -120,7 +120,7 @@
 	}
 
 	protected void addAttributeNameProposals(ContentAssistRequest contentAssistRequest) {
-		DOMNode node = (DOMNode) contentAssistRequest.getNode();
+		IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
 		IStructuredDocumentRegion sdRegion = contentAssistRequest.getDocumentRegion();
 		// retrieve the list of attributes
 		CMElementDeclaration elementDecl = getCMElementDeclaration(node);
@@ -210,7 +210,7 @@
 	}
 
 	protected void addAttributeValueProposals(ContentAssistRequest contentAssistRequest) {
-		DOMNode node = (DOMNode) contentAssistRequest.getNode();
+		IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
 
 		// Find the attribute region and name for which this position should
 		// have a value proposed
@@ -393,7 +393,7 @@
 			contentAssistRequest.addProposal(proposal);
 		}
 		else {
-			DOMNode node = (DOMNode) contentAssistRequest.getNode();
+			IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
 			ModelQuery modelQuery = ModelQueryUtil.getModelQuery(node.getOwnerDocument());
 			Node aNode = contentAssistRequest.getNode();
 			String matchString = contentAssistRequest.getMatchString();
@@ -402,7 +402,7 @@
 			while (aNode != null) {
 				if (aNode.getNodeType() == Node.ELEMENT_NODE) {
 					if (aNode.getNodeName().startsWith(matchString)) {
-						DOMNode aXMLNode = (DOMNode) aNode;
+						IDOMNode aXMLNode = (IDOMNode) aNode;
 						CMElementDeclaration ed = modelQuery.getCMElementDeclaration((Element) aNode);
 						if ((aXMLNode.getEndStructuredDocumentRegion() == null) && (ed == null || (ed.getContentType() != CMElementDeclaration.EMPTY))) {
 							String proposedText = aNode.getNodeName();
@@ -442,13 +442,13 @@
 	 * @param contentAssistRequest
 	 */
 	protected void addEndTagProposals(ContentAssistRequest contentAssistRequest) {
-		DOMNode node = (DOMNode) contentAssistRequest.getParent();
+		IDOMNode node = (IDOMNode) 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 = (DOMNode) node.getParentNode();
+				node = (IDOMNode) node.getParentNode();
 			}
 		}
 
@@ -479,8 +479,8 @@
 			if (xmlEndTagOpen == null)
 				return;
 
-			node = (DOMNode) node.getModel().getIndexedRegion(xmlEndTagOpen.getStartOffset());
-			node = (DOMNode) node.getParentNode();
+			node = (IDOMNode) node.getModel().getIndexedRegion(xmlEndTagOpen.getStartOffset());
+			node = (IDOMNode) node.getParentNode();
 
 			if (isStartTag(xmlEndTagOpen)) {
 				// this is the case for a start tag w/out end tag
@@ -552,7 +552,7 @@
 		}
 	}
 
-	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, DOMNode treeNode) {
+	protected void addEntityProposals(ContentAssistRequest contentAssistRequest, int documentPosition, ITextRegion completionRegion, IDOMNode treeNode) {
 		ICompletionProposal[] eps = computeEntityReferenceProposals(documentPosition, completionRegion, treeNode);
 		for (int i = 0; eps != null && i < eps.length; i++)
 			contentAssistRequest.addProposal(eps[i]);
@@ -620,7 +620,7 @@
 			boolean xmlpi = (child.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE && child.getNodeName().equals("xml")); //$NON-NLS-1$
 			xmlpiFound = xmlpiFound || xmlpi;
 			if (xmlpiFound) {
-				if (child instanceof DOMNode) {
+				if (child instanceof IDOMNode) {
 					// ==> // int xmlpiNodePosition =
 					// ((XMLNode)child).getEndOffset();
 				}
@@ -628,9 +628,9 @@
 				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 DOMNode) {
+				if (child != null && child instanceof IDOMNode) {
 					// CMVC 257486
-					if (contentAssistRequest.getReplacementBeginPosition() >= ((DOMNode) child).getEndOffset() || !xmlpiIsFirstElement) {
+					if (contentAssistRequest.getReplacementBeginPosition() >= ((IDOMNode) child).getEndOffset() || !xmlpiIsFirstElement) {
 						insertDoctype = false;
 					}
 				}
@@ -650,7 +650,7 @@
 	 * Close an unclosed start tag
 	 */
 	protected void addTagCloseProposals(ContentAssistRequest contentAssistRequest) {
-		DOMNode node = (DOMNode) contentAssistRequest.getParent();
+		IDOMNode node = (IDOMNode) contentAssistRequest.getParent();
 		if (node.getNodeType() == Node.ELEMENT_NODE) {
 
 			CMElementDeclaration elementDecl = getCMElementDeclaration(node);
@@ -757,7 +757,7 @@
 		// 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 && ((DOMDocument) parent).isXMLType() && !isCursorAfterXMLPI(contentAssistRequest)) {
+		if (parent != null && parent.getNodeType() == Node.DOCUMENT_NODE && ((IDOMDocument) parent).isXMLType() && !isCursorAfterXMLPI(contentAssistRequest)) {
 			return;
 		}
 		// only want proposals if cursor is after doctype...
@@ -768,10 +768,10 @@
 		// 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 DOMNode && isCommentNode((DOMNode) parent)) {
+		if (parent != null && parent instanceof IDOMNode && isCommentNode((IDOMNode) parent)) {
 			// loop and find non comment node?
-			while (parent != null && isCommentNode((DOMNode) parent)) {
-				parent = (DOMNode) parent.getParentNode();
+			while (parent != null && isCommentNode((IDOMNode) parent)) {
+				parent = (IDOMNode) parent.getParentNode();
 			}
 		}
 
@@ -787,10 +787,10 @@
 						// replace the rest
 						int begin = contentAssistRequest.getReplacementBeginPosition();
 						int length = contentAssistRequest.getReplacementLength();
-						if (parent instanceof DOMNode) {
-							if (((DOMNode) parent).getLastStructuredDocumentRegion() != ((DOMNode) parent).getFirstStructuredDocumentRegion()) {
-								begin = ((DOMNode) parent).getFirstStructuredDocumentRegion().getEndOffset();
-								length = ((DOMNode) parent).getLastStructuredDocumentRegion().getStartOffset() - begin;
+						if (parent instanceof IDOMNode) {
+							if (((IDOMNode) parent).getLastStructuredDocumentRegion() != ((IDOMNode) parent).getFirstStructuredDocumentRegion()) {
+								begin = ((IDOMNode) parent).getFirstStructuredDocumentRegion().getEndOffset();
+								length = ((IDOMNode) parent).getLastStructuredDocumentRegion().getStartOffset() - begin;
 							}
 						}
 						String proposedInfo = getAdditionalInfo(parentDecl, childType);
@@ -869,7 +869,7 @@
 				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 = ((DOMNode) child).getFirstStructuredDocumentRegion().getStartOffset() + ((DOMNode) child).getFirstStructuredDocumentRegion().getTextLength();
+					minimumOffset = ((IDOMNode) child).getFirstStructuredDocumentRegion().getStartOffset() + ((IDOMNode) child).getFirstStructuredDocumentRegion().getTextLength();
 				xmlpiFound = xmlpiFound || xmlpi;
 				doctypeFound = doctypeFound || doctype;
 			}
@@ -902,7 +902,7 @@
 	protected void addTagNameProposals(ContentAssistRequest contentAssistRequest, int childPosition) {
 		List cmnodes = null;
 		Node parent = contentAssistRequest.getParent();
-		DOMNode node = (DOMNode) contentAssistRequest.getNode();
+		IDOMNode node = (IDOMNode) contentAssistRequest.getNode();
 		List validActions = null;
 		String error = null;
 		String matchString = contentAssistRequest.getMatchString();
@@ -1027,7 +1027,7 @@
 	 *            what 'node' is) true if any attributes of 'node' match any
 	 *            possible attributes from 'cmnodes' list.
 	 */
-	protected boolean attributeInList(DOMNode node, Node parent, CMNode cmnode) {
+	protected boolean attributeInList(IDOMNode node, Node parent, CMNode cmnode) {
 		if (node == null || parent == null || cmnode == null)
 			return false;
 		String elementMatchString = node.getNodeName();
@@ -1066,7 +1066,7 @@
 		return aString.toLowerCase().startsWith(prefix.toLowerCase());
 	}
 
-	protected ContentAssistRequest computeAttributeProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeAttributeProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		ContentAssistRequest contentAssistRequest = null;
 		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
 		if (documentPosition < sdRegion.getStartOffset(completionRegion)) {
@@ -1086,12 +1086,12 @@
 		return contentAssistRequest;
 	}
 
-	protected ContentAssistRequest computeAttributeValueProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeAttributeValueProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode 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
-			DOMNode actualNode = (DOMNode) node.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
+			IDOMNode actualNode = (IDOMNode) node.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
 			contentAssistRequest = newContentAssistRequest(actualNode, actualNode, sdRegion, completionRegion, documentPosition, 0, matchString);
 			addAttributeNameProposals(contentAssistRequest);
 			if (actualNode.getFirstStructuredDocumentRegion() != null && !actualNode.getFirstStructuredDocumentRegion().isEnded()) {
@@ -1114,7 +1114,7 @@
 		return contentAssistRequest;
 	}
 
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode treeNode, DOMNode xmlnode) {
+	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode) {
 		ContentAssistRequest contentAssistRequest = null;
 		String regionType = completionRegion.getType();
 		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
@@ -1137,7 +1137,7 @@
 			{
 				// this is for when the cursor is at the end of the closing
 				// quote for an attribute..
-				DOMNode actualNode = (DOMNode) xmlnode.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
+				IDOMNode actualNode = (IDOMNode) xmlnode.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
 				contentAssistRequest = newContentAssistRequest(actualNode, actualNode, sdRegion, completionRegion, documentPosition, 0, matchString);
 				addTagCloseProposals(contentAssistRequest);
 			}
@@ -1202,7 +1202,7 @@
 		Node node = (Node) treeNode;
 		while (node != null && node.getNodeType() == Node.TEXT_NODE && node.getParentNode() != null)
 			node = node.getParentNode();
-		DOMNode xmlnode = (DOMNode) node;
+		IDOMNode xmlnode = (IDOMNode) node;
 
 		ContentAssistRequest contentAssistRequest = null;
 
@@ -1217,7 +1217,7 @@
 				IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(textViewer.getDocument());
 				try {
 					if (sModel != null) {
-						DOMDocument docNode = ((DOMModel) sModel).getDocument();
+						IDOMDocument docNode = ((IDOMModel) sModel).getDocument();
 						contentAssistRequest = newContentAssistRequest(docNode, docNode, sdRegion, completionRegion, documentPosition, 0, null);
 						addEmptyDocumentProposals(contentAssistRequest);
 					}
@@ -1238,12 +1238,12 @@
 
 		// 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, (DOMNode) treeNode, xmlnode);
+			contentAssistRequest = computeStartDocumentProposals(documentPosition, matchString, completionRegion, (IDOMNode) treeNode, xmlnode);
 			return contentAssistRequest.getCompletionProposals();
 		}
 
 		// compute normal proposals
-		contentAssistRequest = computeCompletionProposals(documentPosition, matchString, completionRegion, (DOMNode) treeNode, xmlnode);
+		contentAssistRequest = computeCompletionProposals(documentPosition, matchString, completionRegion, (IDOMNode) treeNode, xmlnode);
 		if (contentAssistRequest == null) {
 			contentAssistRequest = newContentAssistRequest((Node) treeNode, node.getParentNode(), sdRegion, completionRegion, documentPosition, 0, ""); //$NON-NLS-1$
 			if (Debug.displayWarnings)
@@ -1257,7 +1257,7 @@
 		return contentAssistRequest.getCompletionProposals();
 	}
 
-	protected ContentAssistRequest computeContentProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeContentProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		ContentAssistRequest contentAssistRequest = null;
 
 		// setup to add children at the content node's position
@@ -1290,7 +1290,7 @@
 		return fAttributeInfoProvider.getAttributeInformation(documentOffset);
 	}
 
-	protected ContentAssistRequest computeEndTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeEndTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		ContentAssistRequest contentAssistRequest = null;
 		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
 		int completionRegionStart = sdRegion.getStartOffset(completionRegion);
@@ -1327,7 +1327,7 @@
 	 * return all possible EntityReferenceProposals (according to current
 	 * position in doc)
 	 */
-	protected ICompletionProposal[] computeEntityReferenceProposals(int documentPosition, ITextRegion completionRegion, DOMNode treeNode) {
+	protected ICompletionProposal[] computeEntityReferenceProposals(int documentPosition, ITextRegion completionRegion, IDOMNode treeNode) {
 		// only handle XML content for now
 		Vector proposals = new Vector(); // ICompletionProposals
 		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
@@ -1382,7 +1382,7 @@
 		return (ICompletionProposal[]) ((proposals.size() > 0) ? proposals.toArray(new ICompletionProposal[proposals.size()]) : null);
 	}
 
-	protected ContentAssistRequest computeEqualsProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeEqualsProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		ContentAssistRequest contentAssistRequest = null;
 		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
 		ITextRegion valueRegion = node.getStartStructuredDocumentRegion().getRegionAtCharacterOffset(sdRegion.getStartOffset(completionRegion) + completionRegion.getLength());
@@ -1398,7 +1398,7 @@
 		return contentAssistRequest;
 	}
 
-	protected ContentAssistRequest computeStartDocumentProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeStartDocumentProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		// setup for a non-empty document, but one that hasn't been formally
 		// started
 		ContentAssistRequest contentAssistRequest = null;
@@ -1407,7 +1407,7 @@
 		return contentAssistRequest;
 	}
 
-	protected ContentAssistRequest computeTagCloseProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeTagCloseProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		ContentAssistRequest contentAssistRequest = null;
 		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
 
@@ -1415,7 +1415,7 @@
 			// this is a content request as the documentPosition is AFTER the
 			// end of the closing region
 			if (node == nodeAtOffset && node.getParentNode() != null)
-				node = (DOMNode) node.getParentNode();
+				node = (IDOMNode) node.getParentNode();
 			contentAssistRequest = newContentAssistRequest(nodeAtOffset, node, sdRegion, completionRegion, documentPosition, 0, matchString);
 			addTagInsertionProposals(contentAssistRequest, getElementPositionForModelQuery(nodeAtOffset));
 			if (node.getNodeType() != Node.DOCUMENT_NODE && node.getEndStructuredDocumentRegion() == null) {
@@ -1442,13 +1442,13 @@
 		return contentAssistRequest;
 	}
 
-	protected ContentAssistRequest computeTagNameProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeTagNameProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		ContentAssistRequest contentAssistRequest = null;
 		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
 
 		if (sdRegion != nodeAtOffset.getFirstStructuredDocumentRegion()) {
 			// completing the *first* tag in "<tagname1 |<tagname2"
-			DOMNode actualNode = (DOMNode) node.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
+			IDOMNode actualNode = (IDOMNode) node.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
 			if (actualNode != null) {
 				if (actualNode.getFirstStructuredDocumentRegion() == sdRegion) {
 					// start tag
@@ -1492,7 +1492,7 @@
 					addTagNameProposals(contentAssistRequest, getElementPositionForModelQuery(nodeAtOffset));
 				}
 				else {
-					DOMNode actualNode = (DOMNode) node.getModel().getIndexedRegion(documentPosition);
+					IDOMNode actualNode = (IDOMNode) node.getModel().getIndexedRegion(documentPosition);
 					if (actualNode != null) {
 						if (documentPosition >= sdRegion.getStartOffset(completionRegion) + completionRegion.getTextLength()) {
 							contentAssistRequest = newContentAssistRequest(actualNode, actualNode.getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
@@ -1508,12 +1508,12 @@
 		return contentAssistRequest;
 	}
 
-	protected ContentAssistRequest computeTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode nodeAtOffset, DOMNode node) {
+	protected ContentAssistRequest computeTagOpenProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode nodeAtOffset, IDOMNode node) {
 		ContentAssistRequest contentAssistRequest = null;
 		IStructuredDocumentRegion sdRegion = getStructuredDocumentRegion(documentPosition);
 		if (sdRegion != nodeAtOffset.getFirstStructuredDocumentRegion()) {
 			// completing the *first* XML_TAG_OPEN in "<<tagname"
-			DOMNode actualNode = (DOMNode) node.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
+			IDOMNode actualNode = (IDOMNode) node.getModel().getIndexedRegion(sdRegion.getStartOffset(completionRegion));
 			if (actualNode != null) {
 				contentAssistRequest = newContentAssistRequest(actualNode, actualNode.getParentNode(), sdRegion, completionRegion, documentPosition, 0, matchString);
 				addTagNameProposals(contentAssistRequest, getElementPositionForModelQuery(actualNode));
@@ -1616,7 +1616,7 @@
 			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 DOMNode && (((DOMNode) child).getStartStructuredDocumentRegion() == null || ((DOMNode) child).getEndStructuredDocumentRegion() == null))
+				if (child instanceof IDOMNode && (((IDOMNode) child).getStartStructuredDocumentRegion() == null || ((IDOMNode) child).getEndStructuredDocumentRegion() == null))
 					continue;
 				if (Debug.displayInfo)
 					System.out.println(rootName + " already present!"); //$NON-NLS-1$
@@ -1752,7 +1752,7 @@
 		ITextRegion region = null;
 		int offset = documentPosition;
 		IStructuredDocumentRegion flatNode = null;
-		DOMNode node = (DOMNode) domnode;
+		IDOMNode node = (IDOMNode) domnode;
 
 		if (node.getNodeType() == Node.DOCUMENT_NODE) {
 			if (node.getStructuredDocument().getLength() == 0)
@@ -2057,7 +2057,7 @@
 		Document doc = null;
 		doc = (node.getNodeType() != Node.DOCUMENT_NODE) ? node.getOwnerDocument() : ((Document) node);
 
-		return (doc instanceof DOMDocument) && ((DOMDocument) doc).isXMLType();
+		return (doc instanceof IDOMDocument) && ((IDOMDocument) doc).isXMLType();
 	}
 
 	// Initialize local settings
@@ -2074,8 +2074,8 @@
 	 * This is to determine if a tag is a special meta-info comment tag that
 	 * shows up as an ELEMENT
 	 */
-	private boolean isCommentNode(DOMNode node) {
-		return (node != null && node instanceof DOMElement && ((DOMElement) node).isCommentTag());
+	private boolean isCommentNode(IDOMNode node) {
+		return (node != null && node instanceof IDOMElement && ((IDOMElement) node).isCommentTag());
 	}
 
 	/**
@@ -2094,9 +2094,9 @@
 			return true; // blank document case
 
 		for (Node child = parent.getFirstChild(); child != null; child = child.getNextSibling()) {
-			if (child instanceof DOMNode) {
+			if (child instanceof IDOMNode) {
 				if (child.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-					xmldoctypeNodePosition = ((DOMNode) child).getEndOffset();
+					xmldoctypeNodePosition = ((IDOMNode) child).getEndOffset();
 					isAfterDoctype = (car.getReplacementBeginPosition() >= xmldoctypeNodePosition);
 					break;
 				}
@@ -2125,8 +2125,8 @@
 			boolean xmlpi = (child.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE && child.getNodeName().equals("xml")); //$NON-NLS-1$
 			xmlpiFound = xmlpiFound || xmlpi;
 			if (xmlpiFound) {
-				if (child instanceof DOMNode) {
-					xmlpiNodePosition = ((DOMNode) child).getEndOffset();
+				if (child instanceof IDOMNode) {
+					xmlpiNodePosition = ((IDOMNode) child).getEndOffset();
 					isAfterXMLPI = (car.getReplacementBeginPosition() >= xmlpiNodePosition);
 				}
 				break;
@@ -2182,7 +2182,7 @@
 		IStructuredModel sModel = StructuredModelManager.getModelManager().getExistingModelForRead(fTextViewer.getDocument());
 		try {
 			if (sModel != null) {
-				DOMNode xmlNode = (DOMNode) sModel.getIndexedRegion(startTag.getStart());
+				IDOMNode xmlNode = (IDOMNode) sModel.getIndexedRegion(startTag.getStart());
 				if (!isStartTag(startTag))
 					result = false;
 				else if (isSelfClosed(startTag))
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
index 620cd4e..a476255 100644
--- 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
@@ -26,7 +26,7 @@
 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.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 
 
@@ -78,7 +78,7 @@
 			return false;
 
 		// iterate existing attributes from current node
-		DOMNode xmlNode = fModelUtil.getXMLNode(documentPosition);
+		IDOMNode xmlNode = fModelUtil.getXMLNode(documentPosition);
 		IStructuredDocumentRegion sdRegion = xmlNode.getFirstStructuredDocumentRegion();
 		ITextRegionList regions = sdRegion.getRegions();
 		ITextRegion r = null;
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
index 87920c8..d1542e9 100644
--- 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
@@ -24,7 +24,7 @@
 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.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMContent;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -77,7 +77,7 @@
 		if (!canProposeInfo(sdRegion))
 			return EMPTY_CONTEXT_INFO;
 
-		DOMNode node = fModelUtil.getXMLNode(offset);
+		IDOMNode node = fModelUtil.getXMLNode(offset);
 		if (node != null) {
 			switch (node.getNodeType()) {
 				case Node.ELEMENT_NODE :
@@ -111,7 +111,7 @@
 	 * @param node
 	 
 	 */
-	private IContextInformation[] getInfoForElement(DOMNode node) {
+	private IContextInformation[] getInfoForElement(IDOMNode node) {
 		IContextInformation[] results = EMPTY_CONTEXT_INFO;
 		CMElementDeclaration decl = fModelUtil.getModelQuery().getCMElementDeclaration((Element) node);
 		if (decl != null) {
@@ -155,7 +155,7 @@
 	 * @param node
 	 
 	 */
-	 IContextInformation[] getInfoForText(DOMNode node) {
+	 IContextInformation[] getInfoForText(IDOMNode node) {
 		Node parent = node.getParentNode();
 		String contextString = node.getNodeName();
 		StringBuffer info = new StringBuffer(" "); //$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
index 009e02e..aee6a98 100644
--- 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
@@ -15,7 +15,7 @@
 import org.eclipse.wst.sse.core.IStructuredModel;
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
 
@@ -50,12 +50,12 @@
 		return mq;
 	}
 
-	public DOMNode getXMLNode(int offset) {
+	public IDOMNode getXMLNode(int offset) {
 		IStructuredModel xmlModel = null;
-		DOMNode xmlNode = null;
+		IDOMNode xmlNode = null;
 		try {
 			xmlModel = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
-			xmlNode = (DOMNode) xmlModel.getIndexedRegion(offset);
+			xmlNode = (IDOMNode) xmlModel.getIndexedRegion(offset);
 		}
 		finally {
 			xmlModel.releaseFromRead();
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
index 794cacd..bdb110b 100644
--- 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
@@ -22,7 +22,7 @@
 import org.eclipse.jface.util.IPropertyChangeListener;
 import org.eclipse.jface.util.PropertyChangeEvent;
 import org.eclipse.wst.sse.core.text.ITextRegion;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
 import org.eclipse.wst.xml.ui.internal.preferences.XMLUIPreferenceNames;
 import org.eclipse.wst.xml.ui.internal.templates.TemplateContextTypeIdsXML;
@@ -87,7 +87,7 @@
 		}
 	}
 	
-	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, DOMNode treeNode, DOMNode xmlnode) {
+	protected ContentAssistRequest computeCompletionProposals(int documentPosition, String matchString, ITextRegion completionRegion, IDOMNode treeNode, IDOMNode xmlnode) {
 		ContentAssistRequest request = super.computeCompletionProposals(documentPosition, matchString, completionRegion, treeNode, xmlnode);
 		addTemplates(request, TemplateContextTypeIdsXML.ALL);
 		return request;
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
index 41fc94d..26ef4f1 100644
--- 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
@@ -25,8 +25,8 @@
 import org.eclipse.wst.sse.ui.internal.SSEUIPlugin;
 import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
 import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
 import org.w3c.dom.Document;
@@ -83,19 +83,19 @@
 		// check if tag is closed
 		boolean hasEndTag = true;
 		boolean isJSPTag = false;
-		DOMNode xnode = null;
+		IDOMNode xnode = null;
 		String tagName = ""; //$NON-NLS-1$
-		if (indexedNode instanceof DOMNode) {
-			xnode = ((DOMNode) indexedNode);
+		if (indexedNode instanceof IDOMNode) {
+			xnode = ((IDOMNode) indexedNode);
 			// it's ended already...
 			if (xnode.getEndStructuredDocumentRegion() != null)
 				return null;
-			DOMNode openNode = null;
+			IDOMNode openNode = null;
 			if (!xnode.getNodeName().equalsIgnoreCase(parentTagName))
-				openNode = (DOMNode) xnode.getParentNode();
+				openNode = (IDOMNode) xnode.getParentNode();
 			if (openNode != null) {
-				if (openNode instanceof DOMElement) {
-					isJSPTag = ((DOMElement) openNode).isJSPTag();
+				if (openNode instanceof IDOMElement) {
+					isJSPTag = ((IDOMElement) openNode).isJSPTag();
 				}
 				tagName = openNode.getNodeName();
 				hasEndTag = (openNode.getEndStructuredDocumentRegion() != null);
@@ -184,16 +184,16 @@
 
 		// check if tag is closed
 		boolean hasEndTag = true;
-		DOMNode xnode = null;
+		IDOMNode xnode = null;
 		String tagName = ""; //$NON-NLS-1$
-		if (indexedNode instanceof DOMNode) {
-			xnode = ((DOMNode) indexedNode);
+		if (indexedNode instanceof IDOMNode) {
+			xnode = ((IDOMNode) indexedNode);
 			// it's ended already...
 			if (xnode.getEndStructuredDocumentRegion() != null)
 				return null;
-			DOMNode styleNode = null;
+			IDOMNode styleNode = null;
 			if (!xnode.getNodeName().equalsIgnoreCase(parentTagName))
-				styleNode = (DOMNode) xnode.getParentNode();
+				styleNode = (IDOMNode) xnode.getParentNode();
 			if (styleNode != null) {
 				tagName = styleNode.getNodeName();
 				hasEndTag = (styleNode.getEndStructuredDocumentRegion() != null);
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
index d6b16e0..e982484 100644
--- 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
@@ -15,7 +15,7 @@
 
 
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -113,8 +113,8 @@
 	}
 
 	protected String getOtherClose(Node notATagNode) {
-		if (notATagNode instanceof DOMNode) {
-			IStructuredDocumentRegion node = ((DOMNode) notATagNode).getStartStructuredDocumentRegion();
+		if (notATagNode instanceof IDOMNode) {
+			IStructuredDocumentRegion node = ((IDOMNode) notATagNode).getStartStructuredDocumentRegion();
 			if (node != null && node.getNumberOfRegions() > 1 && node.getRegions().get(0).getType().equals(DOMJSPRegionContextsPrivateCopy.JSP_DIRECTIVE_OPEN)) {
 				return "%>"; //$NON-NLS-1$
 			}
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
index cb2dca0..c1cac6e 100644
--- 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
@@ -21,7 +21,7 @@
 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.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
@@ -184,8 +184,8 @@
 
 	protected IStructuredModel getStructedModel(Node node) {
 		IStructuredModel result = null;
-		if (node instanceof DOMNode) {
-			result = ((DOMNode) node).getModel();
+		if (node instanceof IDOMNode) {
+			result = ((IDOMNode) node).getModel();
 		}
 		return result;
 	}
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
index adf1f64..f9466eb 100644
--- 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
@@ -25,9 +25,9 @@
 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.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
-import org.eclipse.wst.xml.core.document.DOMText;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
+import org.eclipse.wst.xml.core.document.IDOMText;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
@@ -38,9 +38,9 @@
 public class XMLSourceEditingTextTools implements SourceEditingTextTools, INodeAdapter {
 
 	protected class NodeLocationImpl implements NodeLocation {
-		private DOMNode node;
+		private IDOMNode node;
 
-		public NodeLocationImpl(DOMNode xmlnode) {
+		public NodeLocationImpl(IDOMNode xmlnode) {
 			super();
 			node = xmlnode;
 		}
@@ -83,10 +83,10 @@
 		IStructuredModel model = null;
 		try {
 			model = mm.getExistingModelForRead((IFile) res);
-			if (model == null || !(model instanceof DOMModel))
+			if (model == null || !(model instanceof IDOMModel))
 				return null;
 
-			return ((DOMModel) model).getDocument();
+			return ((IDOMModel) model).getDocument();
 		} finally {
 			if (model != null)
 				model.releaseFromRead();
@@ -99,8 +99,8 @@
 	 * @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 DOMNode)
-			return new NodeLocationImpl((DOMNode) node);
+		if (node.getNodeType() == Node.ELEMENT_NODE && node instanceof IDOMNode)
+			return new NodeLocationImpl((IDOMNode) node);
 		return null;
 	}
 
@@ -109,10 +109,10 @@
 	}
 
 	public int getStartOffset(Node node) {
-		if (node == null || !(node instanceof DOMText))
+		if (node == null || !(node instanceof IDOMText))
 			return -1;
 
-		IStructuredDocumentRegion fnode = ((DOMText) node).getFirstStructuredDocumentRegion();
+		IStructuredDocumentRegion fnode = ((IDOMText) node).getFirstStructuredDocumentRegion();
 		return fnode.getStartOffset();
 	}
 
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
index e719c85..e7c7918 100644
--- 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
@@ -21,8 +21,8 @@
 import org.eclipse.wst.sse.core.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.ui.internal.StructuredDocumentCommand;
 import org.eclipse.wst.sse.ui.internal.autoedit.BasicAutoEditStrategy;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.ui.internal.Logger;
 import org.w3c.dom.Node;
 
@@ -49,15 +49,15 @@
 		}
 	}
 
-	private boolean isCommentNode(DOMNode node) {
-		return (node != null && node instanceof DOMElement && ((DOMElement) node).isCommentTag());
+	private boolean isCommentNode(IDOMNode node) {
+		return (node != null && node instanceof IDOMElement && ((IDOMElement) node).isCommentTag());
 	}
 
-	private boolean isDocumentNode(DOMNode node) {
+	private boolean isDocumentNode(IDOMNode node) {
 		return (node != null && node.getNodeType() == Node.DOCUMENT_NODE);
 	}
 
-	protected boolean isEndTagRequired(DOMNode node) {
+	protected boolean isEndTagRequired(IDOMNode node) {
 
 		if (node == null)
 			return false;
@@ -90,11 +90,11 @@
 	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$
-				DOMNode parentNode = (DOMNode) ((DOMNode) model.getIndexedRegion(structuredDocumentCommand.offset - 1)).getParentNode();
+				IDOMNode parentNode = (IDOMNode) ((IDOMNode) model.getIndexedRegion(structuredDocumentCommand.offset - 1)).getParentNode();
 				if (isCommentNode(parentNode)) {
 					// loop and find non comment node parent
 					while (parentNode != null && isCommentNode(parentNode)) {
-						parentNode = (DOMNode) parentNode.getParentNode();
+						parentNode = (IDOMNode) parentNode.getParentNode();
 					}
 				}
 
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/JFaceNodeContentProvider.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/JFaceNodeContentProvider.java
index 23e7147..8815470 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/JFaceNodeContentProvider.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/contentoutline/JFaceNodeContentProvider.java
@@ -18,7 +18,7 @@
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 
 
 /**
@@ -70,8 +70,8 @@
 		// The root is usually an instance of an XMLStructuredModel in
 		// which case we want to extract the document.
 		Object topNode = object;
-		if (object instanceof DOMModel)
-			topNode = ((DOMModel) object).getDocument();
+		if (object instanceof IDOMModel)
+			topNode = ((IDOMModel) object).getDocument();
 
 		IJFaceNodeAdapter adapter = getAdapter(topNode);
 
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
index 39a8a44..bc41306 100644
--- 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
@@ -30,7 +30,7 @@
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
@@ -62,7 +62,7 @@
 	 *      char, int, int)
 	 */
 	public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-		DOMNode node = (DOMNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, offset);
+		IDOMNode node = (IDOMNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, offset);
 		IStructuredDocumentRegion startStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
 		int index = startStructuredDocumentRegion.getEndOffset();
 		ITextRegion lastRegion = startStructuredDocumentRegion.getLastRegion();
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
index fab6c86..4742a2a 100644
--- 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
@@ -23,7 +23,7 @@
 import org.eclipse.wst.sse.ui.internal.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.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
@@ -53,11 +53,11 @@
 	 * @param offset
 	 */
 	protected void getInsertRequiredAttrs(ArrayList proposals, StructuredTextViewer viewer, int offset) {
-		DOMNode node = (DOMNode) ContentAssistUtils.getNodeAt(viewer, offset);
+		IDOMNode node = (IDOMNode) ContentAssistUtils.getNodeAt(viewer, offset);
 		if (node != null && node.getNodeType() == Node.ELEMENT_NODE) {
 			IStructuredDocumentRegion startStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
 			if (startStructuredDocumentRegion != null && startStructuredDocumentRegion.containsOffset(offset)) {
-				DOMNode cursorNode = (DOMNode) ContentAssistUtils.getNodeAt(viewer, offset);
+				IDOMNode cursorNode = (IDOMNode) ContentAssistUtils.getNodeAt(viewer, offset);
 				List requiredAttrs = getRequiredAttrs(cursorNode);
 				if (requiredAttrs.size() > 0) {
 					NamedNodeMap currentAttrs = node.getAttributes();
@@ -92,7 +92,7 @@
 	 * @param offset
 	 */
 	protected void getLocalRenameQuickAssistProposal(ArrayList proposals, StructuredTextViewer viewer, int offset) {
-		DOMNode node = (DOMNode) ContentAssistUtils.getNodeAt(viewer, offset);
+		IDOMNode node = (IDOMNode) ContentAssistUtils.getNodeAt(viewer, offset);
 		IStructuredDocumentRegion startStructuredDocumentRegion = node == null ? null : node.getStartStructuredDocumentRegion();
 		IStructuredDocumentRegion endStructuredDocumentRegion = node == null ? null : node.getEndStructuredDocumentRegion();
 
@@ -162,7 +162,7 @@
 	 * @param offset
 	 */
 	protected void getSurroundWithNewElementQuickAssistProposal(ArrayList proposals, StructuredTextViewer viewer, int offset) {
-		DOMNode node = (DOMNode) ContentAssistUtils.getNodeAt(viewer, offset);
+		IDOMNode node = (IDOMNode) 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/RenameInFileQuickAssistProposal.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/correction/RenameInFileQuickAssistProposal.java
index 4b6af03..e3182e5 100644
--- 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
@@ -32,7 +32,7 @@
 import org.eclipse.wst.sse.core.text.ITextRegion;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
 import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
@@ -60,7 +60,7 @@
 		LinkedPositionGroup group = new LinkedPositionGroup();
 		try {
 			if (viewer instanceof StructuredTextViewer) {
-				DOMNode node = (DOMNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, offset);
+				IDOMNode node = (IDOMNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, offset);
 				IStructuredDocumentRegion startStructuredDocumentRegion = node.getStartStructuredDocumentRegion();
 				ITextRegion region = (startStructuredDocumentRegion == null) ? null : startStructuredDocumentRegion.getRegionAtCharacterOffset(offset);
 				if (region != null) {
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
index 65d243d..7d8b4f8 100644
--- 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
@@ -22,7 +22,7 @@
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.format.FormatProcessorXML;
 import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
 import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
@@ -44,10 +44,10 @@
 
 			// surround the node if no selection
 			if (startTagOffset == endTagOffset) {
-				DOMNode cursorNode = (DOMNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, offset);
+				IDOMNode cursorNode = (IDOMNode) 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 = (DOMNode) cursorNode.getParentNode();
+					cursorNode = (IDOMNode) cursorNode.getParentNode();
 
 				startTagOffset = cursorNode.getStartOffset();
 				endTagOffset = cursorNode.getEndOffset();
@@ -62,7 +62,7 @@
 			multiTextEdit.apply(viewer.getDocument());
 
 			// get new element node
-			DOMNode newElementNode = (DOMNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, startTagOffset);
+			IDOMNode newElementNode = (IDOMNode) ContentAssistUtils.getNodeAt((StructuredTextViewer) viewer, startTagOffset);
 
 			// format new element
 			IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/XMLHyperlinkDetector.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/XMLHyperlinkDetector.java
index cb5a320..489d147 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/XMLHyperlinkDetector.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/hyperlink/XMLHyperlinkDetector.java
@@ -23,8 +23,8 @@
 import org.eclipse.wst.sse.core.IndexedRegion;
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.util.StringUtils;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -148,12 +148,12 @@
 			short nodeType = node.getNodeType();
 			if (nodeType == Node.DOCUMENT_TYPE_NODE) {
 				// handle doc type node
-				DOMNode docNode = (DOMNode) node;
+				IDOMNode docNode = (IDOMNode) node;
 				hyperRegion = new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
 			}
 			else if (nodeType == Node.ATTRIBUTE_NODE) {
 				// handle attribute nodes
-				DOMAttr att = (DOMAttr) node;
+				IDOMAttr att = (IDOMAttr) node;
 				// do not include quotes in attribute value region
 				int regOffset = att.getValueRegionStartOffset();
 				int regLength = att.getValueRegion().getTextLength();
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/projection/StructuredTextFoldingProviderXML.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/projection/StructuredTextFoldingProviderXML.java
index 0d2b4f8..9194423 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/projection/StructuredTextFoldingProviderXML.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/projection/StructuredTextFoldingProviderXML.java
@@ -11,7 +11,7 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.PropagatingAdapter;
 import org.eclipse.wst.sse.ui.internal.projection.IStructuredTextFoldingProvider;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 
@@ -116,7 +116,7 @@
 					factoryRegistry.addFactory(newFactory);
 
 					// add factory to propogating adapter
-					DOMModel domModel = (DOMModel) sModel;
+					IDOMModel domModel = (IDOMModel) sModel;
 					Document document = domModel.getDocument();
 					PropagatingAdapter propagatingAdapter = (PropagatingAdapter) ((INodeNotifier) document).getAdapterFor(PropagatingAdapter.class);
 					if (propagatingAdapter != null) {
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/XMLPropertySourceAdapter.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/XMLPropertySourceAdapter.java
index 45c3452..99791c7 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/XMLPropertySourceAdapter.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/internal/properties/XMLPropertySourceAdapter.java
@@ -27,7 +27,7 @@
 import org.eclipse.wst.sse.core.INodeAdapter;
 import org.eclipse.wst.sse.core.INodeNotifier;
 import org.eclipse.wst.sse.ui.views.properties.IPropertySourceExtension;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
@@ -68,7 +68,7 @@
 	public XMLPropertySourceAdapter(INodeNotifier target) {
 		super();
 		fNode = (Node) target;
-		if (fNode instanceof DOMNode) {
+		if (fNode instanceof IDOMNode) {
 			Document ownerDocument = fNode.getOwnerDocument();
 			if (ownerDocument == null) {
 				// if ownerDocument is null, then it must be the Document Node
@@ -361,8 +361,8 @@
 		if (attrMap != null) {
 			Node attribute = attrMap.getNamedItem(name);
 			if (attribute != null) {
-				if (attribute instanceof DOMNode)
-					returnedValue = ((DOMNode) attribute).getValueSource();
+				if (attribute instanceof IDOMNode)
+					returnedValue = ((IDOMNode) attribute).getValueSource();
 				else
 					returnedValue = attribute.getNodeValue();
 			}
@@ -528,8 +528,8 @@
 					// active cell editor to save its value and causing the
 					// loop to continue
 					if (attr.getValue() == null || !attr.getValue().equals(valueString)) {
-						if (attr instanceof DOMNode)
-							((DOMNode) attr).setValueSource(valueString);
+						if (attr instanceof IDOMNode)
+							((IDOMNode) attr).setValueSource(valueString);
 						else
 							attr.setValue(valueString);
 					}
@@ -538,8 +538,8 @@
 					// NEW(?) value
 					if (value != null) { // never create an empty attribute
 						Attr newAttr = fNode.getOwnerDocument().createAttribute(name);
-						if (newAttr instanceof DOMNode)
-							((DOMNode) newAttr).setValueSource(valueString);
+						if (newAttr instanceof IDOMNode)
+							((IDOMNode) newAttr).setValueSource(valueString);
 						else
 							newAttr.setValue(valueString);
 						attrMap.setNamedItem(newAttr);
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
index 4c7df11..1b155fd 100644
--- 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
@@ -27,8 +27,8 @@
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.util.StringUtils;
 import org.eclipse.wst.sse.ui.openon.AbstractOpenOn;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
@@ -64,14 +64,14 @@
 		if (currNode != null) {
 			// handle doc type node
 			if (currNode.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
-				DOMNode docNode = (DOMNode) currNode;
+				IDOMNode docNode = (IDOMNode) currNode;
 				return new Region(docNode.getStartOffset(), docNode.getEndOffset() - docNode.getStartOffset());
 			}
 
 			Attr linkableAtt = getLinkableAttrFromNode(currNode, offset);
 			// found attribute to open on
 			if (linkableAtt != null) {
-				DOMAttr att = (DOMAttr) linkableAtt;
+				IDOMAttr att = (IDOMAttr) linkableAtt;
 				// do not include quotes in attribute value region
 				int regOffset = att.getValueRegionStartOffset();
 				int regLength = att.getValueRegion().getTextLength();
diff --git a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingSourceValidator.java b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingSourceValidator.java
index 10b6314..0fbd830 100644
--- a/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingSourceValidator.java
+++ b/bundles/org.eclipse.wst.xml.ui/src/org/eclipse/wst/xml/ui/reconcile/DelegatingSourceValidator.java
@@ -31,12 +31,12 @@
 import org.eclipse.wst.validation.core.IValidationContext;
 import org.eclipse.wst.validation.core.IValidator;
 import org.eclipse.wst.validation.core.ValidationException;
-import org.eclipse.wst.xml.core.document.DOMAttr;
-import org.eclipse.wst.xml.core.document.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMElement;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
-import org.eclipse.wst.xml.core.document.DOMText;
+import org.eclipse.wst.xml.core.document.IDOMAttr;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMElement;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
+import org.eclipse.wst.xml.core.document.IDOMText;
 import org.eclispe.wst.validation.internal.core.IMessageAccess;
 import org.w3c.dom.NamedNodeMap;
 import org.w3c.dom.Node;
@@ -173,9 +173,9 @@
 		if (delta.length > 0) {
 			// get the file, model and document:
 			IFile file = getFile(delta[0]);
-			DOMModel xmlModel = getModelForResource(file);
+			IDOMModel xmlModel = getModelForResource(file);
 			try {
-				DOMDocument document = xmlModel.getDocument();
+				IDOMDocument document = xmlModel.getDocument();
 
 				// store the text in a byte array; make a full copy to ease
 				// any threading problems
@@ -212,7 +212,7 @@
 	 * @param reporter -
 	 *            the reporter the messages are to be added to
 	 */
-	protected void updateValidationMessages(List messages, DOMDocument document, IReporter reporter) {
+	protected void updateValidationMessages(List messages, IDOMDocument document, IReporter reporter) {
 		for (int i = 0; i < messages.size(); i++) {
 			IMessage message = (IMessage) messages.get(i);
 			try {
@@ -257,7 +257,7 @@
 	 *            the file to get the model for
 	 * @return the file's XMLModel
 	 */
-	protected DOMModel getModelForResource(IFile file) {
+	protected IDOMModel getModelForResource(IFile file) {
 		IStructuredModel model = null;
 		IModelManager manager = StructuredModelManager.getModelManager();
 
@@ -269,7 +269,7 @@
 			// e.printStackTrace();
 		}
 
-		return model instanceof DOMModel ? (DOMModel) model : null;
+		return model instanceof IDOMModel ? (IDOMModel) model : null;
 	}
 
 	/**
@@ -295,7 +295,7 @@
 	 * information from nameOrValue and the DOM to get better offsets
 	 * 
 	 */
-	protected int[] computeStartEndLocation(int startOffset, String errorMessage, String selectionStrategy, String nameOrValue, DOMDocument document) {
+	protected int[] computeStartEndLocation(int startOffset, String errorMessage, String selectionStrategy, String nameOrValue, IDOMDocument document) {
 		try {
 			int startEndPositions[] = new int[2];
 
@@ -329,7 +329,7 @@
 															// highlight the
 															// opening tag
 					if (node.getNodeType() == Node.ELEMENT_NODE) {
-						DOMElement element = (DOMElement) node;
+						IDOMElement element = (IDOMElement) node;
 						startEndPositions[0] = element.getStartOffset() + 1;
 						startEndPositions[1] = startEndPositions[0] + element.getTagName().length();
 					}
@@ -346,8 +346,8 @@
 																		// attribute
 																		// name
 					if (node.getNodeType() == Node.ELEMENT_NODE) {
-						DOMElement element = (DOMElement) node;
-						DOMNode attributeNode = (DOMNode) (element.getAttributeNode(nameOrValue));
+						IDOMElement element = (IDOMElement) node;
+						IDOMNode attributeNode = (IDOMNode) (element.getAttributeNode(nameOrValue));
 						if (attributeNode != null) {
 							startEndPositions[0] = attributeNode.getStartOffset();
 							startEndPositions[1] = attributeNode.getStartOffset() + nameOrValue.length();
@@ -365,8 +365,8 @@
 																		// attribute's
 																		// value
 					if (node.getNodeType() == Node.ELEMENT_NODE) {
-						DOMElement element = (DOMElement) node;
-						DOMAttr attributeNode = (DOMAttr) (element.getAttributeNode(nameOrValue));
+						IDOMElement element = (IDOMElement) node;
+						IDOMAttr attributeNode = (IDOMAttr) (element.getAttributeNode(nameOrValue));
 						if (attributeNode != null) {
 							startEndPositions[0] = attributeNode.getValueRegionStartOffset();
 							startEndPositions[1] = startEndPositions[0] + attributeNode.getValueRegionText().length();
@@ -378,11 +378,11 @@
 																	// ALL
 																	// attributes
 					if (node.getNodeType() == Node.ELEMENT_NODE) {
-						DOMElement element = (DOMElement) node;
+						IDOMElement element = (IDOMElement) node;
 						NamedNodeMap attributes = element.getAttributes();
 						if (attributes != null) {
-							DOMNode first = (DOMNode) attributes.item(0);
-							DOMNode last = (DOMNode) attributes.item(attributes.getLength() - 1);
+							IDOMNode first = (IDOMNode) attributes.item(0);
+							IDOMNode last = (IDOMNode) attributes.item(attributes.getLength() - 1);
 							if (first != null && last != null) {
 								startEndPositions[0] = first.getStartOffset();
 								startEndPositions[1] = last.getEndOffset();
@@ -397,7 +397,7 @@
 															// any extra
 															// whitespace)
 					if (node.getNodeType() == Node.TEXT_NODE) {
-						DOMText textNode = (DOMText) node;
+						IDOMText textNode = (IDOMText) node;
 						int start = textNode.getStartOffset();
 						String value = textNode.getNodeValue();
 						int index = 0;
@@ -413,10 +413,10 @@
 						startEndPositions[1] = start + value.trim().length() - 1;
 					}
 					else if (node.getNodeType() == Node.ELEMENT_NODE) {
-						DOMElement element = (DOMElement) node;
+						IDOMElement element = (IDOMElement) node;
 						Node child = element.getFirstChild();
-						if (child instanceof DOMNode) {
-							DOMNode xmlChild = ((DOMNode) child);
+						if (child instanceof IDOMNode) {
+							IDOMNode xmlChild = ((IDOMNode) child);
 							startEndPositions[0] = xmlChild.getStartOffset();
 							startEndPositions[1] = xmlChild.getEndOffset();
 						}
@@ -440,7 +440,7 @@
 						for (int i = 0; i < nodes.getLength(); i++) {
 							Node currentNode = nodes.item(i);
 							if (currentNode.getNodeType() == Node.TEXT_NODE) {
-								DOMText textNode = (DOMText) currentNode;
+								IDOMText textNode = (IDOMText) currentNode;
 								if (textNode.getNodeValue().trim().length() > 0) {
 									String value = textNode.getNodeValue();
 									int index = 0;
@@ -489,7 +489,7 @@
 						// with the value we want:
 						NamedNodeMap attributes = node.getAttributes();
 						for (int i = 0; i < attributes.getLength(); i++) {
-							DOMAttr attr = (DOMAttr) attributes.item(i);
+							IDOMAttr attr = (IDOMAttr) attributes.item(i);
 							String nodeValue = attr.getNodeValue().trim();
 							if (nodeValue.equals(nameOrValue)) {
 								startEndPositions[0] = attr.getValueRegionStartOffset() + 1;
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
index caeb077..9a0fed0 100644
--- 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
@@ -30,7 +30,7 @@
 import org.eclipse.wst.sse.ui.internal.reconcile.ReconcileAnnotationKey;
 import org.eclipse.wst.sse.ui.internal.reconcile.StructuredReconcileStep;
 import org.eclipse.wst.sse.ui.internal.reconcile.TemporaryAnnotation;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.parser.XMLRegionContext;
 import org.eclipse.wst.xml.ui.internal.correction.ProblemIDsXML;
 import org.w3c.dom.Node;
@@ -335,7 +335,7 @@
             return;
         
 		// check start/end tag pairs
-		DOMNode xmlNode = getXMLNode(sdRegion);
+		IDOMNode xmlNode = getXMLNode(sdRegion);
         
         if(xmlNode == null)
             return;
@@ -379,9 +379,9 @@
     						tagClose = "/"; //$NON-NLS-1$
     						tagCloseOffset--;
     					}
-    					DOMNode firstChild = (DOMNode) xmlNode.getFirstChild();
+    					IDOMNode firstChild = (IDOMNode) xmlNode.getFirstChild();
     					while (firstChild != null && firstChild.getNodeType() == Node.TEXT_NODE) {
-    						firstChild = (DOMNode) firstChild.getNextSibling();
+    						firstChild = (IDOMNode) firstChild.getNextSibling();
     					}
     					int endOffset = xmlNode.getEndOffset();
     					int firstChildStartOffset = firstChild == null ? endOffset : firstChild.getStartOffset();
@@ -441,7 +441,7 @@
 			if (!sdRegion.isDeleted())
 				regions.add(sdRegion);
             
-            DOMNode xmlNode = getXMLNode(sdRegion);
+            IDOMNode xmlNode = getXMLNode(sdRegion);
             
 			while (sdRegion != null 
                     && !sdRegion.isDeleted() 
@@ -456,19 +456,19 @@
 		return (IStructuredDocumentRegion[]) regions.toArray(new IStructuredDocumentRegion[regions.size()]);
 	}
 
-	private DOMNode getXMLNode(IStructuredDocumentRegion sdRegion) {
+	private IDOMNode getXMLNode(IStructuredDocumentRegion sdRegion) {
         
         if(sdRegion == null)
             return null;
         
 		IStructuredModel xModel = null;
-		DOMNode xmlNode = null;
+		IDOMNode xmlNode = null;
 		// get/release models should always be in a try/finally block
 		try {
 			xModel = StructuredModelManager.getModelManager().getExistingModelForRead(getDocument());
 			// xModel is sometime null, when closing editor, for example
 			if (xModel != null) {
-				xmlNode = (DOMNode) xModel.getIndexedRegion(sdRegion.getStart());
+				xmlNode = (IDOMNode) xModel.getIndexedRegion(sdRegion.getStart());
 			}
 		} finally {
 			if (xModel != null) {
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
index fa40e61..4b6b071 100644
--- 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
@@ -15,8 +15,8 @@
 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.DOMDocument;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMDocument;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.modelhandler.EmbeddedXML;
 
 
@@ -26,8 +26,8 @@
 	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
 	 */
 	public void addAdapterFactories(IStructuredModel structuredModel) {
-		if (structuredModel instanceof DOMModel) {
-			DOMDocument doc = ((DOMModel) structuredModel).getDocument();
+		if (structuredModel instanceof IDOMModel) {
+			IDOMDocument doc = ((IDOMModel) structuredModel).getDocument();
 		}
 	}
 
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
index 249abce..16d818b 100644
--- 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
@@ -27,7 +27,7 @@
 import org.eclipse.wst.sse.core.util.Debug;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMElementDeclaration;
 import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
@@ -73,7 +73,7 @@
 
 		while (node != null && node.getNodeType() == Node.TEXT_NODE && node.getParentNode() != null)
 			node = node.getParentNode();
-		DOMNode parentNode = (DOMNode) node;
+		IDOMNode parentNode = (IDOMNode) node;
 
 		IStructuredDocumentRegion flatNode = ((IStructuredDocument) textViewer.getDocument()).getRegionAtCharacterOffset(documentPosition);
 		if (flatNode != null) {
@@ -91,24 +91,24 @@
 	 * 
 	 * @return String hoverhelp
 	 */
-	protected String computeRegionHelp(IndexedRegion treeNode, DOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
+	protected String computeRegionHelp(IndexedRegion treeNode, IDOMNode 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((DOMNode) treeNode, parentNode, flatNode, region);
+			result = computeTagNameHelp((IDOMNode) treeNode, parentNode, flatNode, region);
 		else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_NAME)
-			result = computeTagAttNameHelp((DOMNode) treeNode, parentNode, flatNode, region);
+			result = computeTagAttNameHelp((IDOMNode) treeNode, parentNode, flatNode, region);
 		else if (regionType == XMLRegionContext.XML_TAG_ATTRIBUTE_VALUE)
-			result = computeTagAttValueHelp((DOMNode) treeNode, parentNode, flatNode, region);
+			result = computeTagAttValueHelp((IDOMNode) treeNode, parentNode, flatNode, region);
 		return result;
 	}
 
 	/**
 	 * Computes the hover help for the attribute name
 	 */
-	protected String computeTagAttNameHelp(DOMNode xmlnode, DOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
+	protected String computeTagAttNameHelp(IDOMNode xmlnode, IDOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
 		CMElementDeclaration elementDecl = getCMElementDeclaration(xmlnode);
 		String attName = flatNode.getText(region);
 		CMAttributeDeclaration attDecl = getCMAttributeDeclaration(elementDecl, attName);
@@ -119,7 +119,7 @@
 	 * Computes the hover help for the attribute value (this is the same as
 	 * the attribute name's help)
 	 */
-	protected String computeTagAttValueHelp(DOMNode xmlnode, DOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
+	protected String computeTagAttValueHelp(IDOMNode xmlnode, IDOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
 		CMElementDeclaration elementDecl = getCMElementDeclaration(xmlnode);
 		ITextRegion attrNameRegion = getAttrNameRegion(xmlnode, region);
 
@@ -131,7 +131,7 @@
 	/**
 	 * Computes the hover help for the tag name
 	 */
-	protected String computeTagNameHelp(DOMNode xmlnode, DOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
+	protected String computeTagNameHelp(IDOMNode xmlnode, IDOMNode parentNode, IStructuredDocumentRegion flatNode, ITextRegion region) {
 		CMElementDeclaration elementDecl = getCMElementDeclaration(xmlnode);
 		CMElementDeclaration pelementDecl = getCMElementDeclaration(parentNode);
 		return getAdditionalInfo(pelementDecl, elementDecl);
@@ -166,7 +166,7 @@
 	 * region
 	 * 
 	 */
-	protected ITextRegion getAttrNameRegion(DOMNode node, ITextRegion region) {
+	protected ITextRegion getAttrNameRegion(IDOMNode node, ITextRegion region) {
 		// Find the attribute name for which this position should have a value
 		IStructuredDocumentRegion open = node.getFirstStructuredDocumentRegion();
 		ITextRegionList openRegions = open.getRegions();
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java
index bc8c108..6867dd3 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/AbstractXSDModelQueryContributor.java
@@ -13,7 +13,7 @@
 import java.util.Vector;
 
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.core.internal.contentmodel.util.NamespaceInfo;
 import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
@@ -23,7 +23,7 @@
 { 
   protected AbstractXSDDataTypeValueExtension xsdDataTypeValueExtension;
 
-  public void setModel(DOMModel model)
+  public void setModel(IDOMModel model)
   {                    
     // remove our old DataTypeValueExtension
     //
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
index 04d601c..aee1278 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDEditor.java
@@ -51,7 +51,7 @@
 import org.eclipse.wst.sse.core.internal.SSECorePlugin;
 import org.eclipse.wst.sse.core.undo.IStructuredTextUndoManager;
 import org.eclipse.wst.sse.ui.internal.StructuredTextEditor;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.document.XMLModelImpl;
 import org.eclipse.wst.xsd.ui.internal.graph.XSDGraphViewer;
 //import org.eclipse.wst.xsd.ui.internal.graph.model.XSDModelAdapterFactory;
@@ -428,7 +428,7 @@
 
   public void reparseSchema()
   {
-    Document document  = ((DOMModel)getModel()).getDocument();
+    Document document  = ((IDOMModel)getModel()).getDocument();
     createSchema(document.getDocumentElement());
   }
   
@@ -768,7 +768,7 @@
    */
   public void createDefaultSchemaNode()
   {
-    Document document  = ((DOMModel)getModel()).getDocument();
+    Document document  = ((IDOMModel)getModel()).getDocument();
     if (document.getChildNodes().getLength() == 0)
     {
       // if it is a completely empty file, then add the encoding and version processing instruction
@@ -811,7 +811,7 @@
   {
     try
     {
-      Document document  = ((DOMModel)getModel()).getDocument();
+      Document document  = ((IDOMModel)getModel()).getDocument();
       if (document.getChildNodes().getLength() == 0)
       {
         // this is an empty document.  Create a default schema tag now
@@ -821,7 +821,7 @@
       createSchema(document.getDocumentElement());
 
 			XSDDocumentAdapter documentAdapter =
-				new XSDDocumentAdapter(((DOMModel)getModel()).getDocument());
+				new XSDDocumentAdapter(((IDOMModel)getModel()).getDocument());
     }
     catch (Exception e)
     {
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java
index 947eec3..9d96be7 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDMultiPageEditorPart.java
@@ -50,7 +50,7 @@
 import org.eclipse.wst.sse.core.exceptions.SourceEditingRuntimeException;
 import org.eclipse.wst.sse.core.internal.SSECorePlugin;
 import org.eclipse.wst.sse.ui.internal.StructuredTextEditor;
-import org.eclipse.wst.xml.core.XMLPreferenceNames;
+import org.eclipse.wst.xml.core.IXMLPreferenceNames;
 import org.eclipse.wst.xml.ui.StructuredTextEditorXML;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -679,7 +679,7 @@
 
   protected void saveLastActivePageIndex(int newPageIndex) {
     // save the last active page index to preference manager
-    getPreferenceStore().setValue(XMLPreferenceNames.LAST_ACTIVE_PAGE, newPageIndex);
+    getPreferenceStore().setValue(IXMLPreferenceNames.LAST_ACTIVE_PAGE, newPageIndex);
   }
 
   /**
@@ -687,7 +687,7 @@
    */
   protected void setActivePage() {
     // retrieve the last active page index from preference manager
-    int activePageIndex = getPreferenceStore().getInt(XMLPreferenceNames.LAST_ACTIVE_PAGE);
+    int activePageIndex = getPreferenceStore().getInt(IXMLPreferenceNames.LAST_ACTIVE_PAGE);
 
     // We check this range since someone could hand edit the XML
     // preference file to an invalid value ... which I know from
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
index fc5b138..df1e79b 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/XSDTextEditor.java
@@ -39,8 +39,8 @@
 import org.eclipse.wst.sse.ui.internal.openon.OpenOnAction;
 import org.eclipse.wst.sse.ui.view.events.INodeSelectionListener;
 import org.eclipse.wst.sse.ui.view.events.NodeSelectionChangedEvent;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
 import org.eclipse.wst.xml.ui.StructuredTextEditorXML;
 import org.eclipse.wst.xsd.ui.internal.properties.section.XSDTabbedPropertySheetPage;
@@ -163,7 +163,7 @@
 
       // the text editor can only accept sed nodes!
       //
-      if (!(node instanceof DOMNode))
+      if (!(node instanceof IDOMNode))
       {
         node = null;
       }
@@ -301,9 +301,9 @@
   public void setModel(IFileEditorInput input)
   {                     
     super.setModel(input);
-    if (getModel() instanceof DOMModel)
+    if (getModel() instanceof IDOMModel)
     {
-      xsdModelQueryContributor.setModel((DOMModel)getModel());
+      xsdModelQueryContributor.setModel((IDOMModel)getModel());
     }
     file = input.getFile();
   }
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java
index 7218e23..f16aa0f 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateAttributeAndRequired.java
@@ -16,8 +16,8 @@
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.format.FormatProcessorXML;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.eclipse.xsd.XSDComplexTypeDefinition;
@@ -93,9 +93,9 @@
 	
 	  protected void formatChild(Element child)
 	  {
-	    if (child instanceof DOMNode)
+	    if (child instanceof IDOMNode)
 	    {
-	      DOMModel model = ((DOMNode)child).getModel();
+	      IDOMModel model = ((IDOMNode)child).getModel();
 	      try
 	      {
 	        // tell the model that we are about to make a big model change
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
index 44719de..01a0f36 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/CreateElementAction.java
@@ -19,8 +19,8 @@
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.format.FormatProcessorXML;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.eclipse.wst.xsd.ui.internal.graph.editparts.ComplexTypeDefinitionEditPart;
@@ -187,9 +187,9 @@
     
   protected void formatChild(Element child)
   {
-    if (child instanceof DOMNode)
+    if (child instanceof IDOMNode)
     {
-      DOMModel model = ((DOMNode)child).getModel();
+      IDOMModel model = ((IDOMNode)child).getModel();
       try
       {
         // tell the model that we are about to make a big model change
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java
index 3bb8f8d..221b682 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/DeleteAction.java
@@ -17,7 +17,7 @@
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
 import org.eclipse.wst.xsd.ui.internal.refactor.delete.BaseGlobalCleanup;
@@ -110,7 +110,7 @@
         xsdSchema = ((XSDConcreteComponent)obj).getSchema();
         
         node = ((XSDConcreteComponent)obj).getElement();
-        if (node instanceof DOMNode)
+        if (node instanceof IDOMNode)
         {
           parentXSDComponent = ((XSDConcreteComponent)obj).getContainer();
         
@@ -124,7 +124,7 @@
       }
       if (!XSDDOMHelper.inputEquals(node, XSDConstants.SCHEMA_ELEMENT_TAG, false))
       {
-        if (node instanceof DOMNode)
+        if (node instanceof IDOMNode)
         {
           if (doc == null)
           {
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java
index 65f6580..27c11da 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/MoveAction.java
@@ -14,8 +14,8 @@
 import java.util.List;
 
 import org.eclipse.jface.action.Action;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.xsd.XSDConcreteComponent;
 import org.w3c.dom.Node;
 import org.w3c.dom.Text;
@@ -83,7 +83,7 @@
 
   protected void beginRecording()
   {
-    DOMModel model = getModel();      
+    IDOMModel model = getModel();      
     if (model != null)
     {
       model.beginRecording(this, "Move");
@@ -92,19 +92,19 @@
   
   protected void endRecording()
   {
-    DOMModel model = getModel();      
+    IDOMModel model = getModel();      
     if (model != null)
     {
       model.endRecording(this);    
     }
   }
 
-  protected DOMModel getModel()
+  protected IDOMModel getModel()
   {
-    DOMModel model = null;
-    if (parentNode instanceof DOMNode)
+    IDOMModel model = null;
+    if (parentNode instanceof IDOMNode)
     {                            
-      model = ((DOMNode)parentNode).getModel();
+      model = ((IDOMNode)parentNode).getModel();
     }
     return model;
   }
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java
index 9f5c0cc..62cd397 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/actions/SetBaseTypeAction.java
@@ -19,8 +19,8 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.format.FormatProcessorXML;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
@@ -345,9 +345,9 @@
 
   protected void formatChild(Element child)
   {
-    if (child instanceof DOMNode)
+    if (child instanceof IDOMNode)
     {
-      DOMModel model = ((DOMNode)child).getModel();
+      IDOMModel model = ((IDOMNode)child).getModel();
       try
       {
         // tell the model that we are about to make a big model change
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java
index d6d1cd4..8a03398 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/commands/AbstractCommand.java
@@ -11,8 +11,8 @@
 package org.eclipse.wst.xsd.ui.internal.commands;
 
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.format.FormatProcessorXML;
 import org.eclipse.xsd.XSDConcreteComponent;
 import org.w3c.dom.Element;
@@ -49,9 +49,9 @@
 
   protected void formatChild(Element child)
   {
-    if (child instanceof DOMNode)
+    if (child instanceof IDOMNode)
     {
-      DOMModel model = ((DOMNode)child).getModel();
+      IDOMModel model = ((IDOMNode)child).getModel();
       try
       {
         // tell the model that we are about to make a big model change
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java
index f03f1b1..8101559 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/BaseDragNodesCommand.java
@@ -13,7 +13,7 @@
 import java.util.Collection;
 
 import org.eclipse.wst.common.ui.dnd.DefaultDragAndDropCommand;
-import org.eclipse.wst.xml.core.document.DOMModel;
+import org.eclipse.wst.xml.core.document.IDOMModel;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
 import org.eclipse.xsd.util.XSDConstants;
@@ -64,7 +64,7 @@
   {
     if (target != null)
     {
-      DOMModel model = getModel((Node)target);
+      IDOMModel model = getModel((Node)target);
       
       if (model != null)
       {
@@ -77,7 +77,7 @@
   {
     if (target != null)
     {
-      DOMModel model = getModel((Node)target);
+      IDOMModel model = getModel((Node)target);
       
       if (model != null)
       {
@@ -85,7 +85,7 @@
       }
     }
   }
-  protected DOMModel getModel(Node node)
+  protected IDOMModel getModel(Node node)
   {
     Object object = node.getOwnerDocument();
     if (object instanceof DocumentImpl)
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java
index 6c8aa7b..76bb37f 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/dnd/DragNodesCommand.java
@@ -13,7 +13,7 @@
 import java.util.Collection;
 import java.util.Iterator;
 
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.format.NodeFormatter;
 import org.w3c.dom.Node;
 
@@ -68,7 +68,7 @@
       if (isSiblingNodes(referenceNode,node)) 
       {
         moveNode(referenceNode, node, !isAfter());
-        formatProcessor.format((DOMNode)node);
+        formatProcessor.format((IDOMNode)node);
       }
     }
 //    formatProcessor.format((XMLNode)referenceNode.getParentNode());
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java
index da35f8e..4686807 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/LinkedGraphViewer.java
@@ -24,7 +24,7 @@
 import org.eclipse.swt.custom.SashForm;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xsd.ui.internal.XSDEditor;
 import org.eclipse.wst.xsd.ui.internal.util.ViewUtility;
 import org.eclipse.xsd.XSDConcreteComponent;
@@ -146,7 +146,7 @@
 
               // this test ensures that we don't attempt to select an element for an external schema
               //
-              if (element instanceof DOMNode)
+              if (element instanceof IDOMNode)
               {
                 // now update the minor viewer based on the selected component in the major viewer
                 minorViewer.setInput((XSDConcreteComponent)model);
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java
index 88946e6..3c247f8 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/graph/XSDGraphUtil.java
@@ -10,7 +10,7 @@
  *******************************************************************************/
 package org.eclipse.wst.xsd.ui.internal.graph;
 
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.xsd.XSDConcreteComponent;
 import org.w3c.dom.Element;
               
@@ -25,7 +25,7 @@
       Element element = ((XSDConcreteComponent)model).getElement();
       // this test ensures that we don't attempt to select an element for an external schema
       //
-      if (element instanceof DOMNode)
+      if (element instanceof IDOMNode)
       {
          result = true;
       }
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java
index ecef637..ae01cd5 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/AbstractSection.java
@@ -37,7 +37,7 @@
 import org.eclipse.wst.common.ui.properties.internal.provisional.TabbedPropertySheetPage;
 import org.eclipse.wst.common.ui.properties.internal.provisional.TabbedPropertySheetWidgetFactory;
 import org.eclipse.wst.xml.core.NameValidator;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.document.DocumentImpl;
 import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
 import org.eclipse.wst.xsd.ui.internal.actions.CreateElementAction;
@@ -103,7 +103,7 @@
       xsdSchema = ((XSDConcreteComponent)input).getSchema();
       
       Element element = ((XSDConcreteComponent)input).getElement();
-      if (element instanceof DOMNode)
+      if (element instanceof IDOMNode)
       {
         isReadOnly = false;
       }
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java
index ff79198..b084ed8 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/properties/section/XSDSectionLabelProvider.java
@@ -15,7 +15,7 @@
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xsd.ui.internal.XSDEditorPlugin;
 import org.eclipse.wst.xsd.ui.internal.XSDTextEditor;
 import org.eclipse.xsd.XSDAttributeDeclaration;
@@ -117,7 +117,7 @@
             sb.append(XSDEditorPlugin.getXSDString("_UI_PAGE_HEADING_REFERENCE"));
           }
           
-          if (!(element instanceof DOMNode))
+          if (!(element instanceof IDOMNode))
           {
             sb.append(" (" + XSDEditorPlugin.getXSDString("_UI_LABEL_READ_ONLY") + ")");   //$NON-NLS-1$
           }
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java
index 5d803fc..491fe7c 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/refactor/rename/SchemaPrefixChangeHandler.java
@@ -13,7 +13,7 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xsd.ui.internal.refactor.XSDVisitor;
 import org.eclipse.wst.xsd.ui.internal.util.XSDDOMHelper;
 import org.eclipse.xsd.XSDAttributeDeclaration;
@@ -87,7 +87,7 @@
         if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))        
         {
           Element domElement = element.getElement();
-          if (domElement != null && domElement instanceof DOMNode)
+          if (domElement != null && domElement instanceof IDOMNode)
           {
             Attr typeAttr = domElement.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
             if (typeAttr != null)
@@ -114,7 +114,7 @@
         {
           XSDDOMHelper domHelper = new XSDDOMHelper();
           Element derivedBy = domHelper.getDerivedByElement(simpleType.getElement());
-          if (derivedBy != null && derivedBy instanceof DOMNode)
+          if (derivedBy != null && derivedBy instanceof IDOMNode)
           {
             Attr typeAttr = derivedBy.getAttributeNode(XSDConstants.BASE_ATTRIBUTE);
             if (typeAttr != null)
@@ -137,7 +137,7 @@
           if (listNode != null && listNode instanceof Element)
           {
             Element listElement = (Element)listNode;          
-            if (listElement instanceof DOMNode)
+            if (listElement instanceof IDOMNode)
             {
               Attr typeAttr = listElement.getAttributeNode(XSDConstants.ITEMTYPE_ATTRIBUTE);
               if (typeAttr != null)
@@ -157,7 +157,7 @@
         if (unionNode != null && unionNode instanceof Element)
         {
           Element unionElement = (Element)unionNode;          
-          if (unionElement instanceof DOMNode)
+          if (unionElement instanceof IDOMNode)
           {
             Attr typeAttr = unionElement.getAttributeNode(XSDConstants.MEMBERTYPES_ATTRIBUTE);
             StringBuffer sb = new StringBuffer("");
@@ -197,7 +197,7 @@
         if (ns.equals(XSDConstants.SCHEMA_FOR_SCHEMA_URI_2001))
         {
           Element domElement = attr.getElement();
-          if (domElement != null && domElement instanceof DOMNode)
+          if (domElement != null && domElement instanceof IDOMNode)
           {
             Attr typeAttr = domElement.getAttributeNode(XSDConstants.TYPE_ATTRIBUTE);
             if (typeAttr != null)
diff --git a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java
index 0f6aa88..5d13a52 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src/org/eclipse/wst/xsd/ui/internal/util/XSDDOMHelper.java
@@ -11,8 +11,8 @@
 package org.eclipse.wst.xsd.ui.internal.util;
 
 import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
-import org.eclipse.wst.xml.core.document.DOMModel;
-import org.eclipse.wst.xml.core.document.DOMNode;
+import org.eclipse.wst.xml.core.document.IDOMModel;
+import org.eclipse.wst.xml.core.document.IDOMNode;
 import org.eclipse.wst.xml.core.format.FormatProcessorXML;
 import org.eclipse.xsd.util.XSDConstants;
 import org.w3c.dom.Document;
@@ -825,9 +825,9 @@
 
 	public static void formatChild(Node child)
 	{
-    if (child instanceof DOMNode)
+    if (child instanceof IDOMNode)
     {
-      DOMModel model = ((DOMNode)child).getModel();
+      IDOMModel model = ((IDOMNode)child).getModel();
       try
       {
         // tell the model that we are about to make a big model change