This commit was manufactured by cvs2svn to create tag 'R3_2_0'.
diff --git a/bundles/org.eclipse.wst.xsl.core/.classpath b/bundles/org.eclipse.wst.xsl.core/.classpath
index 27e4bf7..5e0b5d0 100644
--- a/bundles/org.eclipse.wst.xsl.core/.classpath
+++ b/bundles/org.eclipse.wst.xsl.core/.classpath
@@ -2,6 +2,14 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="src_sse"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
+		<accessrules>
+			<accessrule kind="accessible" pattern="*org/eclipse/wst/xsl/**"/>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/xml/**"/>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/validation/**"/>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/sse/**"/>
+		</accessrules>
+	</classpathentry>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
 		<accessrules>
 			<accessrule kind="accessible" pattern="org/apache/xerces/**"/>
@@ -10,10 +18,5 @@
 			<accessrule kind="accessible" pattern="org/apache/xpath/**"/>
 		</accessrules>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
-		<accessrules>
-			<accessrule kind="accessible" pattern="*org/eclipse/wst/xsl/**"/>
-		</accessrules>
-	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/bundles/org.eclipse.wst.xsl.core/.cvsignore b/bundles/org.eclipse.wst.xsl.core/.cvsignore
index 964f6df..a066c9c 100644
--- a/bundles/org.eclipse.wst.xsl.core/.cvsignore
+++ b/bundles/org.eclipse.wst.xsl.core/.cvsignore
@@ -1,2 +1,3 @@
 src_xpath
 xpathgrammar
+.byecycle
diff --git a/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF
index 2e156fd..aa7365a 100644
--- a/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF
@@ -2,16 +2,16 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xsl.core;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.wst.xsl.core.internal.XSLCorePlugin
-Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
+Require-Bundle: org.apache.xalan;bundle-version="[2.7.1,2.8.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.wst.common.uriresolver;bundle-version="[1.1.301,2.0.0)",
  org.eclipse.wst.xml.core;bundle-version="[1.1.300,2.0.0)",
  org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.wst.sse.core;bundle-version="[1.1.300,2.0.0)",
  org.apache.ant;bundle-version="[1.7.0,2.0.0)";resolution:=optional,
  org.eclipse.wst.validation;bundle-version="[1.1.103,2.0.0)",
- org.apache.xalan;bundle-version="[2.7.1,2.8.0)",
  org.eclipse.wst.xml.xpath.core;bundle-version="[1.0.0,2.0.0)",
  org.eclipse.osgi.util;bundle-version="[3.2.0,4.0.0)"
 Bundle-ActivationPolicy: lazy
@@ -23,6 +23,7 @@
  org.eclipse.wst.xsl.core.internal;x-friends:="org.eclipse.wst.xsl.*",
  org.eclipse.wst.xsl.core.internal.ant;x-internal:=true,
  org.eclipse.wst.xsl.core.internal.encoding;x-friends:="org.eclipse.wst.xsl.*",
+ org.eclipse.wst.xsl.core.internal.model;x-internal:=true,
  org.eclipse.wst.xsl.core.internal.modelhandler;x-friends:="org.eclipse.wst.xsl.*",
  org.eclipse.wst.xsl.core.internal.parser;x-friends:="org.eclipse.wst.xsl.*",
  org.eclipse.wst.xsl.core.internal.parser.regions;x-friends:="org.eclipse.wst.xsl.*",
diff --git a/bundles/org.eclipse.wst.xsl.core/plugin.properties b/bundles/org.eclipse.wst.xsl.core/plugin.properties
index 0c5a5ec..e07a24c 100644
--- a/bundles/org.eclipse.wst.xsl.core/plugin.properties
+++ b/bundles/org.eclipse.wst.xsl.core/plugin.properties
@@ -8,6 +8,6 @@
 XSL.ValidatorDelegate.Name=XSL Validator del
 # ====================================================================
 pluginName = XSL Core
-providerName = Eclipse.org
+providerName = Eclipse Web Tools Platform
 
-XSLProblem = XSL Problem
\ No newline at end of file
+XSLProblem = XSL Problem
diff --git a/bundles/org.eclipse.wst.xsl.core/plugin.xml b/bundles/org.eclipse.wst.xsl.core/plugin.xml
index d8cb95d..00a308a 100644
--- a/bundles/org.eclipse.wst.xsl.core/plugin.xml
+++ b/bundles/org.eclipse.wst.xsl.core/plugin.xml
@@ -9,32 +9,21 @@
 		<fileTypes type="text" extension="xslt" />
 	</extension>
 
-	<extension point="org.eclipse.core.runtime.contentTypes">
-		<!-- content-type
-			file-extensions="xsl,xslt"
-			priority="normal"
-			name="%XSL.ContentType.Name"
-			id="xslsource"
-			base-type="org.eclipse.core.runtime.xml"			
-			default-charset="UTF-8">
-			<describer class="org.eclipse.core.runtime.content.XMLRootElementContentDescriber">
-				<parameter name="element" value="stylesheet"/>
-			</describer>
-		</content-type -->
-  <content-type
-        base-type="org.eclipse.core.runtime.xml"
-        file-extensions="dita,ditamap"
-        id="org.eclipse.wst.xsl.core.content-type.ditasource"
-        name="%DITA_Content_Type_Extension_Element.name"
-        priority="high">
-  </content-type>
-  <content-type
-        base-type="org.eclipse.core.runtime.xml"
-        file-extensions="dbk"
-        id="org.eclipse.wst.xsl.core.content-type.docbooksource"
-        name="%Docbook_Content_Type_Extension_Element.name"
-        priority="high">
-  </content-type>
+	<extension point="org.eclipse.core.contenttype.contentTypes">
+	  <content-type
+	        base-type="org.eclipse.core.runtime.xml"
+	        file-extensions="dita,ditamap"
+	        id="org.eclipse.wst.xsl.core.content-type.ditasource"
+	        name="%DITA_Content_Type_Extension_Element.name"
+	        priority="high">
+	  </content-type>
+	  <content-type
+	        base-type="org.eclipse.core.runtime.xml"
+	        file-extensions="dbk"
+	        id="org.eclipse.wst.xsl.core.content-type.docbooksource"
+	        name="%Docbook_Content_Type_Extension_Element.name"
+	        priority="high">
+	  </content-type>
 	</extension>
 	
 	<!-- The magic which detects XSLT 1.0 or 2.0 stylesheets and supplies the correct XSD -->	
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/XSLCore.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/XSLCore.java
index 1223927..4b3d0c8 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/XSLCore.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/XSLCore.java
@@ -7,9 +7,13 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (STAR) - bug 287499 - add XML Catalog Resolution for a file.
+ *     Jesper Steen Moller - bug 304162 - support absolute files properly
  *******************************************************************************/
 package org.eclipse.wst.xsl.core;
 
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
@@ -17,14 +21,15 @@
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.text.IDocument;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
 import org.eclipse.wst.sse.core.StructuredModelManager;
 import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
 import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xsl.core.internal.StylesheetBuilder;
+import org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder;
 import org.eclipse.wst.xsl.core.internal.util.FileUtil;
 import org.eclipse.wst.xsl.core.model.Stylesheet;
 import org.eclipse.wst.xsl.core.model.StylesheetModel;
@@ -35,28 +40,28 @@
 /**
  * The interface to all aspects of the XSL core functionality.
  * <p>
- * This is responsible for building and maintaining the cache of built XSL models.
+ * This is responsible for building and maintaining the cache of built XSL
+ * models.
  * </p>
  * 
  * @author Doug Satchwell
  */
-public class XSLCore
-{
+public class XSLCore {
 	/**
 	 * The XSL namespace URI (= http://www.w3.org/1999/XSL/Transform)
 	 */
 	public static final String XSL_NAMESPACE_URI = "http://www.w3.org/1999/XSL/Transform"; //$NON-NLS-1$
-	
+
 	/**
 	 * The XSL content type (= org.eclipse.wst.xml.core.xslsource)
 	 */
 	public static final String XSL_CONTENT_TYPE = "org.eclipse.wst.xml.core.xslsource"; //$NON-NLS-1$
-	
+
 	private static XSLCore instance;
 	private Map<IFile, StylesheetModel> stylesheetsComposed = new HashMap<IFile, StylesheetModel>();
 
-	private XSLCore()
-	{}
+	private XSLCore() {
+	}
 
 	/**
 	 * Get the cached stylesheet, or build it if it has not yet been built.
@@ -65,8 +70,7 @@
 	 * @return source file, or null if could not be built
 	 * @since 1.0
 	 */
-	public synchronized StylesheetModel getStylesheet(IFile file)
-	{
+	public synchronized StylesheetModel getStylesheet(IFile file) {
 		StylesheetModel stylesheet = stylesheetsComposed.get(file);
 		if (stylesheet == null)
 			stylesheet = buildStylesheet(file);
@@ -80,30 +84,32 @@
 	 * @return the stylesheet model, or null if it could not be created.
 	 * @since 1.0
 	 */
-	public synchronized StylesheetModel buildStylesheet(IFile file)
-	{
-		Stylesheet stylesheet = StylesheetBuilder.getInstance().getStylesheet(file, true);
+	public synchronized StylesheetModel buildStylesheet(IFile file) {
+		Stylesheet stylesheet = StylesheetBuilder.getInstance().getStylesheet(
+				file, true);
 		if (stylesheet == null)
 			return null;
-		StylesheetModel stylesheetComposed = new StylesheetModel(stylesheet);			
+		StylesheetModel stylesheetComposed = new StylesheetModel(stylesheet);
 		stylesheetsComposed.put(file, stylesheetComposed);
 		stylesheetComposed.fix();
 		return stylesheetComposed;
 	}
-	
+
 	/**
 	 * Clean all of the stylesheets from the given project.
 	 * 
-	 * @param project the project to be cleaned
-	 * @param monitor a progress monitor to track the clean progress
+	 * @param project
+	 *            the project to be cleaned
+	 * @param monitor
+	 *            a progress monitor to track the clean progress
 	 */
-	public synchronized void clean(IProject project, IProgressMonitor monitor)
-	{
-		for (Iterator<StylesheetModel> iter = stylesheetsComposed.values().iterator(); iter.hasNext();)
-		{
+	public synchronized void clean(IProject project, IProgressMonitor monitor) {
+		for (Iterator<StylesheetModel> iter = stylesheetsComposed.values()
+				.iterator(); iter.hasNext();) {
 			StylesheetModel model = iter.next();
-			if (project == null || project.equals(model.getStylesheet().getFile().getProject()))
-			{
+			if (project == null
+					|| project.equals(model.getStylesheet().getFile()
+							.getProject())) {
 				iter.remove();
 			}
 		}
@@ -114,8 +120,7 @@
 	 * 
 	 * @return the <code>XSLCore</code> instance
 	 */
-	public static synchronized XSLCore getInstance()
-	{
+	public static synchronized XSLCore getInstance() {
 		if (instance == null)
 			instance = new XSLCore();
 		return instance;
@@ -124,48 +129,96 @@
 	/**
 	 * Locates a file for the given current file and URI.
 	 * 
-	 * @param currentFile the file to resolve relative to
-	 * @param uri the relative URI 
+	 * @param currentFile
+	 *            the file to resolve relative to
+	 * @param uri
+	 *            the relative URI
 	 * @return the file at the URI relative to this <code>currentFile</code>
 	 */
-	// TODO depends on how we resolve URIs		
-	public static IFile resolveFile(IFile currentFile, String uri)
-	{
+	public static IFile resolveFile(IFile currentFile, String uri) {		
 		if (uri == null || uri.trim().length() == 0)
-			return null;
-		IResource resource = currentFile.getParent().findMember(new Path(uri));
-		if (resource == null || resource.getType() != IResource.FILE)
 			return null;		
-		return (IFile)resource;
+		IResource resource = currentFile.getParent().findMember(new Path(uri));
+		if (resource == null) {
+			String baseURI = currentFile.getRawLocationURI().toString();
+			String resolvedURI = URIResolverPlugin.createResolver().resolve(baseURI, "", uri);		 //$NON-NLS-1$
+
+			URI parsedUri = null;
+			boolean isAbsolute = false;
+			try {
+				parsedUri = new URI(resolvedURI);
+				if (parsedUri.isAbsolute()) isAbsolute = true;
+			} catch (URISyntaxException e) {
+			}
+			
+			if (uri != null && isAbsolute) {
+				if (resolvedURI.startsWith("platform:/resource/")) {		 //$NON-NLS-1$
+					String platformPart = resolvedURI.substring(19);
+					resource = currentFile.getWorkspace().getRoot().findMember(platformPart);
+				} else {
+					resource = findBestFileForURI(parsedUri);
+				}
+			} else {
+				resource = currentFile.getParent().findMember(new Path(uri));
+			}
+		}
+		if (resource == null || resource.getType() != IResource.FILE)
+			return null;
+		return (IFile) resource;
 	}
+
 	/**
-	 * Determine whether the given file is an XML file by inspecting its content types.
+	 * Find an IFile as close to the root as possible matching this file URI.
 	 * 
-	 * @param file the file to inspect
+	 * @param parsedUri URI from the catalog / resolver lookup
+	 * @return a file resource which exists in the workspace, or null if none were found.
+	 */
+	private static IFile findBestFileForURI(URI parsedUri) {
+		IFile fileNearestRoot = null;
+		IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocationURI(parsedUri);
+		for (int i = 0; i < files.length; i++) {
+			if (files[i].exists()) {
+				if (fileNearestRoot == null
+						||
+						files[i].getFullPath().segmentCount() < fileNearestRoot.getFullPath().segmentCount()) {
+					fileNearestRoot = files[i];
+				}
+			}
+		}
+		return fileNearestRoot;
+	}
+
+	/**
+	 * Determine whether the given file is an XML file by inspecting its content
+	 * types.
+	 * 
+	 * @param file
+	 *            the file to inspect
 	 * @return true if this file is an XML file
 	 */
 
-	public static boolean isXMLFile(IFile file)
-	{
+	public static boolean isXMLFile(IFile file) {
 		return FileUtil.isXMLFile(file);
 	}
 
 	/**
-	 * Determine whether the given file is an XSL file by inspecting its content types.
+	 * Determine whether the given file is an XSL file by inspecting its content
+	 * types.
 	 * 
-	 * @param file the file to inspect
+	 * @param file
+	 *            the file to inspect
 	 * @return true if this file is an XSL file
 	 */
-	public static boolean isXSLFile(IFile file)
-	{
+	public static boolean isXSLFile(IFile file) {
 		return FileUtil.isXSLFile(file);
 	}
-	
-	
+
 	/**
-	 * Takes a given <code>Node</code> and returns whether it 
-	 * is part of the the XSLT Namespace.
-	 * @param node  The Node to be checked.
+	 * Takes a given <code>Node</code> and returns whether it is part of the the
+	 * XSLT Namespace.
+	 * 
+	 * @param node
+	 *            The Node to be checked.
 	 * @return True if part of the XSLT namespace, false otherwise.
 	 * @since 1.0
 	 */
@@ -177,33 +230,34 @@
 	}
 
 	/**
-	 * Determine if the Node that was passed has a Namespace.  If it
-	 * doesn't the node is either going to be false, or the call to the
-	 * getNamespace() method will return null.
+	 * Determine if the Node that was passed has a Namespace. If it doesn't the
+	 * node is either going to be false, or the call to the getNamespace()
+	 * method will return null.
+	 * 
 	 * @param node
 	 * @return
 	 */
 	private static boolean hasNamespace(Node node) {
 		return node == null || node.getNamespaceURI() == null;
 	}
-	
+
 	/**
-	 * Returns an Attr node for the current Node if one exits at the specified offset.
-	 * @param node 
-	 * @param offset 
+	 * Returns an Attr node for the current Node if one exits at the specified
+	 * offset.
+	 * 
+	 * @param node
+	 * @param offset
 	 * @return A w3c.dom.Attr
 	 * @since 1.0
 	 */
-	public static Attr getCurrentAttrNode(Node node, int offset)
-	{
-		if ((node instanceof IndexedRegion) && ((IndexedRegion) node).contains(offset) && (node.hasAttributes()))
-		{
+	public static Attr getCurrentAttrNode(Node node, int offset) {
+		if ((node instanceof IndexedRegion)
+				&& ((IndexedRegion) node).contains(offset)
+				&& (node.hasAttributes())) {
 			NamedNodeMap attrs = node.getAttributes();
-			for (int i = 0; i < attrs.getLength(); ++i)
-			{
+			for (int i = 0; i < attrs.getLength(); ++i) {
 				IndexedRegion attRegion = (IndexedRegion) attrs.item(i);
-				if (attRegion.contains(offset))
-				{
+				if (attRegion.contains(offset)) {
 					return (Attr) attrs.item(i);
 				}
 			}
@@ -214,33 +268,29 @@
 	/**
 	 * Returns the current Node at the specified offset.
 	 * 
-	 * @param document 
-	 * @param offset 
+	 * @param document
+	 * @param offset
 	 * @return an w3c.dom.Node
 	 * @since 1.0
 	 */
-	public static Node getCurrentNode(IDocument document, int offset)
-	{
+	public static Node getCurrentNode(IDocument document, int offset) {
 		IndexedRegion inode = null;
 		IStructuredModel sModel = null;
-		try
-		{
-			sModel = StructuredModelManager.getModelManager().getExistingModelForRead(document);
+		try {
+			sModel = StructuredModelManager.getModelManager()
+					.getExistingModelForRead(document);
 			inode = sModel.getIndexedRegion(offset);
 			if (inode == null)
 				inode = sModel.getIndexedRegion(offset - 1);
-		}
-		finally
-		{
+		} finally {
 			if (sModel != null)
 				sModel.releaseFromRead();
 		}
 
-		if (inode instanceof Node)
-		{
+		if (inode instanceof Node) {
 			return (Node) inode;
 		}
 		return null;
 	}
-	
+
 }
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/StylesheetBuilder.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/StylesheetBuilder.java
deleted file mode 100644
index 57995a4..0000000
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/StylesheetBuilder.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
- *     David Carver - fix issue with xslElm being null on local variables.
- *******************************************************************************/
-package org.eclipse.wst.xsl.core.internal;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Stack;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xsl.core.XSLCore;
-import org.eclipse.wst.xsl.core.internal.util.Debug;
-import org.eclipse.wst.xsl.core.model.CallTemplate;
-import org.eclipse.wst.xsl.core.model.Import;
-import org.eclipse.wst.xsl.core.model.Include;
-import org.eclipse.wst.xsl.core.model.Parameter;
-import org.eclipse.wst.xsl.core.model.Stylesheet;
-import org.eclipse.wst.xsl.core.model.Template;
-import org.eclipse.wst.xsl.core.model.Variable;
-import org.eclipse.wst.xsl.core.model.XSLAttribute;
-import org.eclipse.wst.xsl.core.model.XSLElement;
-import org.eclipse.wst.xsl.core.model.XSLNode;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * A builder that creates and maintains a cache of <code>Stylesheet</code>'s.
- * 
- * @author Doug Satchwell
- */
-public class StylesheetBuilder {
-	private static StylesheetBuilder instance;
-	private final Map<IFile, Stylesheet> builtFiles = new HashMap<IFile, Stylesheet>();
-
-	private StylesheetBuilder() {
-	}
-
-	/**
-	 * Get the <code>Stylesheet</code> associated with the given file. If either
-	 * the <code>Stylesheet</code> has not yet been created or
-	 * <code>force</code> is specified then the <code>Stylesheet</code> is
-	 * built.
-	 * 
-	 * @param file
-	 *            the XSL file
-	 * @param force
-	 *            <code>true</code> to force a parse of the file
-	 * @return the <code>Stylesheet</code>
-	 */
-	public Stylesheet getStylesheet(IFile file, boolean force) {
-		Stylesheet stylesheet = builtFiles.get(file);
-		if (stylesheet == null || force) {
-			stylesheet = build(file);
-			builtFiles.put(file, stylesheet);
-		}
-		return stylesheet;
-	}
-
-	private Stylesheet build(IFile file) {
-		long start = System.currentTimeMillis();
-		if (Debug.debugXSLModel) {
-			System.out.println("Building " + file + "..."); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-
-		Stylesheet stylesheet = null;
-		IStructuredModel smodel = null;
-		try {
-			smodel = StructuredModelManager.getModelManager()
-					.getExistingModelForRead(file);
-			if (smodel == null) {
-				smodel = StructuredModelManager.getModelManager()
-						.getModelForRead(file);
-				if (Debug.debugXSLModel) {
-					long endParse = System.currentTimeMillis();
-					System.out.println("PARSE " + file + " in " //$NON-NLS-1$ //$NON-NLS-2$
-							+ (endParse - start) + "ms"); //$NON-NLS-1$
-				}
-			} else if (Debug.debugXSLModel) {
-				long endParse = System.currentTimeMillis();
-				System.out.println("NO-PARSE " + file + " in " //$NON-NLS-1$ //$NON-NLS-2$
-						+ (endParse - start) + "ms"); //$NON-NLS-1$
-			}
-			// start = System.currentTimeMillis();
-			if (smodel != null && smodel instanceof IDOMModel) {
-				IDOMModel model = (IDOMModel) smodel;
-				stylesheet = parseModel(model, file);
-			}
-		} catch (IOException e) {
-			XSLCorePlugin.log(e);
-		} catch (CoreException e) {
-			XSLCorePlugin.log(e);
-		} finally {
-			if (smodel != null)
-				smodel.releaseFromRead();
-		}
-		if (Debug.debugXSLModel) {
-			long end = System.currentTimeMillis();
-			System.out.println("BUILD " + file + " in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		return stylesheet;
-	}
-
-	private Stylesheet parseModel(IDOMModel model, IFile file) {
-		IDOMDocument document = model.getDocument();
-		Stylesheet sf = new Stylesheet(file);
-		StylesheetParser walker = new StylesheetParser(sf);
-		walker.walkDocument(document);
-		return sf;
-	}
-
-	/**
-	 * Get the singleton <code>StylesheetBuilder</code> instance.
-	 * 
-	 * @return the <code>StylesheetBuilder</code> instance
-	 */
-	public static synchronized StylesheetBuilder getInstance() {
-		if (instance == null) {
-			instance = new StylesheetBuilder();
-		}
-		return instance;
-	}
-
-	private static class StylesheetParser {
-		private final Stylesheet sf;
-		private final Stack<Element> elementStack = new Stack<Element>();
-		private Template currentTemplate;
-		private Stack<CallTemplate> callTemplates = new Stack<CallTemplate>();
-		private XSLElement parentEl;
-
-		public StylesheetParser(Stylesheet stylesheet) {
-			this.sf = stylesheet;
-		}
-
-		public void walkDocument(IDOMDocument document) {
-
-			if (document.getDocumentElement() != null)
-				recurse(document.getDocumentElement());
-		}
-
-		private void recurse(Element element) {
-			XSLElement xslEl = null;
-			if (XSLCore.XSL_NAMESPACE_URI.equals(element.getNamespaceURI())) {
-				String elName = element.getLocalName();
-				if ("stylesheet".equals(elName) && elementStack.size() == 0) //$NON-NLS-1$
-				{
-					NamedNodeMap map = element.getAttributes();
-					String version = element.getAttribute("version"); //$NON-NLS-1$
-					sf.setVersion(version);
-					xslEl = sf;
-				} else if ("include".equals(elName) && elementStack.size() == 1) //$NON-NLS-1$
-				{
-					Include include = new Include(sf);
-					sf.addInclude(include);
-					xslEl = include;
-				} else if ("import".equals(elName) && elementStack.size() == 1) //$NON-NLS-1$
-				{
-					Import include = new Import(sf);
-					sf.addImport(include);
-					xslEl = include;
-				} else if ("template".equals(elName) && elementStack.size() == 1) //$NON-NLS-1$
-				{
-					currentTemplate = new Template(sf);
-					sf.addTemplate(currentTemplate);
-					xslEl = currentTemplate;
-				} else if ("param".equals(elName) && elementStack.size() == 2 && currentTemplate != null) //$NON-NLS-1$
-				{
-					Parameter param = new Parameter(sf);
-					// determine whether param has a value
-					NodeList childNodes = element.getChildNodes();
-					for (int i = 0; i < childNodes.getLength(); i++) {
-						Node childNode = childNodes.item(i);
-						if (childNode.getNodeType() != Node.ATTRIBUTE_NODE) {
-							param.setValue(true);
-							break;
-						}
-					}
-					currentTemplate.addParameter(param);
-					xslEl = param;
-				} else if ("call-template".equals(elName) && elementStack.size() >= 2) //$NON-NLS-1$
-				{
-					CallTemplate currentCallTemplate = new CallTemplate(sf);
-					callTemplates.push(currentCallTemplate);
-					sf.addCalledTemplate(currentCallTemplate);
-					xslEl = currentCallTemplate;
-				} else if ("with-param".equals(elName) && elementStack.size() >= 3 && callTemplates.size() > 0) //$NON-NLS-1$
-				{
-					Parameter param = new Parameter(sf);
-					// determine whether param has a value
-					NodeList childNodes = element.getChildNodes();
-					for (int i = 0; i < childNodes.getLength(); i++) {
-						Node childNode = childNodes.item(i);
-						if (childNode.getNodeType() != Node.ATTRIBUTE_NODE) {
-							param.setValue(true);
-							break;
-						}
-					}
-					// get the previous call-template
-					CallTemplate currentCallTemplate = callTemplates.peek();
-					currentCallTemplate.addParameter(param);
-					xslEl = param;
-				} else if ("variable".equals(elName)) //$NON-NLS-1$
-				{
-					if (elementStack.size() == 1)
-					{// global variable
-						Variable var = new Variable(sf);
-						sf.addGlobalVariable(var);
-						xslEl = var;
-					}
-					else if (elementStack.size() > 1 && currentTemplate != null)
-					{// local variable
-						Variable var = new Variable(sf);
-						currentTemplate.addVariable(var);
-						xslEl = var;
-					}
-				} 
-				else {
-					xslEl = new XSLElement(sf);
-				}
-				if (xslEl!=null)
-					configure((IDOMNode) element, xslEl);
-			}
-			elementStack.push(element);
-			NodeList childNodes = element.getChildNodes();
-			for (int i = 0; i < childNodes.getLength(); i++) {
-				Node node = childNodes.item(i);
-				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					recurse((Element) node);
-				}
-			}
-			if (xslEl instanceof CallTemplate)
-				callTemplates.pop();
-			elementStack.pop();
-			// currentTemplate = null;
-			// currentCallTemplate = null;
-		}
-
-		private void configure(IDOMNode node, XSLElement element) {
-			setPositionInfo(node, element);
-			IDOMElement domElem = (IDOMElement) node;
-			element.setName(domElem.getLocalName());
-			NamedNodeMap map = node.getAttributes();
-			for (int i = 0; i < map.getLength(); i++) {
-				IDOMAttr attr = (IDOMAttr) map.item(i);
-				XSLAttribute xslatt = new XSLAttribute(element, attr.getName(),
-						attr.getValue());
-				setPositionInfo(attr, xslatt);
-				element.setAttribute(xslatt);
-			}
-			if (parentEl != null)
-				parentEl.addChild(element);
-			parentEl = element;
-		}
-
-		private static void setPositionInfo(IDOMNode node, XSLNode inc) {
-			try {
-				IStructuredDocument structuredDocument = node
-						.getStructuredDocument();
-				int line = structuredDocument.getLineOfOffset(node
-						.getStartOffset());
-				int lineOffset = structuredDocument.getLineOffset(line);
-				int col = node.getStartOffset() - lineOffset;
-				inc.setOffset(node.getStartOffset());
-				inc.setLineNumber(line);
-				inc.setColumnNumber(col);
-				inc.setLength(node.getLength());
-			} catch (BadLocationException e) {
-				XSLCorePlugin.log(e);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/XSLCorePlugin.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/XSLCorePlugin.java
index d4109f8..560decc 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/XSLCorePlugin.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/XSLCorePlugin.java
@@ -13,12 +13,12 @@
 
 import javax.xml.parsers.SAXParserFactory;
 
+import org.apache.xerces.jaxp.SAXParserFactoryImpl;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.core.runtime.Status;
 import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
 
 /**
  * The activator class controls the plug-in life cycle
@@ -39,9 +39,7 @@
 	// The shared instance
 	private static XSLCorePlugin plugin;
 	
-	private ServiceTracker parserTracker = null;
-
-	private BundleContext bundleContext;
+	private SAXParserFactoryImpl saxParserFactory = null;
 
 	/**
 	 * The constructor
@@ -56,7 +54,6 @@
 	@Override
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
-		bundleContext = context;
 		plugin = this;
 	}
 
@@ -85,13 +82,15 @@
 	 * @return returns a SAXParserFactory
 	 */
 	public SAXParserFactory getFactory() {
-		if (parserTracker == null) {
-			parserTracker = new ServiceTracker(bundleContext, SAXParserFactory.class.getName(), null);
-			parserTracker.open();
+		if (saxParserFactory == null) {
+			saxParserFactory = new SAXParserFactoryImpl();
 		}
-		SAXParserFactory theFactory = (SAXParserFactory) parserTracker.getService();
-		if (theFactory != null)
+		SAXParserFactory theFactory = saxParserFactory; 
+		if (theFactory != null) {
 			theFactory.setNamespaceAware(true);
+			theFactory.setXIncludeAware(false);
+			theFactory.setValidating(false);
+		}
 		return theFactory;
 	}
 	
@@ -125,5 +124,5 @@
 	 */
 	public static IStatus newErrorStatus(String message, Throwable exception) {
 		return new Status(IStatus.ERROR, PLUGIN_ID, message, exception);
-	}
+	}	
 }
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/StylesheetBuilder.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/StylesheetBuilder.java
new file mode 100644
index 0000000..8c4788a
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/StylesheetBuilder.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (STAR) - fix issue with xslElm being null on local variables.
+ *     David Carver (STAR) - add XSL Functions element support and refactored
+ *                           StyleSheet Parser
+ *******************************************************************************/
+package org.eclipse.wst.xsl.core.internal.model;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.wst.sse.core.StructuredModelManager;
+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+import org.eclipse.wst.xsl.core.internal.XSLCorePlugin;
+import org.eclipse.wst.xsl.core.internal.util.Debug;
+import org.eclipse.wst.xsl.core.model.Stylesheet;
+
+/**
+ * A builder that creates and maintains a cache of <code>Stylesheet</code>'s.
+ * 
+ * @author Doug Satchwell
+ */
+public class StylesheetBuilder {
+	private static StylesheetBuilder instance;
+	private final Map<IFile, Stylesheet> builtFiles = new HashMap<IFile, Stylesheet>();
+
+	private StylesheetBuilder() {
+	}
+
+	/**
+	 * Get the <code>Stylesheet</code> associated with the given file. If either
+	 * the <code>Stylesheet</code> has not yet been created or
+	 * <code>force</code> is specified then the <code>Stylesheet</code> is
+	 * built.
+	 * 
+	 * @param file
+	 *            the XSL file
+	 * @param force
+	 *            <code>true</code> to force a parse of the file
+	 * @return the <code>Stylesheet</code>
+	 */
+	public Stylesheet getStylesheet(IFile file, boolean force) {
+		Stylesheet stylesheet = builtFiles.get(file);
+		if (stylesheet == null || force) {
+			stylesheet = build(file);
+			builtFiles.put(file, stylesheet);
+		}
+		return stylesheet;
+	}
+
+	private Stylesheet build(IFile file) {
+		long start = System.currentTimeMillis();
+		if (Debug.debugXSLModel) {
+			System.out.println("Building " + file + "..."); //$NON-NLS-1$ //$NON-NLS-2$
+		}
+
+		Stylesheet stylesheet = null;
+		IStructuredModel smodel = null;
+		try {
+			smodel = StructuredModelManager.getModelManager()
+					.getExistingModelForRead(file);
+			if (smodel == null) {
+				smodel = StructuredModelManager.getModelManager()
+						.getModelForRead(file);
+				if (Debug.debugXSLModel) {
+					long endParse = System.currentTimeMillis();
+					System.out.println("PARSE " + file + " in " //$NON-NLS-1$ //$NON-NLS-2$
+							+ (endParse - start) + "ms"); //$NON-NLS-1$
+				}
+			} else if (Debug.debugXSLModel) {
+				long endParse = System.currentTimeMillis();
+				System.out.println("NO-PARSE " + file + " in " //$NON-NLS-1$ //$NON-NLS-2$
+						+ (endParse - start) + "ms"); //$NON-NLS-1$
+			}
+			// start = System.currentTimeMillis();
+			if (smodel != null && smodel instanceof IDOMModel) {
+				IDOMModel model = (IDOMModel) smodel;
+				stylesheet = parseModel(model, file);
+			}
+		} catch (IOException e) {
+			XSLCorePlugin.log(e);
+		} catch (CoreException e) {
+			XSLCorePlugin.log(e);
+		} finally {
+			if (smodel != null)
+				smodel.releaseFromRead();
+		}
+		if (Debug.debugXSLModel) {
+			long end = System.currentTimeMillis();
+			System.out.println("BUILD " + file + " in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		}
+		return stylesheet;
+	}
+
+	private Stylesheet parseModel(IDOMModel model, IFile file) {
+		IDOMDocument document = model.getDocument();
+		Stylesheet sf = new Stylesheet(file);
+		StylesheetParser walker = new StylesheetParser(sf);
+		walker.walkDocument(document);
+		return sf;
+	}
+
+	/**
+	 * Get the singleton <code>StylesheetBuilder</code> instance.
+	 * 
+	 * @return the <code>StylesheetBuilder</code> instance
+	 */
+	public static synchronized StylesheetBuilder getInstance() {
+		if (instance == null) {
+			instance = new StylesheetBuilder();
+		}
+		return instance;
+	}
+	
+	/**
+	 * Releases all the cached stylesheets.
+	 */
+	public void release() {
+		if (builtFiles.isEmpty()) {
+			return;
+		}
+		Iterator<IFile> it = builtFiles.keySet().iterator();
+		while (it.hasNext()) {
+			it.next();
+			it.remove();
+		}
+	}
+	
+	public void release(IFile file) {
+		builtFiles.remove(file);
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/StylesheetParser.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/StylesheetParser.java
new file mode 100644
index 0000000..68a8639
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/StylesheetParser.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (STAR) - bug 290286 - Model loading of parameters not respecting functions.
+ *     David Carver (STAR) - no bug - Refactored Code for easier maintenance 
+ *******************************************************************************/
+
+package org.eclipse.wst.xsl.core.internal.model;
+
+import java.util.Stack;
+
+import org.eclipse.wst.xml.core.internal.provisional.document.*;
+import org.eclipse.wst.xsl.core.XSLCore;
+import org.eclipse.wst.xsl.core.model.*;
+import org.w3c.dom.*;
+
+public class StylesheetParser {
+	private StylesheetParserData stylesheetParserData = new StylesheetParserData(
+			new Stack<Element>(), new Stack<CallTemplate>(), new Stack<Function>());
+
+	public StylesheetParser(Stylesheet stylesheet) {
+		this.stylesheetParserData.setStylesheet(stylesheet);
+	}
+
+	public void walkDocument(IDOMDocument document) {
+
+		if (document.getDocumentElement() != null)
+			recurse(document.getDocumentElement());
+	}
+
+	private void recurse(Element element) {
+		XSLElement xslEl = null;
+		if (XSLCore.XSL_NAMESPACE_URI.equals(element.getNamespaceURI())) {
+			XSLModelObjectFactory factory = new XSLModelObjectFactory(element, xslEl, stylesheetParserData);
+			xslEl = factory.createXSLModelObject();
+		}
+		stylesheetParserData.getElementStack().push(element);
+		NodeList childNodes = element.getChildNodes();
+		for (int i = 0; i < childNodes.getLength(); i++) {
+			Node node = childNodes.item(i);
+			if (node.getNodeType() == Node.ELEMENT_NODE) {
+				recurse((Element) node);
+			}
+		}
+		
+		if (xslEl instanceof CallTemplate)
+			stylesheetParserData.getCallTemplates().pop();
+		if (xslEl instanceof Function) {
+			stylesheetParserData.getFunctions().pop();
+		}
+		stylesheetParserData.getElementStack().pop();
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/StylesheetParserData.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/StylesheetParserData.java
new file mode 100644
index 0000000..5e5a3dc
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/StylesheetParserData.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.core.internal.model;
+
+import java.util.Stack;
+
+import org.eclipse.wst.xsl.core.model.CallTemplate;
+import org.eclipse.wst.xsl.core.model.Function;
+import org.eclipse.wst.xsl.core.model.Stylesheet;
+import org.eclipse.wst.xsl.core.model.Template;
+import org.eclipse.wst.xsl.core.model.XSLElement;
+import org.w3c.dom.Element;
+
+/**
+ * This class is used to hold Data necessary for parsing and walking
+ * an XSL Stylesheet into a Model.
+ * 
+ * @author dcarver
+ * @since 1.1
+ */
+public class StylesheetParserData {
+	private Stylesheet stylesheet;
+	private Stack<Element> elementStack;
+
+	private Template currentTemplate;
+
+	private Stack<CallTemplate> callTemplates;
+
+	private Stack<Function> functions;
+
+	private XSLElement parentEl;
+
+	public StylesheetParserData(Stack<Element> elementStack,
+			Stack<CallTemplate> callTemplates, Stack<Function> functions) {
+		this.elementStack = elementStack;
+		this.callTemplates = callTemplates;
+		this.functions = functions;
+	}
+
+	public Stack<CallTemplate> getCallTemplates() {
+		return callTemplates;
+	}
+
+	public Template getCurrentTemplate() {
+		return currentTemplate;
+	}
+
+	public Stack<Element> getElementStack() {
+		return elementStack;
+	}
+
+	public Stack<Function> getFunctions() {
+		return functions;
+	}
+
+	public XSLElement getParentEl() {
+		return parentEl;
+	}
+
+	public Stylesheet getStylesheet() {
+		return stylesheet;
+	}
+
+	public void setCallTemplates(Stack<CallTemplate> callTemplates) {
+		this.callTemplates = callTemplates;
+	}
+	public void setCurrentTemplate(Template currentTemplate) {
+		this.currentTemplate = currentTemplate;
+	}
+	public void setElementStack(Stack<Element> elementStack) {
+		this.elementStack = elementStack;
+	}
+	public void setFunctions(Stack<Function> functions) {
+		this.functions = functions;
+	}
+	public void setParentEl(XSLElement parentEl) {
+		this.parentEl = parentEl;
+	}
+
+	public void setStylesheet(Stylesheet sf) {
+		this.stylesheet = sf;
+	}
+}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLElementFactory.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLElementFactory.java
new file mode 100644
index 0000000..3057f0c
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLElementFactory.java
@@ -0,0 +1,137 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.core.internal.model;
+
+import org.eclipse.wst.xsl.core.model.CallTemplate;
+import org.eclipse.wst.xsl.core.model.Function;
+import org.eclipse.wst.xsl.core.model.Import;
+import org.eclipse.wst.xsl.core.model.Include;
+import org.eclipse.wst.xsl.core.model.Parameter;
+import org.eclipse.wst.xsl.core.model.Template;
+import org.eclipse.wst.xsl.core.model.Variable;
+import org.eclipse.wst.xsl.core.model.XSLElement;
+import org.eclipse.wst.xsl.core.model.XSLModelObject;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * A Factory that creates XSL Elements of the requested type.
+ * @since 1.1
+ */
+public class XSLElementFactory {
+
+	private StylesheetParserData stylesheetParserData;
+	private Element element;
+	
+	public XSLElementFactory(StylesheetParserData data, Element element) {
+		stylesheetParserData = data;
+		this.element = element;
+	}
+		
+	public XSLElement createStyleSheet() {
+		String version = element.getAttribute("version"); //$NON-NLS-1$
+		stylesheetParserData.getStylesheet().setVersion(version);
+		return stylesheetParserData.getStylesheet();
+	}
+	
+	public XSLElement createInclude() {
+		Include include = new Include(stylesheetParserData.getStylesheet());
+		stylesheetParserData.getStylesheet().addInclude(include);
+		return include;
+	}
+	
+	public XSLElement createImport() {
+		Import include = new Import(stylesheetParserData.getStylesheet());
+		stylesheetParserData.getStylesheet().addImport(include);
+		return include;
+	}
+	
+	public XSLElement createTemplate() {
+		stylesheetParserData.setCurrentTemplate(new Template(stylesheetParserData.getStylesheet()));
+		stylesheetParserData.getStylesheet().addTemplate(stylesheetParserData.getCurrentTemplate());
+		return stylesheetParserData.getCurrentTemplate();
+	}
+	
+	public XSLElement createParamater() {
+		Parameter param = new Parameter(stylesheetParserData.getStylesheet());
+		// determine whether param has a value
+		NodeList childNodes = element.getChildNodes();
+		for (int i = 0; i < childNodes.getLength(); i++) {
+			Node childNode = childNodes.item(i);
+			if (childNode.getNodeType() != Node.ATTRIBUTE_NODE) {
+				param.setValue(true);
+				break;
+			}
+		}
+		if (stylesheetParserData.getParentEl().getModelType() == XSLModelObject.Type.FUNCTION) {
+			Function function = (Function) stylesheetParserData.getParentEl();
+			function.addParameter(param);
+		} else if (stylesheetParserData.getParentEl().getModelType() == XSLModelObject.Type.TEMPLATE
+				&& stylesheetParserData.getElementStack().size() == 2 && stylesheetParserData.getCurrentTemplate() != null) {
+			Template template = (Template) stylesheetParserData.getParentEl();
+			template.addParameter(param);
+		}
+		return param;
+	}
+	
+	public XSLElement createCallTemplate() {
+		CallTemplate currentCallTemplate = new CallTemplate(stylesheetParserData.getStylesheet());
+		stylesheetParserData.getCallTemplates().push(currentCallTemplate);
+		stylesheetParserData.getStylesheet().addCalledTemplate(currentCallTemplate);
+		return currentCallTemplate;
+	}
+
+	public XSLElement createWithParamParm() {
+		Parameter param = new Parameter(stylesheetParserData.getStylesheet());
+		// determine whether param has a value
+		NodeList childNodes = element.getChildNodes();
+		for (int i = 0; i < childNodes.getLength(); i++) {
+			Node childNode = childNodes.item(i);
+			if (childNode.getNodeType() != Node.ATTRIBUTE_NODE) {
+				param.setValue(true);
+				break;
+			}
+		}
+		// get the previous call-template
+		CallTemplate currentCallTemplate = stylesheetParserData.getCallTemplates().peek();
+		currentCallTemplate.addParameter(param);
+		return param;
+	}
+
+	public XSLElement createVariable(XSLElement xslEl) {
+		if (stylesheetParserData.getElementStack().size() == 1) {// global variable
+			Variable var = new Variable(stylesheetParserData.getStylesheet());
+			stylesheetParserData.getStylesheet().addGlobalVariable(var);
+			xslEl = var;
+		} else if (stylesheetParserData.getElementStack().size() > 1 && stylesheetParserData.getCurrentTemplate() != null) {// local
+																		// variable
+			Variable var = new Variable(stylesheetParserData.getStylesheet());
+			stylesheetParserData.getCurrentTemplate().addVariable(var);
+			xslEl = var;
+		}
+		return xslEl;
+	}
+	
+	public XSLElement createFunction() {
+		stylesheetParserData.setCurrentTemplate(null);
+		Function function = new Function(stylesheetParserData.getStylesheet());
+		stylesheetParserData.getFunctions().push(function);
+		stylesheetParserData.getStylesheet().addFunction(function);
+		return function;
+	}
+	
+	public XSLElement createXSLElement() {
+		return new XSLElement(stylesheetParserData.getStylesheet());
+	}
+	
+	
+}
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLModelObjectFactory.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLModelObjectFactory.java
new file mode 100644
index 0000000..8c60e33
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/model/XSLModelObjectFactory.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.core.internal.model;
+
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.eclipse.wst.xsl.core.internal.XSLCorePlugin;
+import org.eclipse.wst.xsl.core.model.XSLAttribute;
+import org.eclipse.wst.xsl.core.model.XSLElement;
+import org.eclipse.wst.xsl.core.model.XSLModelObject;
+import org.eclipse.wst.xsl.core.model.XSLNode;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+public class XSLModelObjectFactory {
+	private static final String VARIABLE = "variable"; //$NON-NLS-1$
+	private static final String FUNCTION = "function"; //$NON-NLS-1$
+	private static final String WITH_PARAM = "with-param"; //$NON-NLS-1$
+	private static final String CALL_TEMPLATE = "call-template"; //$NON-NLS-1$
+	private static final String PARAM = "param"; //$NON-NLS-1$
+	private static final String TEMPLATE = "template"; //$NON-NLS-1$
+	private static final String IMPORT = "import"; //$NON-NLS-1$
+	private static final String INCLUDE = "include"; //$NON-NLS-1$
+	private static final String STYLESHEET = "stylesheet"; //$NON-NLS-1$
+
+	private Element element;
+	private XSLElement xslEl;
+	private StylesheetParserData stylesheetParserData;
+
+	public XSLModelObjectFactory(Element element, XSLElement xslEl,
+			StylesheetParserData data) {
+		this.element = element;
+		this.xslEl = xslEl;
+		stylesheetParserData = data;
+	}
+
+	/**
+	 * Creates an XSL Model Object of the appropriate type.
+	 * 
+	 * @return
+	 */
+	public XSLElement createXSLModelObject() {
+		String elName = element.getLocalName();
+		int elementSize = stylesheetParserData.getElementStack().size();
+		XSLElementFactory factory = new XSLElementFactory(stylesheetParserData,
+				element);
+		if (elementSize == 0) {
+			if (STYLESHEET.equals(elName)) {
+				xslEl = factory.createStyleSheet();
+			}
+		} else if (INCLUDE.equals(elName) && elementSize == 1) {
+			xslEl = factory.createInclude();
+		} else if (IMPORT.equals(elName) && elementSize == 1) {
+			xslEl = factory.createImport();
+		} else if (TEMPLATE.equals(elName) && elementSize == 1) {
+			xslEl = factory.createTemplate();
+		} else if (PARAM.equals(elName) && notParentStylesheet()) {
+			xslEl = factory.createParamater();
+		} else if (CALL_TEMPLATE.equals(elName) && elementSize >= 2) {
+			xslEl = factory.createCallTemplate();
+		} else if (WITH_PARAM.equals(elName) && elementSize >= 3
+				&& stylesheetParserData.getCallTemplates().size() > 0) {
+			xslEl = factory.createWithParamParm();
+		} else if (isVariable(elName)) {
+			xslEl = factory.createVariable(xslEl);
+		} else if (FUNCTION.equals(elName)) {
+			xslEl = factory.createFunction();
+		} else {
+			xslEl = factory.createXSLElement();
+		}
+		if (xslEl != null)
+			configure((IDOMNode) element, xslEl);
+		return xslEl;
+	}
+
+	private boolean isVariable(String elName) {
+		return VARIABLE.equals(elName) || PARAM.equals(elName);
+	}
+
+	private boolean notParentStylesheet() {
+		return stylesheetParserData.getParentEl().getModelType() != XSLModelObject.Type.STYLESHEET;
+	}
+
+	private void configure(IDOMNode node, XSLElement element) {
+		setPositionInfo(node, element);
+		IDOMElement domElem = (IDOMElement) node;
+		element.setName(domElem.getLocalName());
+		NamedNodeMap map = node.getAttributes();
+		for (int i = 0; i < map.getLength(); i++) {
+			IDOMAttr attr = (IDOMAttr) map.item(i);
+			XSLAttribute xslatt = new XSLAttribute(element, attr.getName(),
+					attr.getValue());
+			setPositionInfo(attr, xslatt);
+			element.setAttribute(xslatt);
+		}
+		setParentElement(node, element);
+	}
+
+	private void setParentElement(IDOMNode node, XSLElement element) {
+		if (stylesheetParserData.getParentEl() != null)
+			stylesheetParserData.getParentEl().addChild(element);
+		if (node.hasChildNodes()) {
+			NodeList nodeList = node.getChildNodes();
+			for (int i = 0; i < nodeList.getLength(); i++) {
+				Node lnode = nodeList.item(i);
+				if (lnode.getNodeType() == Node.ELEMENT_NODE) {
+					stylesheetParserData.setParentEl(element);
+					break;
+				}
+			}
+		}
+	}
+
+	private static void setPositionInfo(IDOMNode node, XSLNode inc) {
+		try {
+			IStructuredDocument structuredDocument = node
+					.getStructuredDocument();
+			int line = structuredDocument
+					.getLineOfOffset(node.getStartOffset());
+			int lineOffset = structuredDocument.getLineOffset(line);
+			int col = node.getStartOffset() - lineOffset;
+			inc.setOffset(node.getStartOffset());
+			inc.setLineNumber(line);
+			inc.setColumnNumber(col);
+			inc.setLength(node.getLength());
+		} catch (BadLocationException e) {
+			XSLCorePlugin.log(e);
+		}
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/util/Debug.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/util/Debug.java
index 672ada5..569d77b 100755
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/util/Debug.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/util/Debug.java
@@ -104,7 +104,7 @@
 		ITextRegionCollection flatNode = null;
 		System.out.println("Dump of structuredDocument:"); //$NON-NLS-1$
 		IStructuredDocumentRegionList flatNodes = structuredDocument.getRegionList();
-		Enumeration structuredDocumentRegions = flatNodes.elements();
+		Enumeration<?> structuredDocumentRegions = flatNodes.elements();
 		while (structuredDocumentRegions.hasMoreElements()) {
 			flatNode = (ITextRegionCollection) structuredDocumentRegions.nextElement();
 			if (!verbose) {
@@ -183,9 +183,11 @@
 	 */
 	private static String space(int depth) {
 		String result = "  "; //$NON-NLS-1$
+		StringBuffer buf = new StringBuffer(result);
 		for (int i = 0; i < depth; i++) {
-			result += "  "; //$NON-NLS-1$
+			buf.append("  "); //$NON-NLS-1$
 		}
+		result = buf.toString();
 		return result;
 	}
 
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/util/XMLContentType.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/util/XMLContentType.java
index e8c46c4..06e4139 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/util/XMLContentType.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/util/XMLContentType.java
@@ -62,7 +62,7 @@
 	
 	private IContentType[] getAllXMLContentTypes() {
 		ArrayList<IContentType> arrayList = new ArrayList<IContentType>(Arrays.asList(contentTypeManager.getAllContentTypes()));
-		ArrayList<IContentType> copyContents = (ArrayList)arrayList.clone();
+		ArrayList<IContentType> copyContents = (ArrayList<IContentType>)arrayList.clone();
 	
 		for(IContentType contentType : arrayList) {
 			if (!isXMLContentType(contentType)) {
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/XSLValidationReport.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/XSLValidationReport.java
index f8b0aff..66e067b 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/XSLValidationReport.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/XSLValidationReport.java
@@ -145,8 +145,7 @@
 	 * 
 	 * @return null
 	 */
-	@SuppressWarnings("unchecked")
-	public HashMap getNestedMessages()
+	public HashMap<?, ?> getNestedMessages()
 	{
 		return null;
 	}
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/XSLValidator.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/XSLValidator.java
index c8d552b..c79fba3 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/XSLValidator.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/XSLValidator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2007, 2009 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -9,6 +9,9 @@
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
  *     David Carver (STAR) - bug 230072 - Project level specific validation
  *                         - bug 226245 - XPath 2.0 validation for XSLT
+ *                         - bug 258937 - XML Catalog support for includes/imports
+ *                         - bug 290286 - Model loading of parameters not respecting functions.
+ *                         - bug 307926 - Fix for NPE in Validation. 
  *******************************************************************************/
 package org.eclipse.wst.xsl.core.internal.validation;
 
@@ -27,6 +30,7 @@
 import org.eclipse.core.resources.ProjectScope;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverPlugin;
 import org.eclipse.wst.sse.core.internal.validate.ValidationMessage;
 import org.eclipse.wst.xml.core.internal.validation.core.ValidationReport;
 import org.eclipse.wst.xml.xpath.core.util.XPath20Helper;
@@ -37,41 +41,46 @@
 import org.eclipse.wst.xsl.core.internal.XSLCorePlugin;
 import org.eclipse.wst.xsl.core.internal.util.Debug;
 import org.eclipse.wst.xsl.core.model.CallTemplate;
+import org.eclipse.wst.xsl.core.model.Function;
 import org.eclipse.wst.xsl.core.model.Include;
 import org.eclipse.wst.xsl.core.model.Parameter;
+import org.eclipse.wst.xsl.core.model.Stylesheet;
 import org.eclipse.wst.xsl.core.model.StylesheetModel;
 import org.eclipse.wst.xsl.core.model.Template;
 import org.eclipse.wst.xsl.core.model.XSLAttribute;
 import org.eclipse.wst.xsl.core.model.XSLElement;
 import org.eclipse.wst.xsl.core.model.XSLNode;
 
-
 /**
  * The XSL validator for workspace XSL files.
  * 
  * @author Doug Satchwell
  */
-public class XSLValidator
-{
+public class XSLValidator {
 	private static final String XSLT2_Version = "2.0"; //$NON-NLS-1$
 	private static XSLValidator instance;
 	private IProject project;
 
-	private XSLValidator()
-	{
+	private XSLValidator() {
 	}
 
 	/**
-	 * Validate the given XSL file. Same as <code>validate(xslFile,report,forceBuild)</code> except a new report is created and returned.
+	 * Validate the given XSL file. Same as
+	 * <code>validate(xslFile,report,forceBuild)</code> except a new report is
+	 * created and returned.
 	 * 
-	 * @param xslFile the XSL file
-	 * @param forceBuild true if build should always be forced
+	 * @param xslFile
+	 *            the XSL file
+	 * @param forceBuild
+	 *            true if build should always be forced
 	 * @return the validation report
-	 * @throws CoreException if any exception occurs while validating
+	 * @throws CoreException
+	 *             if any exception occurs while validating
 	 */
-	public ValidationReport validate(IFile xslFile, boolean forceBuild) throws CoreException
-	{
-		XSLValidationReport report = new XSLValidationReport(xslFile.getLocationURI().toString());
+	public ValidationReport validate(IFile xslFile, boolean forceBuild)
+			throws CoreException {
+		XSLValidationReport report = new XSLValidationReport(xslFile
+				.getLocationURI().toString());
 		project = xslFile.getProject();
 		validate(xslFile, report, forceBuild);
 		return report;
@@ -80,96 +89,104 @@
 	/**
 	 * Validate the given XSL file using the specified report.
 	 * 
-	 * @param xslFile the XSL file
-	 * @param report the report to use for reporting validation errors
-	 * @param forceBuild true if build should always be forced
+	 * @param xslFile
+	 *            the XSL file
+	 * @param report
+	 *            the report to use for reporting validation errors
+	 * @param forceBuild
+	 *            true if build should always be forced
 	 * @return the validation report
-	 * @throws CoreException if any exception occurs while validating
+	 * @throws CoreException
+	 *             if any exception occurs while validating
 	 */
-	public void validate(IFile xslFile, XSLValidationReport report, boolean forceBuild) throws CoreException
-	{
+	public void validate(IFile xslFile, XSLValidationReport report,
+			boolean forceBuild) throws CoreException {
 		StylesheetModel stylesheet;
 		if (forceBuild)
 			stylesheet = XSLCore.getInstance().buildStylesheet(xslFile);
 		else
 			stylesheet = XSLCore.getInstance().getStylesheet(xslFile);
-		
+
 		project = xslFile.getProject();
 
 		long start;
 		if (Debug.debugXSLModel) {
 			start = System.currentTimeMillis();
 		}
-		if (stylesheet!=null)
-		{
-			try
-			{
+		if (stylesheet != null) {
+			try {
 				calculateProblems(stylesheet, report);
-			}
-			catch (MaxErrorsExceededException e)
-			{
+			} catch (MaxErrorsExceededException e) {
 				// do nothing
 			}
 		}
 		if (Debug.debugXSLModel) {
 			long end = System.currentTimeMillis();
-			System.out.println("VALIDATE "+xslFile+" in "+(end-start)+"ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			System.out
+					.println("VALIDATE " + xslFile + " in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		}
 	}
 
-	private void calculateProblems(StylesheetModel stylesheetComposed, XSLValidationReport report) throws MaxErrorsExceededException
-	{
+	private void calculateProblems(StylesheetModel stylesheetComposed,
+			XSLValidationReport report) throws MaxErrorsExceededException {
 		// circular reference check
 		checkCircularRef(stylesheetComposed, report);
 		// include checks
-		checkIncludes(stylesheetComposed, report);
+		checkIncludesImports(stylesheetComposed, report);
 		// template checks
 		checkTemplates(stylesheetComposed, report);
+		Stylesheet stylesheet = stylesheetComposed.getStylesheet();
+		
+		if (XSLT2_Version.equals(stylesheet.getVersion())) { 
+			checkFunctions(stylesheetComposed, report);
+		}
 		// call-template checks
 		checkCallTemplates(stylesheetComposed, report);
 		// call-template checks
 		if (getPreference(ValidationPreferences.XPATHS) > IMarker.SEVERITY_INFO)
 			checkXPaths(stylesheetComposed.getStylesheet(), report);
-		
-		// TODO a) check globals and b) apply-templates where mode does not exist
+
+		// TODO a) check globals and b) apply-templates where mode does not
+		// exist
 	}
-	
-	private int getPreference(String key)
-	{
+
+	private int getPreference(String key) {
 		if (project == null) {
-			return XSLCorePlugin.getDefault().getPluginPreferences().getInt(key);
+			return XSLCorePlugin.getDefault().getPluginPreferences()
+					.getInt(key);
 		}
-		
-		IEclipsePreferences prefs = new ProjectScope(project).getNode(XSLCorePlugin.getDefault().getBundle().getSymbolicName());
-		boolean useProject = prefs.getBoolean(XSLCorePlugin.USE_PROJECT_SETTINGS, false);
-		
+
+		IEclipsePreferences prefs = new ProjectScope(project)
+				.getNode(XSLCorePlugin.getDefault().getBundle()
+						.getSymbolicName());
+		boolean useProject = prefs.getBoolean(
+				XSLCorePlugin.USE_PROJECT_SETTINGS, false);
+
 		int valPref;
 		if (useProject) {
-			valPref = prefs.getInt(key, ValidationMessage.WARNING);	
+			valPref = prefs.getInt(key, ValidationMessage.WARNING);
 		} else {
-			valPref = XSLCorePlugin.getDefault().getPluginPreferences().getInt(key);
+			valPref = XSLCorePlugin.getDefault().getPluginPreferences().getInt(
+					key);
 		}
 		return valPref;
 	}
 
-	private void checkXPaths(XSLElement xslEl, XSLValidationReport report) throws MaxErrorsExceededException
-	{
+	private void checkXPaths(XSLElement xslEl, XSLValidationReport report)
+			throws MaxErrorsExceededException {
 		validateXPath(xslEl, report, "select"); //$NON-NLS-1$
 		validateXPath(xslEl, report, "test"); //$NON-NLS-1$
 		validateXPath(xslEl, report, "match"); //$NON-NLS-1$
-		for (XSLElement childEl : xslEl.getChildElements())
-		{
+		for (XSLElement childEl : xslEl.getChildElements()) {
 			checkXPaths(childEl, report);
 		}
 	}
 
-	private void validateXPath(XSLElement xslEl, XSLValidationReport report, String attName) throws MaxErrorsExceededException
-	{
+	private void validateXPath(XSLElement xslEl, XSLValidationReport report,
+			String attName) throws MaxErrorsExceededException {
 		XSLAttribute att = xslEl.getAttribute(attName);
-		if (att != null && att.getValue() != null)
-		{
-			try
-			{	
+		if (att != null && att.getValue() != null) {
+			try {
 				String xslVersion = xslEl.getStylesheet().getVersion();
 				String xpathExp = att.getValue();
 				if (xslVersion.equals(XSLT2_Version)) {
@@ -177,125 +194,187 @@
 				} else {
 					XSLTXPathHelper.compile(att.getValue());
 				}
-			}
-			catch (XPathExpressionException e)
-			{
-				createMarker(report, att, getPreference(ValidationPreferences.XPATHS), Messages.XSLValidator_1);
-			}
-			catch (NullPointerException e)
-			{
+			} catch (XPathExpressionException e) {
+				createMarker(report, att,
+						getPreference(ValidationPreferences.XPATHS),
+						Messages.XSLValidator_1);
+			} catch (NullPointerException e) {
 				// not sure why NPE is being thrown here
 			}
 		}
 	}
 
-	private void checkCircularRef(StylesheetModel stylesheetComposed, XSLValidationReport report) throws MaxErrorsExceededException
-	{
+	private void checkCircularRef(StylesheetModel stylesheetComposed,
+			XSLValidationReport report) throws MaxErrorsExceededException {
 		if (stylesheetComposed.hasCircularReference())
-			createMarker(report, stylesheetComposed.getStylesheet(), getPreference(ValidationPreferences.CIRCULAR_REF), Messages.XSLValidator_2);
+			createMarker(report, stylesheetComposed.getStylesheet(),
+					getPreference(ValidationPreferences.CIRCULAR_REF),
+					Messages.XSLValidator_2);
 	}
 
-	private void checkIncludes(StylesheetModel stylesheetComposed, XSLValidationReport report) throws MaxErrorsExceededException
-	{		
+	private void checkIncludesImports(StylesheetModel stylesheetComposed,
+			XSLValidationReport report) throws MaxErrorsExceededException {
 		// includes
-		for (Include include : stylesheetComposed.getStylesheet().getIncludes())
-		{
+		checkIncludes(stylesheetComposed, report);
+		// imports
+		checkImports(stylesheetComposed, report);
+	}
+
+	private void checkImports(StylesheetModel stylesheetComposed,
+			XSLValidationReport report) throws MaxErrorsExceededException {
+		for (Include include : stylesheetComposed.getStylesheet().getImports()) {
 			IFile includedFile = include.getHrefAsFile();
-			if (includedFile == null || !includedFile.exists())
-			{ // included file does not exist
-				XSLAttribute att = include.getAttribute("href");  //$NON-NLS-1$
-				if (att != null)
-					createMarker(report, att, getPreference(ValidationPreferences.MISSING_INCLUDE), Messages.XSLValidator_4 + include.getHref());
-				else
-					createMarker(report, include, getPreference(ValidationPreferences.NAME_ATTRIBUTE_EMPTY), Messages.XSLValidator_23 );					
-			}
-			else if (includedFile.equals(include.getStylesheet().getFile()))
-			{ // stylesheet including itself!
-				createMarker(report, include.getAttribute("href"), getPreference(ValidationPreferences.CIRCULAR_REF), Messages.XSLValidator_6); //$NON-NLS-1$
-			}
-		}
-		//imports
-		for (Include include : stylesheetComposed.getStylesheet().getImports())
-		{
-			IFile includedFile = include.getHrefAsFile();
-			if (includedFile == null || !includedFile.exists())
-			{ // included file does not exist
-				createMarker(report, include.getAttribute("href"), getPreference(ValidationPreferences.MISSING_INCLUDE), Messages.XSLValidator_8 + include.getHref()); //$NON-NLS-1$
-			}
-			else if (includedFile.equals(include.getStylesheet().getFile()))
-			{ // stylesheet including itself!
-				createMarker(report, include.getAttribute("href"), getPreference(ValidationPreferences.CIRCULAR_REF), Messages.XSLValidator_10); //$NON-NLS-1$
+			if (includedFile == null || !includedFile.exists()) { // included
+																	// file does
+																	// not exist
+				XSLAttribute att = include.getAttribute("href"); //$NON-NLS-1$
+				if (att != null) {
+					String baseURI = include.getStylesheet().getFile().getLocationURI().toString();
+					
+					String resolvedURI = URIResolverPlugin.createResolver().resolve(baseURI, "", att.getValue()); //$NON-NLS-1$
+					if (resolvedURI == null) {
+						createMarker(
+								report,
+								att,
+								getPreference(ValidationPreferences.MISSING_INCLUDE),
+								Messages.XSLValidator_4 + include.getHref());
+					}
+				}
+			} else if (includedFile.equals(include.getStylesheet().getFile())) { // stylesheet
+																					// including
+																					// itself!
+				createMarker(
+						report,
+						include.getAttribute("href"), getPreference(ValidationPreferences.CIRCULAR_REF), Messages.XSLValidator_10); //$NON-NLS-1$
 			}
 		}
 	}
 
-	private void checkTemplates(StylesheetModel stylesheetComposed, XSLValidationReport report) throws MaxErrorsExceededException
-	{
-		for (Template template : stylesheetComposed.getStylesheet().getTemplates())
-		{
-			// check attributes are correct
-			if (template.getName() != null)
-			{// named template
-//				if (template.getMatch() != null)
-//					createMarker(report, template, IMarker.SEVERITY_ERROR, "Template cannot specify both name and match attributes");
-//				if (template.getMode() != null)
-//					createMarker(report, template, IMarker.SEVERITY_ERROR, "Named templates cannot specify a mode");
-				checkParameters(report, template);
-			} 
+	private void checkIncludes(StylesheetModel stylesheetComposed,
+			XSLValidationReport report) throws MaxErrorsExceededException {
+		for (Include include : stylesheetComposed.getStylesheet().getIncludes()) {
+			IFile includedFile = include.getHrefAsFile();
+			if (includedFile == null || !includedFile.exists()) { // included
+																	// file does
+																	// not exist
+				XSLAttribute att = include.getAttribute("href"); //$NON-NLS-1$
+				if (att != null) {
+					String baseURI = include.getStylesheet().getFile().getLocationURI().toString();
+					
+					String resolvedURI = URIResolverPlugin.createResolver().resolve(baseURI, "", att.getValue()); //$NON-NLS-1$
+					if (resolvedURI == null) {
+						createMarker(
+								report,
+								att,
+								getPreference(ValidationPreferences.MISSING_INCLUDE),
+								Messages.XSLValidator_4 + include.getHref());
+					}
+				} else {
+					createMarker(
+							report,
+							include,
+							getPreference(ValidationPreferences.NAME_ATTRIBUTE_EMPTY),
+							Messages.XSLValidator_23);
+				}
+			} else if (includedFile.equals(include.getStylesheet().getFile())) { // stylesheet
+																					// including
+																					// itself!
+				createMarker(
+						report,
+						include.getAttribute("href"), getPreference(ValidationPreferences.CIRCULAR_REF), Messages.XSLValidator_6); //$NON-NLS-1$
+			}
+		}
+	}
+	
+	private void checkFunctions(StylesheetModel stylesheetComposed, XSLValidationReport report) throws MaxErrorsExceededException {
+		for (Function function : stylesheetComposed.getStylesheet().getFunctions()) {
+			if (function.getName() != null) {
+				checkParameters(report, function);
+			}
+		}
+	}
 
-			for (Template checkTemplate : stylesheetComposed.getTemplates())
-			{
-				if (checkTemplate != template && checkTemplate.equals(template))
-				{
-					if (template.getStylesheet() == stylesheetComposed.getStylesheet() && checkTemplate.getStylesheet() == stylesheetComposed.getStylesheet())
-					{// templates in this stylesheet conflict with each other
-						createMarker(report, template, getPreference(ValidationPreferences.TEMPLATE_CONFLICT), Messages.XSLValidator_11);
-					}
-					else if (template.getStylesheet() == stylesheetComposed.getStylesheet())
-					{// template in included stylesheet conflicts with this
-						createMarker(report, template, getPreference(ValidationPreferences.TEMPLATE_CONFLICT), Messages.XSLValidator_12);
-					}
-					else
-					{// templates in included stylesheets conflict with each other
-						createMarker(report, template.getStylesheet(), getPreference(ValidationPreferences.TEMPLATE_CONFLICT), Messages.XSLValidator_13);
+	private void checkTemplates(StylesheetModel stylesheetComposed,
+			XSLValidationReport report) throws MaxErrorsExceededException {
+		for (Template template : stylesheetComposed.getStylesheet()
+				.getTemplates()) {
+			// check attributes are correct
+			if (template.getName() != null) {
+				checkParameters(report, template);
+			}
+
+			for (Template checkTemplate : stylesheetComposed.getTemplates()) {
+				if (checkTemplate != template && checkTemplate.equals(template)) {
+					if (template.getStylesheet() == stylesheetComposed
+							.getStylesheet()
+							&& checkTemplate.getStylesheet() == stylesheetComposed
+									.getStylesheet()) {// templates in this
+														// stylesheet conflict
+														// with each other
+						createMarker(
+								report,
+								template,
+								getPreference(ValidationPreferences.TEMPLATE_CONFLICT),
+								Messages.XSLValidator_11);
+					} else if (template.getStylesheet() == stylesheetComposed
+							.getStylesheet()) {// template in included
+												// stylesheet conflicts with
+												// this
+						createMarker(
+								report,
+								template,
+								getPreference(ValidationPreferences.TEMPLATE_CONFLICT),
+								Messages.XSLValidator_12);
+					} else {// templates in included stylesheets conflict with
+							// each other
+						createMarker(
+								report,
+								template.getStylesheet(),
+								getPreference(ValidationPreferences.TEMPLATE_CONFLICT),
+								Messages.XSLValidator_13);
 					}
 				}
 			}
 		}
+
 	}
 
-	private void checkParameters(XSLValidationReport report, Template template) throws MaxErrorsExceededException
-	{
-		List<Parameter> parameters = new ArrayList<Parameter>(template.getParameters());
+	private void checkParameters(XSLValidationReport report, Template template)
+			throws MaxErrorsExceededException {
+		List<Parameter> parameters = new ArrayList<Parameter>(template
+				.getParameters());
 		// reverse the parameters order for checking - for duplicate parameters
 		// the first one is valid
 		Collections.reverse(parameters);
 		Set<Parameter> duplicateParameters = new HashSet<Parameter>();
 		// check parameters
-		for (Parameter param : parameters)
-		{
-			if (param.getName() == null)
-			{// name is required
-				createMarker(report, param, getPreference(ValidationPreferences.NAME_ATTRIBUTE_MISSING), Messages.XSLValidator_14);
-			}
-			else if (param.getName().trim().length() == 0)
-			{// name value is required
-				createMarker(report, param, getPreference(ValidationPreferences.NAME_ATTRIBUTE_EMPTY), Messages.XSLValidator_15);
-			}
-			else if (duplicateParameters.contains(param))
-			{// don't recheck the parameter
+		for (Parameter param : parameters) {
+			if (param.getName() == null) {// name is required
+				createMarker(
+						report,
+						param,
+						getPreference(ValidationPreferences.NAME_ATTRIBUTE_MISSING),
+						Messages.XSLValidator_14);
+			} else if (param.getName().trim().length() == 0) {// name value is
+																// required
+				createMarker(
+						report,
+						param,
+						getPreference(ValidationPreferences.NAME_ATTRIBUTE_EMPTY),
+						Messages.XSLValidator_15);
+			} else if (duplicateParameters.contains(param)) {// don't recheck
+																// the parameter
 				continue;
-			}
-			else
-			{// check a parameter with the same name does not exist
-				for (Parameter checkParam : parameters)
-				{
-					if (param != checkParam)
-					{
-						if (param.getName().equals(checkParam.getName()))
-						{
+			} else {// check a parameter with the same name does not exist
+				for (Parameter checkParam : parameters) {
+					if (param != checkParam) {
+						if (param.getName().equals(checkParam.getName())) {
 							duplicateParameters.add(checkParam);
-							createMarker(report, param, getPreference(ValidationPreferences.DUPLICATE_PARAMETER), Messages.XSLValidator_16);
+							createMarker(
+									report,
+									param,
+									getPreference(ValidationPreferences.DUPLICATE_PARAMETER),
+									Messages.XSLValidator_16);
 						}
 					}
 				}
@@ -303,85 +382,141 @@
 		}
 	}
 
-	private void checkCallTemplates(StylesheetModel stylesheetComposed, XSLValidationReport report) throws MaxErrorsExceededException
-	{
-		for (CallTemplate calledTemplate : stylesheetComposed.getStylesheet().getCalledTemplates())
-		{
-			if (calledTemplate.getName() != null)
-			{
+	private void checkParameters(XSLValidationReport report, Function function)
+			throws MaxErrorsExceededException {
+		List<Parameter> parameters = new ArrayList<Parameter>(function
+				.getParameters());
+		// reverse the parameters order for checking - for duplicate parameters
+		// the first one is valid
+		Collections.reverse(parameters);
+		Set<Parameter> duplicateParameters = new HashSet<Parameter>();
+		// check parameters
+		for (Parameter param : parameters) {
+			if (param.getName() == null) {// name is required
+				createMarker(
+						report,
+						param,
+						getPreference(ValidationPreferences.NAME_ATTRIBUTE_MISSING),
+						Messages.XSLValidator_14);
+			} else if (param.getName().trim().length() == 0) {// name value is
+																// required
+				createMarker(
+						report,
+						param,
+						getPreference(ValidationPreferences.NAME_ATTRIBUTE_EMPTY),
+						Messages.XSLValidator_15);
+			} else if (duplicateParameters.contains(param)) {// don't recheck
+																// the parameter
+				continue;
+			} else {// check a parameter with the same name does not exist
+				for (Parameter checkParam : parameters) {
+					if (param != checkParam) {
+						if (param.getName().equals(checkParam.getName())) {
+							duplicateParameters.add(checkParam);
+							createMarker(
+									report,
+									param,
+									getPreference(ValidationPreferences.DUPLICATE_PARAMETER),
+									Messages.XSLValidator_16);
+						}
+					}
+				}
+			}
+		}
+	}
+
+	private void checkCallTemplates(StylesheetModel stylesheetComposed,
+			XSLValidationReport report) throws MaxErrorsExceededException {
+		for (CallTemplate calledTemplate : stylesheetComposed.getStylesheet()
+				.getCalledTemplates()) {
+			if (calledTemplate.getName() != null) {
 				// get the list of templates that might be being called by this
 				// template call
-				List<Template> templateList = stylesheetComposed.getTemplatesByName(calledTemplate.getName());
-				if (templateList.size() == 0)
-				{
+				List<Template> templateList = stylesheetComposed
+						.getTemplatesByName(calledTemplate.getName());
+				if (templateList.size() == 0) {
 					Object[] messageArgs = { calledTemplate.getName() };
-					createMarker(report, calledTemplate.getAttribute("name"), getPreference(ValidationPreferences.CALL_TEMPLATES), MessageFormat.format(Messages.XSLValidator_18, messageArgs)); //$NON-NLS-1$
-				}
-				else
-				{
+					createMarker(
+							report,
+							calledTemplate.getAttribute("name"), getPreference(ValidationPreferences.CALL_TEMPLATES), MessageFormat.format(Messages.XSLValidator_18, messageArgs)); //$NON-NLS-1$
+				} else {
 					Template namedTemplate = templateList.get(0);
-					for (Parameter calledTemplateParam : calledTemplate.getParameters())
-					{
+					for (Parameter calledTemplateParam : calledTemplate
+							.getParameters()) {
 						boolean found = false;
-						for (Parameter namedTemplateParam : namedTemplate.getParameters())
-						{
-							if (calledTemplateParam.getName().equals(namedTemplateParam.getName()))
-							{
+						for (Parameter namedTemplateParam : namedTemplate
+								.getParameters()) {
+							if (calledTemplateParam.getName().equals(
+									namedTemplateParam.getName())) {
 								found = true;
-								if (!namedTemplateParam.isValue() && !calledTemplateParam.isValue()) {
-								    Object[] messageArgs = { calledTemplateParam.getName() };	
-									createMarker(report, calledTemplateParam, getPreference(ValidationPreferences.EMPTY_PARAM), MessageFormat.format(Messages.XSLValidator_20, messageArgs));
+								if (!namedTemplateParam.isValue()
+										&& !calledTemplateParam.isValue()) {
+									Object[] messageArgs = { calledTemplateParam
+											.getName() };
+									createMarker(
+											report,
+											calledTemplateParam,
+											getPreference(ValidationPreferences.EMPTY_PARAM),
+											MessageFormat.format(
+													Messages.XSLValidator_20,
+													messageArgs));
 								}
 								break;
-								
+
 							}
 						}
 						if (!found) {
-							Object[] messageArgs = { calledTemplateParam.getName() };
-							createMarker(report, calledTemplateParam.getAttribute("name"), getPreference(ValidationPreferences.MISSING_PARAM), MessageFormat.format(Messages.XSLValidator_22, messageArgs)); //$NON-NLS-1$
+							Object[] messageArgs = { calledTemplateParam
+									.getName() };
+							createMarker(
+									report,
+									calledTemplateParam.getAttribute("name"), getPreference(ValidationPreferences.MISSING_PARAM), MessageFormat.format(Messages.XSLValidator_22, messageArgs)); //$NON-NLS-1$
 						}
 					}
-					if (getPreference(ValidationPreferences.MISSING_PARAM) > IMarker.SEVERITY_INFO)
-					{
-						for (Parameter namedTemplateParam : namedTemplate.getParameters())
-						{
-							if (!namedTemplateParam.isValue())
-							{
+					if (getPreference(ValidationPreferences.MISSING_PARAM) > IMarker.SEVERITY_INFO) {
+						for (Parameter namedTemplateParam : namedTemplate
+								.getParameters()) {
+							if (!namedTemplateParam.isValue()) {
 								boolean found = false;
-								for (Parameter calledTemplateParam : calledTemplate.getParameters())
-								{
-									if (calledTemplateParam.getName().equals(namedTemplateParam.getName()))
-									{
+								for (Parameter calledTemplateParam : calledTemplate
+										.getParameters()) {
+									if (calledTemplateParam.getName().equals(
+											namedTemplateParam.getName())) {
 										found = true;
 										break;
 									}
 								}
 								if (!found) {
-									Object[] messageArgs = { namedTemplateParam.getName() };
-									createMarker(report, calledTemplate, getPreference(ValidationPreferences.MISSING_PARAM), MessageFormat.format(Messages.XSLValidator_3, messageArgs));
+									Object[] messageArgs = { namedTemplateParam
+											.getName() };
+									createMarker(
+											report,
+											calledTemplate,
+											getPreference(ValidationPreferences.MISSING_PARAM),
+											MessageFormat.format(
+													Messages.XSLValidator_3,
+													messageArgs));
 								}
 							}
 						}
 					}
-				} 
+				}
 			}
 		}
 	}
 
-	private void createMarker(XSLValidationReport report, XSLNode xslNode, int severity, String message) throws MaxErrorsExceededException
-	{
-		if (severity > IMarker.SEVERITY_INFO)
-		{
+	private void createMarker(XSLValidationReport report, XSLNode xslNode,
+			int severity, String message) throws MaxErrorsExceededException {
+		if (severity > IMarker.SEVERITY_INFO) {
 			if (report.getErrors().size() + report.getWarnings().size() > getPreference(ValidationPreferences.MAX_ERRORS))
 				throw new MaxErrorsExceededException();
-			switch (severity)
-			{
-				case IMarker.SEVERITY_ERROR:
-					report.addError(xslNode, message);
-					break;
-				case IMarker.SEVERITY_WARNING:
-					report.addWarning(xslNode, message);
-					break;
+			switch (severity) {
+			case IMarker.SEVERITY_ERROR:
+				report.addError(xslNode, message);
+				break;
+			case IMarker.SEVERITY_WARNING:
+				report.addWarning(xslNode, message);
+				break;
 			}
 		}
 	}
@@ -391,8 +526,7 @@
 	 * 
 	 * @return the singleton XSLValidator instance
 	 */
-	public static XSLValidator getInstance()
-	{
+	public static XSLValidator getInstance() {
 		if (instance == null)
 			instance = new XSLValidator();
 		return instance;
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/eclipse/Validator.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/eclipse/Validator.java
index 3db07ad..64a9281 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/eclipse/Validator.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/eclipse/Validator.java
@@ -17,7 +17,6 @@
 import java.io.InputStream;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.util.HashMap;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
@@ -96,28 +95,8 @@
 	@Override
 	public ValidationReport validate(final String uri, InputStream inputstream, NestedValidatorContext context)
 	{
-		ValidationReport valreport = new ValidationReport(){
-
-			public String getFileURI()
-			{
-				return uri;
-			}
-
-			@SuppressWarnings("unchecked")
-			public HashMap getNestedMessages()
-			{
-				return new HashMap();
-			}
-
-			public ValidationMessage[] getValidationMessages()
-			{
-				return new ValidationMessage[0];
-			}
-
-			public boolean isValid()
-			{
-				return true;
-			}};
+		ValidationReport valreport = new XSLValidationReport(uri);
+		
 		try
 		{
 			String encUri = URIEncoder.encode(uri);
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/eclipse/XSLValidationReport.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/eclipse/XSLValidationReport.java
new file mode 100644
index 0000000..3e45117
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/internal/validation/eclipse/XSLValidationReport.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2007, 2009 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver - refactored to it's own class instead of an inline override.
+ ********************************************************************************/
+
+package org.eclipse.wst.xsl.core.internal.validation.eclipse;
+
+import java.util.HashMap;
+
+import org.eclipse.wst.xml.core.internal.validation.core.ValidationMessage;
+import org.eclipse.wst.xml.core.internal.validation.core.ValidationReport;
+
+public class XSLValidationReport implements ValidationReport {
+	private String uri;
+
+	public XSLValidationReport(String uri) {
+		this.uri = uri;
+	}
+
+	public String getFileURI() {
+		return uri;
+	}
+
+	public HashMap<?, ?> getNestedMessages() {
+		return new HashMap<Object, Object>();
+	}
+
+	public ValidationMessage[] getValidationMessages() {
+		return new ValidationMessage[0];
+	}
+
+	public boolean isValid() {
+		return true;
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Function.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Function.java
new file mode 100644
index 0000000..ac12abd
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Function.java
@@ -0,0 +1,86 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.core.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @since 1.1
+ */
+public class Function extends XSLElement {
+
+	final List<Variable> variables = new ArrayList<Variable>();
+	final List<Parameter> parameters = new ArrayList<Parameter>();
+
+	/**
+	 * Return the variables defined in this function.
+	 * @return
+	 */
+	public List<Variable> getVariables() {
+		return variables;
+	}
+
+	/**
+	 * Return the parameters defined in this function.
+	 * @return
+	 */
+	public List<Parameter> getParameters() {
+		return parameters;
+	}
+
+	public Function(Stylesheet stylesheet) {
+		super(stylesheet);
+	}
+
+	@Override
+	public Type getModelType() {
+		return Type.FUNCTION;
+	}
+
+	/**
+	 * Get the value of the <code>name</code> attribute if one exists.
+	 * 
+	 * @return the function name, or null
+	 */
+	@Override
+	public String getName() {
+		return getAttributeValue("name"); //$NON-NLS-1$
+	}
+
+	/**
+	 * Add a parameter to this.
+	 * 
+	 * @param parameter
+	 *            the parameter to add
+	 */
+	public void addParameter(Parameter parameter) {
+		parameters.add(parameter);
+	}
+
+	/**
+	 * Add a variable to this.
+	 * 
+	 * @param var
+	 *            the variable to add
+	 */
+	public void addVariable(Variable var) {
+		variables.add(var);
+	}
+	
+	public String getOverRideValue() {
+		return getAttributeValue("override"); //$NON-NLS-1$
+	}
+	
+	public String getAsValue() {
+		return getAttributeValue("as"); //$NON-NLS-1$
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Parameter.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Parameter.java
index a8d92a9..996835e 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Parameter.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Parameter.java
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (STAR) - bug 246500 - Add Paramters to global variables type.
  *******************************************************************************/
 package org.eclipse.wst.xsl.core.model;
 
@@ -53,4 +54,17 @@
 			return true;
 		return false; 
 	}
+	
+	@Override
+	public Type getModelType() {
+		return Type.PARAM;
+	}
+	
+	/**
+	 * @since 1.1
+	 */
+	@Override
+	public String getAs() {
+		return getAttributeValue("as"); //$NON-NLS-1$
+	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Stylesheet.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Stylesheet.java
index 8b58e30..e536acb 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Stylesheet.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Stylesheet.java
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (STAR) - bug 246500 - added ability to get parameters in global variables.
  *******************************************************************************/
 package org.eclipse.wst.xsl.core.model;
 
@@ -21,8 +22,7 @@
  * @author Doug Satchwell
  * @since 1.0
  */
-public class Stylesheet extends XSLElement
-{
+public class Stylesheet extends XSLElement {
 	final IFile file;
 	final List<Include> includes = new ArrayList<Include>();
 	final List<Import> imports = new ArrayList<Import>();
@@ -30,62 +30,64 @@
 	final List<CallTemplate> calledTemplates = new ArrayList<CallTemplate>();
 	final List<Variable> globalVariables = new ArrayList<Variable>();
 	final List<XSLElement> elements = new ArrayList<XSLElement>();
+	final List<Function> functions = new ArrayList<Function>();
+
 	String version;
 
 	/**
 	 * Create an instance of this.
 	 * 
-	 * @param file the file that this represents
+	 * @param file
+	 *            the file that this represents
 	 */
-	public Stylesheet(IFile file)
-	{
+	public Stylesheet(IFile file) {
 		super(null);
 		this.file = file;
 	}
-	
+
 	@Override
-	public Stylesheet getStylesheet()
-	{
+	public Stylesheet getStylesheet() {
 		return this;
 	}
 
 	/**
 	 * Add an <code>Include</code> to this.
 	 * 
-	 * @param include the include to add
+	 * @param include
+	 *            the include to add
 	 */
-	public void addInclude(Include include)
-	{
+	public void addInclude(Include include) {
 		includes.add(include);
 	}
 
 	/**
 	 * Add an <code>Import</code> to this.
 	 * 
-	 * @param include the import to add
+	 * @param include
+	 *            the import to add
 	 */
-	public void addImport(Import include)
-	{
+	public void addImport(Import include) {
 		imports.add(include);
 	}
 
+	
 	/**
 	 * Add a <code>Template</code> to this.
 	 * 
-	 * @param template the template to add
+	 * @param template
+	 *            the template to add
 	 */
-	public void addTemplate(Template template)
-	{
+	public void addTemplate(Template template) {
 		templates.add(template);
 	}
 
 	/**
 	 * Add a <code>CallTemplate</code> to this.
 	 * 
-	 * @param template the template to add
+	 * @param template
+	 *            the template to add
 	 */
-	public void addCalledTemplate(CallTemplate template)
-	{
+	public void addCalledTemplate(CallTemplate template) {
 		calledTemplates.add(template);
 	}
 
@@ -94,8 +96,7 @@
 	 * 
 	 * @return the file that this represents
 	 */
-	public IFile getFile()
-	{
+	public IFile getFile() {
 		return file;
 	}
 
@@ -104,18 +105,16 @@
 	 * 
 	 * @return the list of includes
 	 */
-	public List<Include> getIncludes()
-	{
+	public List<Include> getIncludes() {
 		return includes;
 	}
-	
+
 	/**
 	 * Get the list of imports for this.
 	 * 
 	 * @return the list of imports
 	 */
-	public List<Import> getImports()
-	{
+	public List<Import> getImports() {
 		return imports;
 	}
 
@@ -124,8 +123,7 @@
 	 * 
 	 * @return the list of templates
 	 */
-	public List<Template> getTemplates()
-	{
+	public List<Template> getTemplates() {
 		return templates;
 	}
 
@@ -134,48 +132,65 @@
 	 * 
 	 * @return the list of called templates
 	 */
-	public List<CallTemplate> getCalledTemplates()
-	{
+	public List<CallTemplate> getCalledTemplates() {
 		return calledTemplates;
 	}
 
 	/**
 	 * Add a global variable to this.
 	 * 
-	 * @param var the variable to add
+	 * @param var
+	 *            the variable to add
 	 */
-	public void addGlobalVariable(Variable var)
-	{
+	public void addGlobalVariable(Variable var) {
 		globalVariables.add(var);
 	}
-	
+
 	@Override
-	public Type getModelType()
-	{
+	public Type getModelType() {
 		return Type.STYLESHEET;
 	}
 
 	/**
 	 * Set the stylesheet version.
 	 * 
-	 * @param version the version to set
+	 * @param version
+	 *            the version to set
 	 */
-	public void setVersion(String version)
-	{
+	public void setVersion(String version) {
 		this.version = version;
 	}
 
 	/**
 	 * Get the stylesheet version.
-	 * @return 
+	 * 
+	 * @return
 	 */
-	public String getVersion()
-	{
+	public String getVersion() {
 		return version;
 	}
 
-	public List<Variable> getGlobalVariables()
-	{
+	public List<Variable> getGlobalVariables() {
 		return globalVariables;
 	}
+
+	/**
+	 * Get the list of functions for this stylesheet.
+	 * 
+	 * @return the list of called templates
+	 * @since 1.1
+	 */
+	public List<Function> getFunctions() {
+		return functions;
+	}
+	
+	/**
+	 * @param function 
+	 * @since 1.1
+	 */
+	public void addFunction(Function function) {
+		functions.add(function);
+	}
+	
+
 }
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/StylesheetModel.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/StylesheetModel.java
index ee0b80f..339301e 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/StylesheetModel.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/StylesheetModel.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2007, 2009 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
  *     David Carver (STAR) -  bug 243577 - Added retrieving all called-templates.
+ *     David Carver (STAR) -  bug 246503 - Handled nested circular includes.
  *******************************************************************************/
 package org.eclipse.wst.xsl.core.model;
 
@@ -21,21 +22,24 @@
 import org.eclipse.wst.xsl.core.internal.util.Debug;
 
 /**
- * The composed stylesheet, consisting of all templates and variables available via imports and includes.
+ * The composed stylesheet, consisting of all templates and variables available
+ * via imports and includes.
  * 
  * <p>
- * The <code>fix()</code> method does the actual work of populating the fields of this, so it must be called before calling any of the other methods.
+ * The <code>fix()</code> method does the actual work of populating the fields
+ * of this, so it must be called before calling any of the other methods.
  * </p>
  * 
  * <p>
- * Note that this model may not be valid - for instance there may be more than one named template for a given name or more than one global variable with a given name.
+ * Note that this model may not be valid - for instance there may be more than
+ * one named template for a given name or more than one global variable with a
+ * given name.
  * </p>
  * 
  * @author Doug Satchwell
  * @since 1.0
  */
-public class StylesheetModel extends XSLModelObject
-{
+public class StylesheetModel extends XSLModelObject {
 	private final Stylesheet stylesheet;
 	boolean circularReference;
 	final Set<IFile> files = new HashSet<IFile>();
@@ -46,8 +50,7 @@
 	final List<Template> templates = new ArrayList<Template>();
 	final List<Variable> globalVariables = new ArrayList<Variable>();
 	final List<CallTemplate> callTemplates = new ArrayList<CallTemplate>();
-
-
+	final List<Function> functions = new ArrayList<Function>();
 
 	/**
 	 * Create a new instance of this.
@@ -55,28 +58,27 @@
 	 * @param stylesheet
 	 *            the stylesheet that this is the model for
 	 */
-	public StylesheetModel(Stylesheet stylesheet)
-	{
+	public StylesheetModel(Stylesheet stylesheet) {
 		this.stylesheet = stylesheet;
 	}
 
 	/**
-	 * Get all stylesheets that are included in this stylesheet anywhere in the hierarchy via either import or include.
+	 * Get all stylesheets that are included in this stylesheet anywhere in the
+	 * hierarchy via either import or include.
 	 * 
 	 * @return the set of stylesheets in the entire hierarchy
 	 */
-	public List<Include> getIncludes()
-	{
+	public List<Include> getIncludes() {
 		return includeModel;
 	}
 
 	/**
-	 * Get all files that are included in this stylesheet anywhere in the hierarchy via either import or include.
+	 * Get all files that are included in this stylesheet anywhere in the
+	 * hierarchy via either import or include.
 	 * 
 	 * @return the set of files in the entire hierarchy
 	 */
-	public Set<IFile> getFileDependencies()
-	{
+	public Set<IFile> getFileDependencies() {
 		return files;
 	}
 
@@ -85,60 +87,59 @@
 	 * 
 	 * @return the stylesheet that this is the model for
 	 */
-	public Stylesheet getStylesheet()
-	{
+	public Stylesheet getStylesheet() {
 		return this.stylesheet;
 	}
 
 	/**
-	 * Get all global variables that are included in this stylesheet anywhere in the hierarchy via either import or include.
+	 * Get all global variables that are included in this stylesheet anywhere in
+	 * the hierarchy via either import or include.
 	 * 
 	 * @return the set of files in the entire hierarchy
 	 */
-	public List<Variable> getGlobalVariables()
-	{
+	public List<Variable> getGlobalVariables() {
 		return globalVariables;
 	}
 
 	/**
-	 * Get all templates that are included in this stylesheet anywhere in the hierarchy via either import or include.
+	 * Get all templates that are included in this stylesheet anywhere in the
+	 * hierarchy via either import or include.
 	 * 
 	 * @return the set of templates in the entire hierarchy
 	 */
-	public List<Template> getTemplates()
-	{
+	public List<Template> getTemplates() {
 		return templates;
 	}
-	
+
 	/**
-	 * A utility method that traverses all stylesheet in the hierarchy of stylesheets (not including the current stylesheet), and adds all their templates to the returned list.
-	 * Therefore the returned list has no regard for whether a template is 'visible' (i.e. whether it might be overridden since it 
-	 * was included via an import). The order of the templates in the list is arbitrary.
+	 * A utility method that traverses all stylesheet in the hierarchy of
+	 * stylesheets (not including the current stylesheet), and adds all their
+	 * templates to the returned list. Therefore the returned list has no regard
+	 * for whether a template is 'visible' (i.e. whether it might be overridden
+	 * since it was included via an import). The order of the templates in the
+	 * list is arbitrary.
 	 * 
 	 * @return an unordered list of all templates from all stylesheets.
 	 */
-	public List<Template> findAllNestedTemplates()
-	{
+	public List<Template> findAllNestedTemplates() {
 		List<Template> allTemplates = new ArrayList<Template>();
-		for (Stylesheet stylesheet : stylesheets)
-		{
+		for (Stylesheet stylesheet : stylesheets) {
 			allTemplates.addAll(stylesheet.getTemplates());
 		}
 		return allTemplates;
 	}
 
 	/**
-	 * Get all named templates that are included in this stylesheet anywhere in the hierarchy via either import or include which have the given name.
+	 * Get all named templates that are included in this stylesheet anywhere in
+	 * the hierarchy via either import or include which have the given name.
 	 * 
 	 * @param name
 	 *            the template name
 	 * @return the set of named templates with the given name
 	 */
-	public List<Template> getTemplatesByName(String name)
-	{
+	public List<Template> getTemplatesByName(String name) {
 		List<Template> matching = new ArrayList<Template>(templates.size());
-		for (Template template : templates)
-		{
+		for (Template template : templates) {
 			if (name.equals(template.getName()))
 				matching.add(template);
 		}
@@ -146,17 +147,16 @@
 	}
 
 	/**
-	 * Get all templates that match the given template (determined from <code>Template.equals()</code>).
+	 * Get all templates that match the given template (determined from
+	 * <code>Template.equals()</code>).
 	 * 
 	 * @param toMatch
 	 *            the template to match
 	 * @return the set of templates that match
 	 */
-	public List<Template> findMatching(Template toMatch)
-	{
+	public List<Template> findMatching(Template toMatch) {
 		List<Template> matching = new ArrayList<Template>(templates.size());
-		for (Template template : templates)
-		{
+		for (Template template : templates) {
 			if (template.equals(toMatch))
 				matching.add(template);
 		}
@@ -164,96 +164,135 @@
 	}
 
 	/**
-	 * Get whether this has a circular reference anywhere in its import/included hierarchy.
+	 * Get whether this has a circular reference anywhere in its import/included
+	 * hierarchy.
 	 * 
 	 * @return <code>true</code> if this has a circular reference
 	 */
-	public boolean hasCircularReference()
-	{
+	public boolean hasCircularReference() {
 		return circularReference;
 	}
 
 	/**
-	 * Perform the process of traversing the hierarchy to determine all of the properties of this. Note that this method may force other <code>StylesheetModel</code>'s to be built during the process
-	 * of fixing.
+	 * Perform the process of traversing the hierarchy to determine all of the
+	 * properties of this. Note that this method may force other
+	 * <code>StylesheetModel</code>'s to be built during the process of fixing.
 	 */
-	public void fix()
-	{
+	public void fix() {
 		long start = System.currentTimeMillis();
 
-		if (Debug.debugXSLModel)
-		{
+		if (Debug.debugXSLModel) {
 			System.out.println("Fixing " + stylesheet.getFile() + "..."); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 		templates.addAll(stylesheet.getTemplates());
 		templateSet.addAll(stylesheet.getTemplates());
 		globalVariables.addAll(stylesheet.globalVariables);
 		callTemplates.addAll(stylesheet.getCalledTemplates());
-		for (Include inc : stylesheet.getIncludes())
-		{
+		functions.addAll(stylesheet.getFunctions());
+		for (Include inc : stylesheet.getIncludes()) {
 			handleInclude(inc);
 		}
-		for (Import inc : stylesheet.getImports())
-		{
+		for (Import inc : stylesheet.getImports()) {
 			handleInclude(inc);
 		}
-		if (Debug.debugXSLModel)
-		{
+		if (Debug.debugXSLModel) {
 			long end = System.currentTimeMillis();
-			System.out.println("FIX " + stylesheet.getFile() + " in " + (end - start) + "ms");  //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
+			System.out
+					.println("FIX " + stylesheet.getFile() + " in " + (end - start) + "ms"); //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$
 		}
 	}
 
-	private void handleInclude(Include include)
-	{
+	private void handleInclude(Include include) {
 		IFile file = include.getHrefAsFile();
 
-		if (file == null || !file.exists())
-		{
+		if (file == null || !file.exists()) {
 			return;
 		}
-		else if (stylesheet.getFile().equals(file) || files.contains(file))
-		{
+
+		if (stylesheet.getFile().equals(file) || files.contains(file)) {
 			circularReference = true;
 			return;
+		} else if (isNestedInclude(include, stylesheet.getFile())) {
+			circularReference = true;
 		}
 		files.add(file);
 
-		StylesheetModel includedModel = XSLCore.getInstance().getStylesheet(file);
+		StylesheetModel includedModel = XSLCore.getInstance().getStylesheet(
+				file);
 		if (includedModel == null)
 			return;
 		stylesheets.add(includedModel.getStylesheet());
 		globalVariables.addAll(includedModel.globalVariables);
 		callTemplates.addAll(includedModel.getCallTemplates());
-
-		if (include.getIncludeType() == Include.INCLUDE)
-		{
+		if (include.getIncludeType() == Include.INCLUDE) {
 			includeModel.add(include);
 			templates.addAll(includedModel.getTemplates());
 			templateSet.addAll(includedModel.getTemplates());
-		}
-		else
-		{
-			importModel.add((Import)include);
-			for (Template includedTemplate : includedModel.getTemplates())
-			{
-				if (!templateSet.contains(includedTemplate))
-				{
+		} else {
+			importModel.add((Import) include);
+			for (Template includedTemplate : includedModel.getTemplates()) {
+				if (!templateSet.contains(includedTemplate)) {
 					templates.add(includedTemplate);
 					templateSet.add(includedTemplate);
 				}
 			}
 		}
 	}
-	
+
+	/**
+	 * Is the current stylesheet nested in one of the included stylesheets
+	 * 
+	 * @return
+	 */
+	private boolean isNestedInclude(Include include, IFile compareTo) {
+		StylesheetModel includedModel = XSLCore.getInstance().getStylesheet(
+				include.getHrefAsFile());
+
+		for (Include inc : includedModel.getIncludes()) {
+			if (inc.getHrefAsFile().equals(compareTo)
+					|| isNestedInclude(inc, compareTo)) {
+				return true;
+			}
+		}
+
+		return false;
+
+	}
+
 	@Override
-	public Type getModelType()
-	{
+	public Type getModelType() {
 		return Type.STYLESHEET_MODEL;
 	}
-	
+
 	public List<CallTemplate> getCallTemplates() {
 		return callTemplates;
 	}
 
+	/**
+	 * Get a List of all functions that are known.
+	 * @return 
+	 * @since 1.1
+	 */
+	public List<Function> getFunctions() {
+		return functions;
+	}
+
+	/**
+	 * Get all functions that are included in this stylesheet anywhere in the
+	 * hierarchy via either import or include which have the given name.
+	 * 
+	 * @param name
+	 *            the template name
+	 * @return the set of named templates with the given name
+	 * @since 1.1
+	 */
+	public List<Function> getFunctionByName(String name) {
+		List<Function> matching = new ArrayList<Function>(functions.size());
+		for (Function function : functions) {
+			if (name.equals(function.getName()))
+				matching.add(function);
+		}
+		return matching;
+	}
+
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Variable.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Variable.java
index 2a24c84..5dcb56b 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Variable.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/Variable.java
@@ -54,4 +54,14 @@
 	{
 		return Type.VARIABLE;
 	}
+	
+	/**
+	 * If an XSLT 2.0, return the value of the <code>as</code> attribute if one exists.
+	 * 
+	 * @return the as value, or null
+	 * @since 1.1
+	 */
+	public String getAs() {
+		return getAttributeValue("as"); //$NON-NLS-1$
+	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/XSLElement.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/XSLElement.java
index cd386b0..d7a8c2d 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/XSLElement.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/XSLElement.java
@@ -21,60 +21,58 @@
  * @author Doug Satchwell
  * @since 1.0
  */
-public class XSLElement extends XSLNode
-{
+public class XSLElement extends XSLNode {
 	final Map<String, XSLAttribute> attributes = new HashMap<String, XSLAttribute>();
 	final List<XSLElement> childElements = new ArrayList<XSLElement>();
-	
+
 	/**
 	 * Create a new instance of this.
 	 * 
-	 * @param stylesheet the stylesheet that this belongs to
+	 * @param stylesheet
+	 *            the stylesheet that this belongs to
 	 */
-	public XSLElement(Stylesheet stylesheet)
-	{
+	public XSLElement(Stylesheet stylesheet) {
 		super(stylesheet, XSLNode.ELEMENT_NODE);
 	}
-	
+
 	/**
 	 * Add an attribute of this
 	 * 
-	 * @param attribute the attribute to add
+	 * @param attribute
+	 *            the attribute to add
 	 */
-	public void setAttribute(XSLAttribute attribute)
-	{
+	public void setAttribute(XSLAttribute attribute) {
 		attributes.put(attribute.name, attribute);
 	}
-	
+
 	/**
 	 * Get the attribute with the given name.
 	 * 
-	 * @param name the name of the attribute
+	 * @param name
+	 *            the name of the attribute
 	 * @return the attribute
 	 */
-	public XSLAttribute getAttribute(String name)
-	{
+	public XSLAttribute getAttribute(String name) {
 		return attributes.get(name);
 	}
 
 	/**
-	 * Get the attributes keyed by their names. 
+	 * Get the attributes keyed by their names.
 	 * 
 	 * @return the map of attribute names and instances
 	 */
-	public Map<String, XSLAttribute> getAttributes()
-	{
+	public Map<String, XSLAttribute> getAttributes() {
 		return attributes;
 	}
-	
+
 	/**
 	 * Get the value of the attribute with the given name.
 	 * 
-	 * @param name the name of the attribute
+	 * @param name
+	 *            the name of the attribute
 	 * @return the attribute value
 	 */
-	public String getAttributeValue(String name)
-	{
+	public String getAttributeValue(String name) {
 		XSLAttribute attribute = attributes.get(name);
 		return attribute == null ? null : attribute.getValue();
 	}
@@ -82,26 +80,24 @@
 	/**
 	 * Add a child element of this.
 	 * 
-	 * @param element the chold element
+	 * @param element
+	 *            the chold element
 	 */
-	public void addChild(XSLElement element)
-	{
+	public void addChild(XSLElement element) {
 		childElements.add(element);
 	}
-	
+
 	/**
 	 * Get the list of child elements
 	 * 
 	 * @return the list of children
 	 */
-	public List<XSLElement> getChildElements()
-	{
+	public List<XSLElement> getChildElements() {
 		return childElements;
 	}
 
 	@Override
-	public Type getModelType()
-	{
+	public Type getModelType() {
 		return Type.OTHER_ELEMENT;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/XSLModelObject.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/XSLModelObject.java
index 8f7b2a5..a594382 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/XSLModelObject.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/model/XSLModelObject.java
@@ -1,15 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Chase Technologies and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Doug Satchwel (Chase Technologies) - initial API and implementation
+ *******************************************************************************/
 package org.eclipse.wst.xsl.core.model;
 
 import org.eclipse.core.runtime.PlatformObject;
 
 /**
- * @author dcarver
+ * 
  * @since 1.0
  *
  */
 public abstract class XSLModelObject extends PlatformObject
 {
-	public enum Type {STYLESHEET_MODEL,IMPORT,INCLUDE,TEMPLATE,VARIABLE, CALL_TEMPLATE, STYLESHEET, ATTRIBUTE, OTHER_ELEMENT};
+	public enum Type {STYLESHEET_MODEL,IMPORT,INCLUDE,TEMPLATE,VARIABLE, CALL_TEMPLATE, STYLESHEET, ATTRIBUTE, OTHER_ELEMENT,
+	/**
+	 * @since 1.1
+	 */
+	PARAM,
+	/**
+	 * @since 1.1
+	 */
+	FUNCTION};
 	
 	public abstract Type getModelType();
 }
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/ResolverExtension.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/ResolverExtension.java
index 85ef5e6..9e1fede 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/ResolverExtension.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/ResolverExtension.java
@@ -8,6 +8,7 @@
  * Contributors:
  * Jesper Steen Moeller - XSL core plugin
  * Doug Satchwell - bug 225304
+ * David Carver - bug 284200 - make sure we get a non XML Include parser configuration
  *******************************************************************************/
 
 package org.eclipse.wst.xsl.core.resolver;
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/XSLVersionHandler.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/XSLVersionHandler.java
index db10106..99178e1 100644
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/XSLVersionHandler.java
+++ b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/XSLVersionHandler.java
@@ -7,6 +7,7 @@
  * Contributors: 
  * IBM - Initial API and implementation
  * Jesper Steen M�ller - adapted from org.eclipse.core.internal.content
+ * David Carver - bug 284200 - make sure we get a non XML Include parser configuration
  **********************************************************************/
 
 package org.eclipse.wst.xsl.core.resolver;
@@ -15,6 +16,7 @@
 import java.io.StringReader;
 import javax.xml.parsers.*;
 
+import org.apache.xerces.jaxp.SAXParserImpl;
 import org.eclipse.wst.xsl.core.XSLCore;
 import org.eclipse.wst.xsl.core.internal.XSLCorePlugin;
 import org.xml.sax.*;
@@ -71,11 +73,12 @@
 	 *             If the <code>XMLReader</code> does not support the lexical
 	 *             handler configuration option.
 	 */
-	private final SAXParser createParser(SAXParserFactory parserFactory) throws ParserConfigurationException, SAXException, SAXNotRecognizedException, SAXNotSupportedException {
+	private final synchronized SAXParser createParser(SAXParserFactory parserFactory) throws ParserConfigurationException, SAXException, SAXNotRecognizedException, SAXNotSupportedException {
 		// Initialize the parser.
-		final SAXParser parser = parserFactory.newSAXParser();
+		final SAXParserImpl parser = (SAXParserImpl)parserFactory.newSAXParser();
 		final XMLReader reader = parser.getXMLReader();
 		reader.setProperty("http://xml.org/sax/properties/lexical-handler", this); //$NON-NLS-1$
+		
 		reader.setErrorHandler(this); // This helps to ignore errors
 		// disable DTD validation
 		try {
@@ -139,6 +142,9 @@
 			SAXParserFactory factory = XSLCorePlugin.getDefault().getFactory();
 			if (factory == null)
 				return false;
+			if (factory.isXIncludeAware()) {
+				factory.setXIncludeAware(false);
+			}
 			final SAXParser parser = createParser(factory);
 			// to support external entities specified as relative URIs (see bug 63298)
 			parser.parse(contents, this);
diff --git a/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-1.0.xsd b/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-1.0.xsd
index c922450..9da1ba3 100644
--- a/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-1.0.xsd
+++ b/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-1.0.xsd
@@ -16,6 +16,7 @@
  *         The original version may be found at http://www.w3.org/2007/schema-for-xslt20.xsd
  *         The original W3C copyright notice is included:
  *     David Carver - 20080330 - STAR - bug 224819 - changed procesContents from lax to skip
+ *     David Carver - STAR - bug 293902 - correct exclude-result-prefix to use prefix-list
  *******************************************************************************
  *******************************************************************************
  * W3C® SOFTWARE NOTICE AND LICENSE
@@ -1150,18 +1151,18 @@
               </xs:documentation>
            </xs:annotation>
       </xs:attribute>
-      <xs:attribute name="exclude-result-prefixes" type="xsl:prefixes" use="optional">
+      <xs:attribute name="exclude-result-prefixes" type="xsl:prefix-list" use="optional">
       	<xs:annotation>
       		<xs:documentation source="http:/www.w3.org/TR/xslt">
-      			Optional. A list of namespace prefixes to exclude from the result document.
+      			Optional. A list of namespace prefixes to exclude from the result document. #default excludes the default namespace.
       		</xs:documentation>
       	</xs:annotation>
       </xs:attribute>
-      <xs:attribute name="extension-element-prefixes" type="xsl:prefixes" use="optional">
+      <xs:attribute name="extension-element-prefixes" type="xsl:prefix-list" use="optional">
          <xs:annotation>
             <xs:documentation source="http:/www.w3.org/TR/xslt">
                Optional.  A list of extension namespace prefixes.  This is used to identify namespaces that
-               contain XSLT processor extensions.
+               contain XSLT processor extensions.  #default can be used to specify the default namespace.
             </xs:documentation>
          </xs:annotation>
       </xs:attribute>
diff --git a/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-2.0.xsd b/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-2.0.xsd
index 91fd200..3f573cb 100644
--- a/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-2.0.xsd
+++ b/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-2.0.xsd
@@ -10,6 +10,7 @@
  *
  * Contributors:
  *     David Carver - 20080330 - STAR - bug 224819 - changed procesContents from lax to skip
+ *     David Carver - STAR - bug 279737 - use namespace to import xml schema definitions.
  *******************************************************************************
 *******************************************************************************
  * W3C® SOFTWARE NOTICE AND LICENSE
@@ -112,8 +113,7 @@
     so the Schema for schemas needs to be imported
 -->
   
-<xs:import namespace="http://www.w3.org/2001/XMLSchema"
-                  schemaLocation="http://www.w3.org/2001/XMLSchema.xsd"/>
+<xs:import namespace="http://www.w3.org/2001/XMLSchema"/>
 
 <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
 <xs:annotation>
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.jdt.core.prefs
index c2dd24e..5398188 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Tue Feb 10 05:29:19 GMT 2009
+#Thu Jun 11 01:33:30 GMT 2009
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
@@ -8,13 +8,36 @@
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
@@ -22,4 +45,43 @@
 org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.5
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.debug.ui/META-INF/MANIFEST.MF
index ca60b95..95d2f16 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xsl.debug.ui;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.100.qualifier
 Bundle-Activator: org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin
 Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.filesystem;bundle-version="[1.2.0,2.0.0)",
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/plugin.properties b/bundles/org.eclipse.wst.xsl.debug.ui/plugin.properties
index 6bb5a1a..2bd65c9 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/plugin.properties
@@ -6,7 +6,7 @@
 context.name.0 = XSLT Debugging
 shortcut.label.0 = XSL Transformation
 shortcut.label.1 = XSLT Transformation
-Bundle-Vendor.0 = Eclipse.org
+Bundle-Vendor.0 = Eclipse Web Tools Platform
 description.description.0 = Run an XSLT transformation using the selected file(s)
 description.description.1 = Debug an XSLT transformation using the selected file(s)
-description.description.2 = Profile an XSLT transformation using the selected file(s)
\ No newline at end of file
+description.description.2 = Profile an XSLT transformation using the selected file(s)
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/debug/internal/util/XSLDebugPluginImages.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/debug/internal/util/XSLDebugPluginImages.java
index afc145b..e9c6537 100755
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/debug/internal/util/XSLDebugPluginImages.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/debug/internal/util/XSLDebugPluginImages.java
@@ -17,10 +17,10 @@
 public class XSLDebugPluginImages {
 
 	/**
-	 * Path to the XSLT Processor  Images used for launch configurations
+	 * Path to the XSLT Processor Images used for launch configurations
 	 */
 	public static final String IMG_PROCESSOR_TAB = "icons/xslt_processor.gif"; //$NON-NLS-1$
-	
+
 	/**
 	 * Path to the XSLT Output Images used for launch configurations
 	 */
@@ -30,5 +30,5 @@
 	 * Path to the XSLT Launch Images used for launch configurations
 	 */
 	public static final String IMG_MAIN_TAB = "icons/xslt_launch.gif"; //$NON-NLS-1$
-	
+
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/debug/internal/util/XSLPluginImageHelper.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/debug/internal/util/XSLPluginImageHelper.java
index 86843b5..74396a4 100755
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/debug/internal/util/XSLPluginImageHelper.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/debug/internal/util/XSLPluginImageHelper.java
@@ -20,7 +20,6 @@
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
 
-
 /**
  * Helper class to handle images provided by this plug-in.
  * 
@@ -50,8 +49,8 @@
 	private final String PLUGINID = XSLDebugUIPlugin.PLUGIN_ID;
 
 	/**
-	 * Creates an image from the given resource and adds the image to the
-	 * image registry.
+	 * Creates an image from the given resource and adds the image to the image
+	 * registry.
 	 * 
 	 * @param resource
 	 * @return Image
@@ -73,9 +72,9 @@
 
 	/**
 	 * Creates an image descriptor from the given imageFilePath and adds the
-	 * image descriptor to the image descriptor registry. If an image
-	 * descriptor could not be created, the default "missing" image descriptor
-	 * is returned but not added to the image descriptor registry.
+	 * image descriptor to the image descriptor registry. If an image descriptor
+	 * could not be created, the default "missing" image descriptor is returned
+	 * but not added to the image descriptor registry.
 	 * 
 	 * @param imageFilePath
 	 * @return ImageDescriptor image descriptor for imageFilePath or default
@@ -83,11 +82,11 @@
 	 */
 	@SuppressWarnings("unchecked")
 	private ImageDescriptor createImageDescriptor(String imageFilePath) {
-		ImageDescriptor imageDescriptor = AbstractUIPlugin.imageDescriptorFromPlugin(PLUGINID, imageFilePath);
+		ImageDescriptor imageDescriptor = AbstractUIPlugin
+				.imageDescriptorFromPlugin(PLUGINID, imageFilePath);
 		if (imageDescriptor != null) {
 			getImageDescriptorRegistry().put(imageFilePath, imageDescriptor);
-		}
-		else {
+		} else {
 			imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
 		}
 
@@ -95,14 +94,14 @@
 	}
 
 	/**
-	 * Retrieves the image associated with resource from the image registry.
-	 * If the image cannot be retrieved, attempt to find and load the image at
-	 * the location specified in resource.
+	 * Retrieves the image associated with resource from the image registry. If
+	 * the image cannot be retrieved, attempt to find and load the image at the
+	 * location specified in resource.
 	 * 
 	 * @param resource
 	 *            the image to retrieve
-	 * @return Image the image associated with resource or null if one could
-	 *         not be found
+	 * @return Image the image associated with resource or null if one could not
+	 *         be found
 	 */
 	public Image getImage(String resource) {
 		Image image = getImageRegistry().get(resource);
@@ -115,15 +114,14 @@
 
 	/**
 	 * Retrieves the image descriptor associated with resource from the image
-	 * descriptor registry. If the image descriptor cannot be retrieved,
-	 * attempt to find and load the image descriptor at the location specified
-	 * in resource.
+	 * descriptor registry. If the image descriptor cannot be retrieved, attempt
+	 * to find and load the image descriptor at the location specified in
+	 * resource.
 	 * 
 	 * @param resource
 	 *            the image descriptor to retrieve
 	 * @return ImageDescriptor the image descriptor assocated with resource or
-	 *         the default "missing" image descriptor if one could not be
-	 *         found
+	 *         the default "missing" image descriptor if one could not be found
 	 */
 	public ImageDescriptor getImageDescriptor(String resource) {
 		ImageDescriptor imageDescriptor = null;
@@ -131,8 +129,7 @@
 		if (o == null) {
 			// create a descriptor
 			imageDescriptor = createImageDescriptor(resource);
-		}
-		else {
+		} else {
 			imageDescriptor = (ImageDescriptor) o;
 		}
 		return imageDescriptor;
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/AbstractTableBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/AbstractTableBlock.java
index 53bc5c1..72085a5 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/AbstractTableBlock.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/AbstractTableBlock.java
@@ -16,14 +16,13 @@
 
 /**
  * An <code>AbstractLaunchConfigurationTab</code> specialised for blocks that
- * contain a table. This abstract class conveniently saves and restores the table's
- * column settings.
+ * contain a table. This abstract class conveniently saves and restores the
+ * table's column settings.
  * 
  * @author Doug Satchwell
  * @since 1.0
  */
-public abstract class AbstractTableBlock extends AbstractLaunchConfigurationTab
-{
+public abstract class AbstractTableBlock extends AbstractLaunchConfigurationTab {
 	private int fSortColumn;
 
 	protected abstract Table getTable();
@@ -32,8 +31,7 @@
 
 	protected abstract String getQualifier();
 
-	protected void setSortColumn(int column)
-	{
+	protected void setSortColumn(int column) {
 		fSortColumn = column;
 	}
 
@@ -41,12 +39,12 @@
 	 * Persist table settings into the give dialog store, prefixed with the
 	 * given key.
 	 */
-	public void saveColumnSettings()
-	{
+	public void saveColumnSettings() {
 		int columnCount = getTable().getColumnCount();
-		for (int i = 0; i < columnCount; i++)
-		{
-			getDialogSettings().put(getQualifier() + ".columnWidth" + i, getTable().getColumn(i).getWidth()); //$NON-NLS-1$
+		for (int i = 0; i < columnCount; i++) {
+			getDialogSettings()
+					.put(
+							getQualifier() + ".columnWidth" + i, getTable().getColumn(i).getWidth()); //$NON-NLS-1$
 		}
 		getDialogSettings().put(getQualifier() + ".sortColumn", fSortColumn); //$NON-NLS-1$
 	}
@@ -54,34 +52,25 @@
 	/**
 	 * Restore table settings from the given dialog store using the given key.
 	 */
-	public void restoreColumnSettings()
-	{
+	public void restoreColumnSettings() {
 		getTable().layout(true);
 		restoreColumnWidths(getDialogSettings(), getQualifier());
 		int col = 0;
-		try
-		{
+		try {
 			col = getDialogSettings().getInt(getQualifier() + ".sortColumn"); //$NON-NLS-1$
-		}
-		catch (NumberFormatException e)
-		{
+		} catch (NumberFormatException e) {
 			col = 1;
 		}
 		setSortColumn(col);
 	}
 
-	private void restoreColumnWidths(IDialogSettings settings, String qualifier)
-	{
+	private void restoreColumnWidths(IDialogSettings settings, String qualifier) {
 		int columnCount = getTable().getColumnCount();
-		for (int i = 0; i < columnCount; i++)
-		{
+		for (int i = 0; i < columnCount; i++) {
 			int width = -1;
-			try
-			{
+			try {
 				width = settings.getInt(qualifier + ".columnWidth" + i); //$NON-NLS-1$
-			}
-			catch (NumberFormatException e)
-			{
+			} catch (NumberFormatException e) {
 			}
 
 			if (width > 0)
@@ -90,8 +79,7 @@
 	}
 
 	@Override
-	public void dispose()
-	{
+	public void dispose() {
 		if (getTable() != null && !getTable().isDisposed())
 			saveColumnSettings();
 		super.dispose();
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/Messages.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/Messages.java
index 7833ebf..653a397 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/Messages.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/Messages.java
@@ -12,7 +12,6 @@
  *******************************************************************************/
 package org.eclipse.wst.xsl.internal.debug.ui;
 
-
 import org.eclipse.osgi.util.NLS;
 
 /**
@@ -126,9 +125,9 @@
 	public static String InputFileBlock_FILE_SYSTEM_BUTTON;
 
 	public static String InputFileBlock_WORKSPACE_BUTTON;
-	
+
 	public static String InputFileBlock_OPENFILES_BUTTON;
-	
+
 	public static String InputFileBlock_OPENFILES_DIALOG;
 
 	public static String InputFileBlock_Name;
@@ -172,6 +171,10 @@
 
 	public static String OutputFileBlock_0;
 
+	public static String OutputFileBlock_1;
+
+	public static String OutputFileBlock_2;
+
 	public static String OutputFileBlock_7;
 
 	public static String OutputFileBlock_8;
@@ -233,15 +236,13 @@
 	public static String OutputFOFileBlock_WORKSPACE_DIALOG_TITLE;
 
 	public static String OutputFOFileBlock_Exception_occurred_saving_configuration;
-	
+
 	public static String ResourceSelectionBlock_0;
-    public static String XSLLaunchShortcut_0;
+	public static String XSLLaunchShortcut_0;
 	public static String XSLLaunchShortcut_1;
 	public static String XSLLaunchShortcut_2;
 	public static String XSLLaunchShortcut_6;
 	public static String XSLSelectExisting;
-	
-	
 
 	private Messages() {
 	}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/ResourceSelectionBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/ResourceSelectionBlock.java
index 5783a61..1b56860 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/ResourceSelectionBlock.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/ResourceSelectionBlock.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2007, 2010 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -9,14 +9,11 @@
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
  *     Stuart Harper - bug 264788 - added "open files" selector
  *     David Carver (STAR) - bug 264788 - pulled up getFileExtensions from InputFileBlock
+ *     David Carver (Intalio) - clean up find bugs
  *******************************************************************************/
 package org.eclipse.wst.xsl.internal.debug.ui;
 
 import java.io.File;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Arrays;
-
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IResource;
@@ -25,11 +22,7 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
 import org.eclipse.core.variables.IStringVariableManager;
 import org.eclipse.core.variables.VariablesPlugin;
 import org.eclipse.debug.core.ILaunchConfiguration;
@@ -53,7 +46,6 @@
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorReference;
 import org.eclipse.ui.PlatformUI;
@@ -65,16 +57,15 @@
 import org.eclipse.ui.views.navigator.ResourceComparator;
 import org.eclipse.wst.xsl.core.internal.util.XMLContentType;
 
-
 /**
- * A block that shows a text box with buttons for browsing workspace or the filesystem
- * in order to populate the text box with a file path.
+ * A block that shows a text box with buttons for browsing workspace or the
+ * filesystem in order to populate the text box with a file path.
  * 
  * @author Doug Satchwell
  * @since 1.0
  */
-public abstract class ResourceSelectionBlock extends AbstractLaunchConfigurationTab
-{
+public abstract class ResourceSelectionBlock extends
+		AbstractLaunchConfigurationTab {
 	protected static final int ERROR_DIRECTORY_NOT_SPECIFIED = 1;
 	protected static final int ERROR_DIRECTORY_DOES_NOT_EXIST = 2;
 	protected static final int GROUP_NAME = 3;
@@ -104,59 +95,46 @@
 	protected String defaultResource;
 	protected String resource;
 	protected String fileLabel = Messages.ResourceSelectionBlock_0;
-	
-	IContentTypeManager contentTypeManager = Platform.getContentTypeManager();
 
-
-	private final ISelectionStatusValidator validator = new ISelectionStatusValidator()
-	{
-		public IStatus validate(Object[] selection)
-		{
-			if (selection.length == 0)
-			{
-				return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null);  //$NON-NLS-1$
+	private final ISelectionStatusValidator validator = new ISelectionStatusValidator() {
+		public IStatus validate(Object[] selection) {
+			if (selection.length == 0) {
+				return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0,
+						"", null); //$NON-NLS-1$
 			}
-			for (int i = 0; i < selection.length; i++)
-			{
-				if (resourceType == IResource.FOLDER && !(selection[i] instanceof IContainer))
-					return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null);  //$NON-NLS-1$
-				else if (resourceType == IResource.FILE && !(selection[i] instanceof IFile))
-					return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null);  //$NON-NLS-1$
+			for (int i = 0; i < selection.length; i++) {
+				if (resourceType == IResource.FOLDER
+						&& !(selection[i] instanceof IContainer))
+					return new Status(IStatus.ERROR,
+							XSLDebugUIPlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
+				else if (resourceType == IResource.FILE
+						&& !(selection[i] instanceof IFile))
+					return new Status(IStatus.ERROR,
+							XSLDebugUIPlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
 			}
-			return new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null);  //$NON-NLS-1$
+			return new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID, 0,
+					"", null); //$NON-NLS-1$
 		}
 	};
 
-	class WidgetListener extends SelectionAdapter implements ModifyListener
-	{
-		public void modifyText(ModifyEvent e)
-		{
+	class WidgetListener extends SelectionAdapter implements ModifyListener {
+		public void modifyText(ModifyEvent e) {
 			textModified();
 			updateLaunchConfigurationDialog();
 		}
 
 		@Override
-		public void widgetSelected(SelectionEvent e)
-		{
+		public void widgetSelected(SelectionEvent e) {
 			Object source = e.getSource();
-			if (source == fWorkspaceButton)
-			{
+			if (source == fWorkspaceButton) {
 				handleWorkspaceResourceBrowseButtonSelected();
-			}
-			else if (source == fFileSystemButton)
-			{
+			} else if (source == fFileSystemButton) {
 				handleExternalResourceBrowseButtonSelected();
-			}
-			else if (source == fVariablesButton)
-			{
+			} else if (source == fVariablesButton) {
 				handleResourceVariablesButtonSelected();
-			}
-			else if (source == useDefaultCheckButton)
-			{
+			} else if (source == useDefaultCheckButton) {
 				updateResourceText(useDefaultCheckButton.getSelection());
-			}
-			else if (source == fOpenFilesButton)
-			{
+			} else if (source == fOpenFilesButton) {
 				handleOpenFilesResourceBrowseButtonSelected();
 			}
 		}
@@ -165,54 +143,67 @@
 	/**
 	 * Same as <code>new ResourceSelectionBlock(true)</code>
 	 */
-	public ResourceSelectionBlock()
-	{
+	public ResourceSelectionBlock() {
 		this(true);
 	}
 
 	/**
-	 * Same as <code>new ResourceSelectionBlock(IResource.FOLDER,showDefault)</code>
+	 * Same as
+	 * <code>new ResourceSelectionBlock(IResource.FOLDER,showDefault)</code>
 	 * 
-	 * @param showDefault true if this should have a 'Show Default' button
+	 * @param showDefault
+	 *            true if this should have a 'Show Default' button
 	 */
-	public ResourceSelectionBlock(boolean showDefault)
-	{
+	public ResourceSelectionBlock(boolean showDefault) {
 		this(IResource.FOLDER, showDefault);
 	}
 
 	/**
-	 * Same as <code>new ResourceSelectionBlock(resourceType,showDefault,true)</code>
+	 * Same as
+	 * <code>new ResourceSelectionBlock(resourceType,showDefault,true)</code>
 	 * 
-	 * @param resourceType the type of resource to select - IResource.FOLDER or IResource.FILE
-	 * @param showDefault true if this should have a 'Show Default' button
+	 * @param resourceType
+	 *            the type of resource to select - IResource.FOLDER or
+	 *            IResource.FILE
+	 * @param showDefault
+	 *            true if this should have a 'Show Default' button
 	 */
-	public ResourceSelectionBlock(int resourceType, boolean showDefault)
-	{
+	public ResourceSelectionBlock(int resourceType, boolean showDefault) {
 		this(resourceType, showDefault, true);
 	}
 
 	/**
-	 * Same as <code>new ResourceSelectionBlock(resourceType,showDefault,required,true)</code>
+	 * Same as
+	 * <code>new ResourceSelectionBlock(resourceType,showDefault,required,true)</code>
 	 * 
-	 * @param resourceType the type of resource to select - IResource.FOLDER or IResource.FILE
-	 * @param showDefault true if this should have a 'Show Default' button
-	 * @param required true if a blank text box is invalid
+	 * @param resourceType
+	 *            the type of resource to select - IResource.FOLDER or
+	 *            IResource.FILE
+	 * @param showDefault
+	 *            true if this should have a 'Show Default' button
+	 * @param required
+	 *            true if a blank text box is invalid
 	 */
-	public ResourceSelectionBlock(int resourceType, boolean showDefault, boolean required)
-	{
+	public ResourceSelectionBlock(int resourceType, boolean showDefault,
+			boolean required) {
 		this(resourceType, showDefault, required, true);
 	}
 
 	/**
 	 * Create a new instance of this.
 	 * 
-	 * @param resourceType the type of resource to select - IResource.FOLDER or IResource.FILE
-	 * @param showDefault true if this should have a 'Show Default' button
-	 * @param required true if a blank text box is invalid
-	 * @param mustExist true of the selected resource must already exist
+	 * @param resourceType
+	 *            the type of resource to select - IResource.FOLDER or
+	 *            IResource.FILE
+	 * @param showDefault
+	 *            true if this should have a 'Show Default' button
+	 * @param required
+	 *            true if a blank text box is invalid
+	 * @param mustExist
+	 *            true of the selected resource must already exist
 	 */
-	public ResourceSelectionBlock(int resourceType, boolean showDefault, boolean required, boolean mustExist)
-	{
+	public ResourceSelectionBlock(int resourceType, boolean showDefault,
+			boolean required, boolean mustExist) {
 		super();
 		this.showDefault = showDefault;
 		this.resourceType = resourceType;
@@ -220,15 +211,13 @@
 		this.mustExist = mustExist;
 	}
 
-	public void createControl(Composite parent)
-	{
+	public void createControl(Composite parent) {
 		Composite group = createContainer(parent);
 		setControl(group);
 		createContents(group);
 	}
 
-	protected Composite createContainer(Composite parent)
-	{
+	protected Composite createContainer(Composite parent) {
 		Group group = new Group(parent, SWT.NONE);
 		group.setText(getMessage(GROUP_NAME));
 		// TODO PlatformUI.getWorkbench().getHelpSystem().setHelp...
@@ -242,17 +231,15 @@
 		return group;
 	}
 
-	protected void createContents(Composite parent)
-	{
+	protected void createContents(Composite parent) {
 		createCheckboxAndText(parent);
 		createButtons(parent);
 	}
 
-	protected void createCheckboxAndText(Composite parent)
-	{
-		if (showDefault)
-		{
-			useDefaultCheckButton = createCheckButton(parent, getMessage(USE_DEFAULT_RADIO));
+	protected void createCheckboxAndText(Composite parent) {
+		if (showDefault) {
+			useDefaultCheckButton = createCheckButton(parent,
+					getMessage(USE_DEFAULT_RADIO));
 			GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
 			gd.horizontalSpan = 2;
 			useDefaultCheckButton.setLayoutData(gd);
@@ -272,8 +259,7 @@
 		gd.horizontalSpan = 2;
 		specificFileComp.setLayoutData(gd);
 
-		if (showDefault)
-		{
+		if (showDefault) {
 			Label label = new Label(specificFileComp, SWT.NONE);
 			label.setText(fileLabel);
 		}
@@ -286,8 +272,7 @@
 		resourceText.addModifyListener(widgetListener);
 	}
 
-	protected void createButtons(Composite parent)
-	{
+	protected void createButtons(Composite parent) {
 		// filler
 		new Label(parent, SWT.NONE);
 
@@ -301,27 +286,28 @@
 		buttonComp.setLayoutData(gd);
 		buttonComp.setFont(parent.getFont());
 
-		fWorkspaceButton = createPushButton(buttonComp, getMessage(WORKSPACE_BUTTON), null);
+		fWorkspaceButton = createPushButton(buttonComp,
+				getMessage(WORKSPACE_BUTTON), null);
 		fWorkspaceButton.addSelectionListener(widgetListener);
 
-		fFileSystemButton = createPushButton(buttonComp, getMessage(FILE_SYSTEM_BUTTON), null);
+		fFileSystemButton = createPushButton(buttonComp,
+				getMessage(FILE_SYSTEM_BUTTON), null);
 		fFileSystemButton.addSelectionListener(widgetListener);
 
-		fVariablesButton = createPushButton(buttonComp, getMessage(VARIABLES_BUTTON), null);
+		fVariablesButton = createPushButton(buttonComp,
+				getMessage(VARIABLES_BUTTON), null);
 		fVariablesButton.addSelectionListener(widgetListener);
-		
-		fOpenFilesButton = createPushButton(buttonComp, getMessage(OPENFILES_BUTTON), null);
+
+		fOpenFilesButton = createPushButton(buttonComp,
+				getMessage(OPENFILES_BUTTON), null);
 		fOpenFilesButton.addSelectionListener(widgetListener);
 	}
 
-	protected void updateResourceText(boolean useDefault)
-	{
-		if (useDefault)
-		{
-			resourceText.setText(defaultResource == null ? "" : defaultResource); //$NON-NLS-1$
-		}
-		else
-		{
+	protected void updateResourceText(boolean useDefault) {
+		if (useDefault) {
+			resourceText
+					.setText(defaultResource == null ? "" : defaultResource); //$NON-NLS-1$
+		} else {
 			resourceText.setText(resource == null ? "" : resource); //$NON-NLS-1$
 		}
 		resourceText.setEnabled(!useDefault);
@@ -331,45 +317,36 @@
 	}
 
 	@Override
-	public void dispose()
-	{
+	public void dispose() {
 	}
 
-	protected void handleExternalResourceBrowseButtonSelected()
-	{
+	protected void handleExternalResourceBrowseButtonSelected() {
 		String currentWorkingDir = getText();
 		String selected = null;
-		if (resourceType == IResource.FOLDER)
-		{
+		if (resourceType == IResource.FOLDER) {
 			DirectoryDialog dialog = new DirectoryDialog(getShell());
 			dialog.setMessage(getMessage(DIRECTORY_DIALOG_MESSAGE));
 			if (!currentWorkingDir.trim().equals("")) //$NON-NLS-1$
 			{
 				File path = new File(currentWorkingDir);
-				if (path.exists())
-				{
+				if (path.exists()) {
 					dialog.setFilterPath(currentWorkingDir);
 				}
 			}
 			selected = dialog.open();
-		}
-		else
-		{
+		} else {
 			FileDialog dialog = new FileDialog(getShell());
 			if (!currentWorkingDir.trim().equals("")) //$NON-NLS-1$
 			{
 				File path = new File(currentWorkingDir);
-				if (path.exists())
-				{
+				if (path.exists()) {
 					dialog.setFilterPath(currentWorkingDir);
 				}
 			}
 			String[] fileExtensions = getFileExtensions();
-			if (fileExtensions != null)
-			{
+			if (fileExtensions != null) {
 				String[] filterExtensions = new String[fileExtensions.length];
-				for (int i = 0; i < fileExtensions.length; i++)
-				{
+				for (int i = 0; i < fileExtensions.length; i++) {
 					String ext = fileExtensions[i];
 					filterExtensions[i] = "*." + ext; //$NON-NLS-1$
 				}
@@ -377,54 +354,57 @@
 			}
 			selected = dialog.open();
 		}
-		if (selected != null)
-		{
+		if (selected != null) {
 			resourceText.setText(selected);
 		}
 	}
 
-	protected String[] getFileExtensions()
-	{
+	protected String[] getFileExtensions() {
 		return new XMLContentType().getFileExtensions();
 	}
-	
-	protected void handleOpenFilesResourceBrowseButtonSelected()
-	{
+
+	protected void handleOpenFilesResourceBrowseButtonSelected() {
 		String path = openFileListResourceDialog();
 		if (path != null)
-			setText("${workspace_loc:" + path + "}");   //$NON-NLS-1$ //$NON-NLS-2$
+			setText("${workspace_loc:" + path + "}"); //$NON-NLS-1$ //$NON-NLS-2$
 	}
+
 	/**
-	 * Opens a dialog displaying a list of all XML files in the editor and allows the user to select one of them.
+	 * Opens a dialog displaying a list of all XML files in the editor and
+	 * allows the user to select one of them.
+	 * 
 	 * @return The path to the selected XML file or null if none was chosen.
 	 */
-	protected String openFileListResourceDialog(){
-		IEditorReference[] editors = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
-				
-		WorkbenchContentProvider w = new WorkbenchContentProvider();
+	protected String openFileListResourceDialog() {
+		IEditorReference[] editors = PlatformUI.getWorkbench()
+				.getActiveWorkbenchWindow().getActivePage()
+				.getEditorReferences();
+
 		String[] paths = filterOpenEditorsByFileExtension(editors);
-		
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), new LabelProvider());
+
+		ElementListSelectionDialog dialog = new ElementListSelectionDialog(
+				getShell(), new LabelProvider());
 
 		dialog.setTitle(getMessage(OPENFILES_DIALOG_TITLE));
 		dialog.setElements(paths);
 		dialog.open();
-		
-		return (String)dialog.getFirstResult();
-		
+
+		return (String) dialog.getFirstResult();
+
 	}
 
 	private String[] filterOpenEditorsByFileExtension(IEditorReference[] editors) {
-		String [] paths = new String[editors.length];
-		String [] fileExts = getFileExtensions();
-		
-		for(int i =0; i<editors.length; i++){
+		String[] paths = new String[editors.length];
+		String[] fileExts = getFileExtensions();
+
+		for (int i = 0; i < editors.length; i++) {
 			IEditorReference currentEditor = editors[i];
 			IEditorPart editorPart = currentEditor.getEditor(true);
-			IFile file = (IFile) editorPart.getEditorInput().getAdapter(IFile.class);
+			IFile file = (IFile) editorPart.getEditorInput().getAdapter(
+					IFile.class);
 			if (file != null) {
 				IPath path = file.getFullPath();
-            	paths[i] = getEditorPath(path, fileExts);
+				paths[i] = getEditorPath(path, fileExts);
 			}
 		}
 		return paths;
@@ -434,37 +414,35 @@
 		if (fileExts == null || fileExts.length == 0) {
 			return filePath.toOSString();
 		}
-		
+
 		String path = null;
 		for (int cnt = 0; cnt < fileExts.length; cnt++) {
 			if (filePath.getFileExtension().equals(fileExts[cnt])) {
 				path = filePath.toOSString();
 				break;
 			}
-		}		
+		}
 		return path;
 	}
-	
-	
-	protected void handleWorkspaceResourceBrowseButtonSelected()
-	{
+
+	protected void handleWorkspaceResourceBrowseButtonSelected() {
 		IPath path = openWorkspaceResourceDialog();
 		if (path != null)
-			setText("${workspace_loc:" + path.toString() + "}");   //$NON-NLS-1$ //$NON-NLS-2$
+			setText("${workspace_loc:" + path.toString() + "}"); //$NON-NLS-1$ //$NON-NLS-2$
 	}
 
-	protected IPath openWorkspaceResourceDialog()
-	{
+	protected IPath openWorkspaceResourceDialog() {
 		IResource currentResource = getResource();
-		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), new WorkbenchLabelProvider(), new WorkbenchContentProvider());
+		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
+				getShell(), new WorkbenchLabelProvider(),
+				new WorkbenchContentProvider());
 		dialog.setTitle(getMessage(WORKSPACE_DIALOG_TITLE));
 		dialog.setMessage(getMessage(WORKSPACE_DIALOG_MESSAGE));
 		dialog.setValidator(validator);
-		dialog.addFilter(new ViewerFilter()
-		{
+		dialog.addFilter(new ViewerFilter() {
 			@Override
-			public boolean select(Viewer viewer, Object parentElement, Object element)
-			{
+			public boolean select(Viewer viewer, Object parentElement,
+					Object element) {
 				if (element instanceof IContainer)
 					return true;
 				if (resourceType != IResource.FILE)
@@ -474,10 +452,8 @@
 				if (extensions == null)
 					return true;
 				String fileExt = file.getFileExtension();
-				if (fileExt != null)
-				{
-					for (String ext : extensions)
-					{
+				if (fileExt != null) {
+					for (String ext : extensions) {
 						if (fileExt.equalsIgnoreCase(ext))
 							return true;
 					}
@@ -493,8 +469,7 @@
 		dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
 		dialog.setAllowMultiple(false);
 
-		if (dialog.open() == Window.OK)
-		{
+		if (dialog.open() == Window.OK) {
 			Object[] elements = dialog.getResult();
 			if (elements.length > 0)
 				return ((IResource) elements[0]).getFullPath();
@@ -502,123 +477,98 @@
 		return null;
 	}
 
-	protected ViewerFilter getResourceFilter()
-	{
+	protected ViewerFilter getResourceFilter() {
 		return null;
 	}
 
 	/**
 	 * Returns the selected workspace container,or <code>null</code>
 	 */
-	protected IResource getResource()
-	{
+	protected IResource getResource() {
 		String path = getText();
-		if (path.length() > 0)
-		{
+		if (path.length() > 0) {
 			IResource res = null;
 			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			try
-			{
-				if (path.startsWith("${workspace_loc:"))  //$NON-NLS-1$
+			try {
+				if (path.startsWith("${workspace_loc:")) //$NON-NLS-1$
 				{
-					IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
+					IStringVariableManager manager = VariablesPlugin
+							.getDefault().getStringVariableManager();
 					path = manager.performStringSubstitution(path, false);
 				}
 				File f = new File(path);
-				if (resourceType == IResource.FOLDER)
-				{
-					IContainer[] containers = root.findContainersForLocationURI(f.toURI()); 
-					if (containers.length > 0)
-					{
+				if (resourceType == IResource.FOLDER) {
+					IContainer[] containers = root
+							.findContainersForLocationURI(f.toURI());
+					if (containers.length > 0) {
 						res = containers[0];
 					}
-				}
-				else if (resourceType == IResource.FILE)
-				{
+				} else if (resourceType == IResource.FILE) {
 					IFile[] files = root.findFilesForLocationURI(f.toURI());
-					if (files.length > 0)
-					{
+					if (files.length > 0) {
 						res = files[0];
 					}
 				}
 				return res;
-			}
-			catch (CoreException e)
-			{
+			} catch (CoreException e) {
 				XSLDebugUIPlugin.log(e);
 			}
 		}
 		return null;
 	}
 
-	protected void handleResourceVariablesButtonSelected()
-	{
-		StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
+	protected void handleResourceVariablesButtonSelected() {
+		StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(
+				getShell());
 		dialog.open();
 		String variableText = dialog.getVariableExpression();
-		if (variableText != null)
-		{
+		if (variableText != null) {
 			resourceText.insert(variableText);
 		}
 	}
 
 	@Override
-	public boolean isValid(ILaunchConfiguration config)
-	{
+	public boolean isValid(ILaunchConfiguration config) {
 		setErrorMessage(null);
 		setMessage(null);
 		// if variables are present, we cannot resolve the directory
 		String workingDirPath = getText();
 		if (workingDirPath.indexOf("${") >= 0) //$NON-NLS-1$
 		{
-			IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-			try
-			{
+			IStringVariableManager manager = VariablesPlugin.getDefault()
+					.getStringVariableManager();
+			try {
 				manager.validateStringVariables(workingDirPath);
-				if (mustExist)
-				{
-					String path = manager.performStringSubstitution(workingDirPath);
+				if (mustExist) {
+					String path = manager
+							.performStringSubstitution(workingDirPath);
 					validateResource(path);
 				}
-			}
-			catch (CoreException e)
-			{
+			} catch (CoreException e) {
 				setErrorMessage(e.getMessage());
 				return false;
 			}
-		}
-		else if (mustExist && workingDirPath.length() > 0)
-		{
+		} else if (mustExist && workingDirPath.length() > 0) {
 			return validateResource(workingDirPath);
-		}
-		else if (required && workingDirPath.length() == 0)
-		{
+		} else if (required && workingDirPath.length() == 0) {
 			setErrorMessage(getMessage(ERROR_DIRECTORY_NOT_SPECIFIED));
 		}
 		return true;
 	}
 
-	protected boolean validateResource(String workingDirPath)
-	{
-		if (resourceType == IResource.FOLDER)
-		{
+	protected boolean validateResource(String workingDirPath) {
+		if (resourceType == IResource.FOLDER) {
 			IContainer container = (IContainer) getResource();
-			if (container == null)
-			{
+			if (container == null) {
 				File dir = new File(workingDirPath);
-				if (dir.isDirectory())
-				{
+				if (dir.isDirectory()) {
 					return true;
 				}
-			}
-			else
+			} else
 				return true;
-		}
-		else if (resourceType == IResource.FILE)
-		{
+		} else if (resourceType == IResource.FILE) {
 			File file = new File(workingDirPath);
-			if (file.isFile())
-			{
+			if (file.isFile()) {
 				return true;
 			}
 		}
@@ -628,27 +578,22 @@
 
 	protected abstract String getMessage(int type);
 
-	protected void textModified()
-	{
+	protected void textModified() {
 	}
 
-	protected String getText()
-	{
+	protected String getText() {
 		return resourceText.getText().trim();
 	}
 
-	protected void setText(String text)
-	{
+	protected void setText(String text) {
 		resourceText.setText(text);
 	}
 
-	protected void setLaunchConfiguration(ILaunchConfiguration config)
-	{
+	protected void setLaunchConfiguration(ILaunchConfiguration config) {
 		fLaunchConfiguration = config;
 	}
 
-	protected ILaunchConfiguration getLaunchConfiguration()
-	{
+	protected ILaunchConfiguration getLaunchConfiguration() {
 		return fLaunchConfiguration;
 	}
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIConstants.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIConstants.java
index c983bae..b3ae795 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIConstants.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIConstants.java
@@ -16,23 +16,29 @@
  * @author Doug Satchwell
  * @since 1.0
  */
-public class XSLDebugUIConstants
-{
+public class XSLDebugUIConstants {
 	private static final String PREFIX = XSLDebugUIPlugin.PLUGIN_ID + '.';
 	/**
-	 * Constant used to store column setting preferences for the <code>InstalledProcessorsBlock</code>
+	 * Constant used to store column setting preferences for the
+	 * <code>InstalledProcessorsBlock</code>
 	 */
-	public static final String PROCESSOR_DETAILS_DIALOG = PREFIX + "PROCESSOR_DETAILS_DIALOG"; //$NON-NLS-1$
+	public static final String PROCESSOR_DETAILS_DIALOG = PREFIX
+			+ "PROCESSOR_DETAILS_DIALOG"; //$NON-NLS-1$
 	/**
-	 * Constant used to store column setting preferences for the <code>ParametersBlock</code>
+	 * Constant used to store column setting preferences for the
+	 * <code>ParametersBlock</code>
 	 */
-	public static final String MAIN_PARAMATERS_BLOCK = PREFIX + "MAIN_PARAMATERS_BLOCK"; //$NON-NLS-1$
+	public static final String MAIN_PARAMATERS_BLOCK = PREFIX
+			+ "MAIN_PARAMATERS_BLOCK"; //$NON-NLS-1$
 	/**
-	 * Constant used to store column setting preferences for the <code>TransformsBlock</code>
+	 * Constant used to store column setting preferences for the
+	 * <code>TransformsBlock</code>
 	 */
-	public static final String MAIN_TRANSFORMS_BLOCK = PREFIX + "MAIN_TRANSFORMS_BLOCK"; //$NON-NLS-1$
+	public static final String MAIN_TRANSFORMS_BLOCK = PREFIX
+			+ "MAIN_TRANSFORMS_BLOCK"; //$NON-NLS-1$
 	/**
-	 * Constant used to store column setting preferences for the <code>OutputBlock</code>
+	 * Constant used to store column setting preferences for the
+	 * <code>OutputBlock</code>
 	 */
 	public static final String OUTPUT_BLOCK = PREFIX + "OUTPUT_BLOCK"; //$NON-NLS-1$
 	/**
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUILaunchListener.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUILaunchListener.java
index 8cbefaf..f360a59 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUILaunchListener.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUILaunchListener.java
@@ -33,118 +33,104 @@
 import org.eclipse.wst.xsl.launching.config.BaseLaunchHelper;
 
 /**
- * A listener to XSL launches. When an XSL launch is terminated, this performs the UI parts of the 
- * XSL launching - such as open the editor on the output file, and format it.
+ * A listener to XSL launches. When an XSL launch is terminated, this performs
+ * the UI parts of the XSL launching - such as open the editor on the output
+ * file, and format it.
  * 
  * @author Doug Satchwell
  * @since 1.0
  */
-public class XSLDebugUILaunchListener implements ILaunchesListener2
-{
-	public static final String XSL_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.wst.xsl.launching.launchConfigurationType";
+public class XSLDebugUILaunchListener implements ILaunchesListener2 {
+	public static final String XSL_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.wst.xsl.launching.launchConfigurationType"; //$NON-NLS-1$
 
 	/**
 	 * Starts the launch listening
 	 */
-	public void start()
-	{
+	public void start() {
 		DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
 	}
-	
+
 	/**
 	 * Stops the launch listening
 	 */
-	public void stop()
-	{
+	public void stop() {
 		DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
 	}
-	
-	public void launchesTerminated(ILaunch[] launches)
-	{
-		for (ILaunch launch : launches)
-		{
+
+	public void launchesTerminated(ILaunch[] launches) {
+		for (ILaunch launch : launches) {
 			ILaunchConfigurationType configType = null;
-			try
-			{
+			try {
 				configType = launch.getLaunchConfiguration().getType();
-			}
-			catch (CoreException e)
-			{
+			} catch (CoreException e) {
 				// do nothing
 			}
-			if (configType != null && XSL_LAUNCH_CONFIGURATION_TYPE.equals(configType.getIdentifier()))
-			{
-				try
-				{
-					BaseLaunchHelper launchHelper = new BaseLaunchHelper(launch.getLaunchConfiguration());
+			if (configType != null
+					&& XSL_LAUNCH_CONFIGURATION_TYPE.equals(configType
+							.getIdentifier())) {
+				try {
+					BaseLaunchHelper launchHelper = new BaseLaunchHelper(launch
+							.getLaunchConfiguration());
 					File file = launchHelper.getTarget();
-					IFile ifile = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(new Path(file.getAbsolutePath()));
-					if (ifile != null)
-					{// refresh this workspace file..
-						try
-						{
-							ifile.refreshLocal(IResource.DEPTH_ZERO, new NullProgressMonitor());
-						}
-						catch (CoreException e)
-						{
+					IFile ifile = ResourcesPlugin.getWorkspace().getRoot()
+							.getFileForLocation(
+									new Path(file.getAbsolutePath()));
+					if (ifile != null) {// refresh this workspace file..
+						try {
+							ifile.refreshLocal(IResource.DEPTH_ZERO,
+									new NullProgressMonitor());
+						} catch (CoreException e) {
 							XSLDebugUIPlugin.log(e);
 						}
 					}
 					openFileIfRequired(launchHelper);
-				}
-				catch (CoreException e)
-				{
+				} catch (CoreException e) {
 					XSLDebugUIPlugin.log(e);
 				}
 			}
 		}
 	}
 
-	public void launchesAdded(ILaunch[] launches)
-	{
+	public void launchesAdded(ILaunch[] launches) {
 		// do nothing
 	}
 
-	public void launchesChanged(ILaunch[] launches)
-	{
+	public void launchesChanged(ILaunch[] launches) {
 		// do nothing
 	}
 
-	public void launchesRemoved(ILaunch[] launches)
-	{
+	public void launchesRemoved(ILaunch[] launches) {
 		// do nothing
 	}
-	
-	private void openFileIfRequired(final BaseLaunchHelper launchHelper)
-	{
-		if (launchHelper.getOpenFileOnCompletion())
-		{
-			PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable()
-			{
-				public void run()
-				{
-					try
-					{
+
+	private void openFileIfRequired(final BaseLaunchHelper launchHelper) {
+		if (launchHelper.getOpenFileOnCompletion()) {
+			PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
+				public void run() {
+					try {
 						// Open editor on new file.
-						IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+						IWorkbenchWindow dw = PlatformUI.getWorkbench()
+								.getActiveWorkbenchWindow();
 						File file = launchHelper.getTarget();
 						Path path = new Path(file.getAbsolutePath());
-						IFileStore filestore = EFS.getLocalFileSystem().getStore(path);
-						IDE.openEditorOnFileStore(dw.getActivePage(), filestore);
-						
-						if (launchHelper.getFormatFileOnCompletion())
-						{
+						IFileStore filestore = EFS.getLocalFileSystem()
+								.getStore(path);
+						IDE
+								.openEditorOnFileStore(dw.getActivePage(),
+										filestore);
+
+						if (launchHelper.getFormatFileOnCompletion()) {
 							// format the editor contents
-							IHandlerService p = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class);
-							p.executeCommand("org.eclipse.wst.sse.ui.format.document", null);
+							IHandlerService p = (IHandlerService) PlatformUI
+									.getWorkbench().getService(
+											IHandlerService.class);
+							p
+									.executeCommand(
+											"org.eclipse.wst.sse.ui.format.document", null); //$NON-NLS-1$
 						}
-					}
-					catch (PartInitException e)
-					{
+					} catch (PartInitException e) {
 						XSLDebugUIPlugin.log(e);
-					}
-					catch (CommandException e)
-					{
+					} catch (CommandException e) {
 						XSLDebugUIPlugin.log(e);
 					}
 				}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIPlugin.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIPlugin.java
index 5cf1503..b6ef366 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIPlugin.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIPlugin.java
@@ -34,8 +34,7 @@
  * @author Doug Satchwell
  * @since 1.0
  */
-public class XSLDebugUIPlugin extends AbstractUIPlugin
-{
+public class XSLDebugUIPlugin extends AbstractUIPlugin {
 	/**
 	 * The id of this.
 	 */
@@ -43,27 +42,24 @@
 
 	// The shared instance
 	private static XSLDebugUIPlugin plugin;
-	
+
 	private XSLDebugUILaunchListener launchListener = new XSLDebugUILaunchListener();
 
 	/**
 	 * Create a new instance of this.
 	 */
-	public XSLDebugUIPlugin()
-	{
+	public XSLDebugUIPlugin() {
 		plugin = this;
 	}
 
 	@Override
-	public void start(BundleContext context) throws Exception
-	{
+	public void start(BundleContext context) throws Exception {
 		super.start(context);
 		launchListener.start();
 	}
 
 	@Override
-	public void stop(BundleContext context) throws Exception
-	{
+	public void stop(BundleContext context) throws Exception {
 		plugin = null;
 		launchListener.stop();
 		super.stop(context);
@@ -74,46 +70,45 @@
 	 * 
 	 * @return the singleton
 	 */
-	public static XSLDebugUIPlugin getDefault()
-	{
+	public static XSLDebugUIPlugin getDefault() {
 		return plugin;
 	}
 
 	/**
 	 * Get an ImageDescriptor from a path in this bundle.
 	 * 
-	 * @param path the path to the image
+	 * @param path
+	 *            the path to the image
 	 * @return the ImageDescriptor
 	 */
-	public static ImageDescriptor getImageDescriptor(String path)
-	{
+	public static ImageDescriptor getImageDescriptor(String path) {
 		return imageDescriptorFromPlugin(PLUGIN_ID, path);
 	}
 
 	/**
 	 * Convenience method for opening a given preference page.
 	 * 
-	 * @param id the id of the preference page
-	 * @param page the preference page to show
+	 * @param id
+	 *            the id of the preference page
+	 * @param page
+	 *            the preference page to show
 	 */
-	public static void showPreferencePage(String id, IPreferencePage page)
-	{
+	public static void showPreferencePage(String id, IPreferencePage page) {
 		final IPreferenceNode targetNode = new PreferenceNode(id, page);
 
 		PreferenceManager manager = new PreferenceManager();
 		manager.addToRoot(targetNode);
-		final PreferenceDialog dialog = new PreferenceDialog(XSLDebugUIPlugin.getActiveWorkbenchShell(), manager);
-		final boolean[] result = new boolean[]
-		{ false };
-		BusyIndicator.showWhile(XSLDebugUIPlugin.getStandardDisplay(), new Runnable()
-		{
-			public void run()
-			{
-				dialog.create();
-				dialog.setMessage(targetNode.getLabelText());
-				result[0] = (dialog.open() == Window.OK);
-			}
-		});
+		final PreferenceDialog dialog = new PreferenceDialog(XSLDebugUIPlugin
+				.getActiveWorkbenchShell(), manager);
+		final boolean[] result = new boolean[] { false };
+		BusyIndicator.showWhile(XSLDebugUIPlugin.getStandardDisplay(),
+				new Runnable() {
+					public void run() {
+						dialog.create();
+						dialog.setMessage(targetNode.getLabelText());
+						result[0] = (dialog.open() == Window.OK);
+					}
+				});
 	}
 
 	/**
@@ -121,8 +116,7 @@
 	 * 
 	 * @return the current or default Display
 	 */
-	public static Display getStandardDisplay()
-	{
+	public static Display getStandardDisplay() {
 		Display display;
 		display = Display.getCurrent();
 		if (display == null)
@@ -135,8 +129,7 @@
 	 * 
 	 * @return the active workbench window
 	 */
-	public static IWorkbenchWindow getActiveWorkbenchWindow()
-	{
+	public static IWorkbenchWindow getActiveWorkbenchWindow() {
 		return getDefault().getWorkbench().getActiveWorkbenchWindow();
 	}
 
@@ -145,11 +138,9 @@
 	 * 
 	 * @return the active workbench shell
 	 */
-	public static Shell getActiveWorkbenchShell()
-	{
+	public static Shell getActiveWorkbenchShell() {
 		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		if (window != null)
-		{
+		if (window != null) {
 			return window.getShell();
 		}
 		return null;
@@ -160,11 +151,9 @@
 	 * 
 	 * @return the active page
 	 */
-	public static IWorkbenchPage getActivePage()
-	{
+	public static IWorkbenchPage getActivePage() {
 		IWorkbenchWindow w = getActiveWorkbenchWindow();
-		if (w != null)
-		{
+		if (w != null) {
 			return w.getActivePage();
 		}
 		return null;
@@ -173,20 +162,21 @@
 	/**
 	 * Log the given exception by creating a new Status.
 	 * 
-	 * @param e the exception to log
+	 * @param e
+	 *            the exception to log
 	 */
-	public static void log(Exception e)
-	{
-		getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, 0, "", e)); //$NON-NLS-1$
+	public static void log(Exception e) {
+		getDefault().getLog().log(
+				new Status(IStatus.ERROR, PLUGIN_ID, 0, "", e)); //$NON-NLS-1$
 	}
 
 	/**
 	 * Log the given core exception.
 	 * 
-	 * @param e the exception to log
+	 * @param e
+	 *            the exception to log
 	 */
-	public static void log(CoreException e)
-	{
+	public static void log(CoreException e) {
 		getDefault().getLog().log(e.getStatus());
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchConfigurationTab.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchConfigurationTab.java
index beeabcf..6ff469d 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchConfigurationTab.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchConfigurationTab.java
@@ -20,23 +20,22 @@
 import org.eclipse.swt.widgets.Composite;
 
 /**
- * The base class for XSL launch configuration tabs which allows a number of 'blocks' to be added.
- * Each block must itself fully implement <code>ILaunchConfigurationTab</code>.
+ * The base class for XSL launch configuration tabs which allows a number of
+ * 'blocks' to be added. Each block must itself fully implement
+ * <code>ILaunchConfigurationTab</code>.
  * 
  * @author Doug Satchwell
  * @since 1.0
  */
-public abstract class XSLLaunchConfigurationTab extends AbstractLaunchConfigurationTab
-{
+public abstract class XSLLaunchConfigurationTab extends
+		AbstractLaunchConfigurationTab {
 	private ILaunchConfigurationTab[] blocks;
 
-	protected void setBlocks(ILaunchConfigurationTab[] blocks)
-	{
+	protected void setBlocks(ILaunchConfigurationTab[] blocks) {
 		this.blocks = blocks;
 	}
 
-	public void createControl(Composite parent)
-	{
+	public void createControl(Composite parent) {
 		Composite comp = new Composite(parent, SWT.NONE);
 		comp.setFont(parent.getFont());
 		// TODO PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
@@ -46,60 +45,53 @@
 		setControl(comp);
 	}
 
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
 		for (ILaunchConfigurationTab element : blocks)
 			element.setDefaults(configuration);
 	}
 
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
+	public void initializeFrom(ILaunchConfiguration configuration) {
 		for (ILaunchConfigurationTab element : blocks)
 			element.initializeFrom(configuration);
 	}
 
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		for (ILaunchConfigurationTab element : blocks)
 			element.performApply(configuration);
 	}
 
 	@Override
-	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog)
-	{
+	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog) {
 		super.setLaunchConfigurationDialog(dialog);
 		for (ILaunchConfigurationTab element : blocks)
 			element.setLaunchConfigurationDialog(dialog);
 	}
 
 	@Override
-	public void dispose()
-	{
+	public void dispose() {
 		for (ILaunchConfigurationTab element : blocks)
 			element.dispose();
 	}
 
 	@Override
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy)
-	{
+	public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
 		// don't call initializeFrom
 		// super.activated(workingCopy);
 		for (ILaunchConfigurationTab element : blocks)
 			element.activated(workingCopy);
 	}
-	
-//	@Override
-//	protected boolean isDirty()
-//	{
-//		for (ILaunchConfigurationTab element : blocks)
-//			if (((XSLLaunchConfigurationTab)element).isDirty())
-//				return true;
-//		return super.isDirty();
-//	}
+
+	// @Override
+	// protected boolean isDirty()
+	// {
+	// for (ILaunchConfigurationTab element : blocks)
+	// if (((XSLLaunchConfigurationTab)element).isDirty())
+	// return true;
+	// return super.isDirty();
+	// }
 
 	@Override
-	public boolean isValid(ILaunchConfiguration configuration)
-	{
+	public boolean isValid(ILaunchConfiguration configuration) {
 		boolean valid = true;
 		for (ILaunchConfigurationTab element : blocks)
 			valid &= element.isValid(configuration);
@@ -107,13 +99,10 @@
 	}
 
 	@Override
-	public String getErrorMessage()
-	{
+	public String getErrorMessage() {
 		String m = super.getErrorMessage();
-		if (m == null)
-		{
-			for (ILaunchConfigurationTab element : blocks)
-			{
+		if (m == null) {
+			for (ILaunchConfigurationTab element : blocks) {
 				m = element.getErrorMessage();
 				if (m != null)
 					break;
@@ -123,13 +112,10 @@
 	}
 
 	@Override
-	public String getMessage()
-	{
+	public String getMessage() {
 		String m = super.getMessage();
-		if (m == null)
-		{
-			for (ILaunchConfigurationTab element : blocks)
-			{
+		if (m == null) {
+			for (ILaunchConfigurationTab element : blocks) {
 				m = element.getMessage();
 				if (m != null)
 					break;
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchShortcut.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchShortcut.java
index b392c34..3c0dd50 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchShortcut.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchShortcut.java
@@ -53,68 +53,67 @@
 
 /**
  * <table border=1>
- * 	<th>
- * 		<tr>
- * 			<td>XML Files</td>
- *  		<td>XSL Files</td>			
- * 			<td>Action</td>
- * 		</tr>
- *  </th>
- *  <tbody>
- *  	<tr>
- * 			<td>1</td>
- * 			<td>0</td>
- * 			<td>Launch assuming embedded stylesheet instruction</td>
- *  	</tr>
- *  	<tr>
- * 			<td>0</td>
- * 			<td>&gt;=1</td>
- * 			<td>Open dialog - prompt for input file</td>
- *  	</tr>
- *  	<tr>
- * 			<td>1</td>
- * 			<td>&gt;=1</td>
- * 			<td>Launch</td>
- *  	</tr>
- *  </tbody>
+ * <th>
+ * <tr>
+ * <td>XML Files</td>
+ * <td>XSL Files</td>
+ * <td>Action</td>
+ * </tr>
+ * </th>
+ * <tbody>
+ * <tr>
+ * <td>1</td>
+ * <td>0</td>
+ * <td>Launch assuming embedded stylesheet instruction</td>
+ * </tr>
+ * <tr>
+ * <td>0</td>
+ * <td>&gt;=1</td>
+ * <td>Open dialog - prompt for input file</td>
+ * </tr>
+ * <tr>
+ * <td>1</td>
+ * <td>&gt;=1</td>
+ * <td>Launch</td>
+ * </tr>
+ * </tbody>
  * </table>
  * 
- * <p>The launch shortcut should not appear in the menu for any other combination of files</p>
- * <p>In all cases, a check must be performed to find any existing launch configuration that uses the selected files.</p>
+ * <p>
+ * The launch shortcut should not appear in the menu for any other combination
+ * of files
+ * </p>
+ * <p>
+ * In all cases, a check must be performed to find any existing launch
+ * configuration that uses the selected files.
+ * </p>
  * 
  * @author Doug
  * @since 1.0
  */
-public class XSLLaunchShortcut implements ILaunchShortcut
-{
+public class XSLLaunchShortcut implements ILaunchShortcut {
 	private IFile xmlFile;
 	private IPath xmlFilePath;
 	private IFile[] xslFiles;
-	
-	public void launch(ISelection selection, String mode)
-	{
-		if (selection instanceof IStructuredSelection)
-		{
-			IStructuredSelection ssel = (IStructuredSelection)selection;
-			searchAndLaunch(ssel.toArray(),mode);
+
+	public void launch(ISelection selection, String mode) {
+		if (selection instanceof IStructuredSelection) {
+			IStructuredSelection ssel = (IStructuredSelection) selection;
+			searchAndLaunch(ssel.toArray(), mode);
 		}
 	}
 
-	public void launch(IEditorPart editor, String mode)
-	{
-        IEditorInput input = editor.getEditorInput();
-		if (input != null)
-		{
+	public void launch(IEditorPart editor, String mode) {
+		IEditorInput input = editor.getEditorInput();
+		if (input != null) {
 			IFile file = (IFile) input.getAdapter(IFile.class);
 			if (file != null)
-				searchAndLaunch(new Object[]{ file }, mode);
-		} 
+				searchAndLaunch(new Object[] { file }, mode);
+		}
 	}
-	
-	private void searchAndLaunch(Object[] objects, String mode)
-	{
-		if (fillFiles(objects))
-		{
+
+	private void searchAndLaunch(Object[] objects, String mode) {
+		if (fillFiles(objects)) {
 			// ensure we have an input file
 			if (xmlFile == null)
 				promptForInput();
@@ -123,70 +122,66 @@
 		}
 	}
 
-	private void promptForInput()
-	{
+	private void promptForInput() {
 		// prompt for input xml file
-		StatusDialog dialog = new StatusDialog(getShell()){
+		StatusDialog dialog = new StatusDialog(getShell()) {
 			private InputFileBlock inputFileBlock = new InputFileBlock(null);
-			
+
 			@Override
-			protected Control createDialogArea(Composite parent)
-			{
-				Composite comp = (Composite)super.createDialogArea(parent);
+			protected Control createDialogArea(Composite parent) {
+				Composite comp = (Composite) super.createDialogArea(parent);
 				comp.setFont(parent.getFont());
 				GridLayout layout = new GridLayout(1, false);
 				comp.setLayout(layout);
-				
-				Label label = new Label(comp,SWT.NONE);
+
+				Label label = new Label(comp, SWT.NONE);
 				label.setFont(comp.getFont());
 				GridData gd = new GridData();
 				gd.horizontalIndent = 5;
 				gd.verticalIndent = 5;
 				gd.widthHint = 380;
 				label.setLayoutData(gd);
-				label.setText(Messages.XSLLaunchShortcut_0); 
-				
+				label.setText(Messages.XSLLaunchShortcut_0);
+
 				inputFileBlock.createControl(comp);
 				return comp;
 			}
-			
+
 			@Override
-			protected void okPressed()
-			{
+			protected void okPressed() {
 				IResource res = inputFileBlock.getResource();
 				if (res == null)
 					xmlFilePath = new Path(inputFileBlock.getText());
-				else if (ResourcesPlugin.getWorkspace().getRoot().exists(res.getFullPath()) && res.getType() == IResource.FILE)
-					xmlFile = (IFile)res;
+				else if (ResourcesPlugin.getWorkspace().getRoot().exists(
+						res.getFullPath())
+						&& res.getType() == IResource.FILE)
+					xmlFile = (IFile) res;
 				super.okPressed();
 			}
-			
+
 		};
 		dialog.setHelpAvailable(false);
 		dialog.setStatusLineAboveButtons(true);
-		dialog.setTitle(Messages.XSLLaunchShortcut_1); 
+		dialog.setTitle(Messages.XSLLaunchShortcut_1);
 		dialog.open();
 	}
 
-	private boolean fillFiles(Object[] selections)
-	{
+	private boolean fillFiles(Object[] selections) {
 		xmlFile = null;
 		xmlFilePath = null;
 		List<IFile> xslFileList = new ArrayList<IFile>();
-		for (Object object : selections)
-		{
-			IResource resource = (IResource)object;
-			if (resource.getType() == IResource.FILE)
-			{
-				IFile file = (IFile)resource;
-				if (XSLCore.isXMLFile(file))
-				{
+		for (Object object : selections) {
+			IResource resource = (IResource) object;
+			if (resource.getType() == IResource.FILE) {
+				IFile file = (IFile) resource;
+				if (XSLCore.isXMLFile(file)) {
 					if (XSLCore.isXSLFile(file))
 						xslFileList.add(file);
-					else if (xmlFile==null)
+					else if (xmlFile == null)
 						xmlFile = file;
 					else
-						return false; // no action if we have more than than 1 xml file
+						return false; // no action if we have more than than 1
+										// xml file
 				}
 			}
 		}
@@ -194,64 +189,58 @@
 		return true;
 	}
 
-	private void launch(String mode)
-	{
-		if (xmlFile!=null)
+	private void launch(String mode) {
+		if (xmlFile != null)
 			xmlFilePath = xmlFile.getLocation();
 		ILaunchConfiguration config = null;
-		try
-		{
+		try {
 			config = findOrCreateLaunchConfiguration();
-			if (config!=null)
+			if (config != null)
 				DebugUITools.launch(config, mode);
-		}
-		catch (CoreException e)
-		{
+		} catch (CoreException e) {
 			XSLDebugUIPlugin.log(e);
 		}
 	}
 
-	protected ILaunchManager getLaunchManager()
-	{
+	protected ILaunchManager getLaunchManager() {
 		return DebugPlugin.getDefault().getLaunchManager();
 	}
 
-	protected ILaunchConfigurationType getConfigurationType()
-	{
-		return getLaunchManager().getLaunchConfigurationType(XSLLaunchConfigurationConstants.ID_LAUNCH_CONFIG_TYPE);
+	protected ILaunchConfigurationType getConfigurationType() {
+		return getLaunchManager().getLaunchConfigurationType(
+				XSLLaunchConfigurationConstants.ID_LAUNCH_CONFIG_TYPE);
 	}
 
-	private ILaunchConfiguration findOrCreateLaunchConfiguration() throws CoreException
-	{
-		ILaunchConfiguration[] configs = getLaunchManager().getLaunchConfigurations(getConfigurationType());
-		List<ILaunchConfiguration> candidateConfigs = new ArrayList<ILaunchConfiguration>(configs.length);
-		for (ILaunchConfiguration config : configs)
-		{
-			String inputFile = config.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null);
-			try
-			{
-				inputFile = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(inputFile);
-			}
-			catch (CoreException e)
-			{
+	private ILaunchConfiguration findOrCreateLaunchConfiguration()
+			throws CoreException {
+		ILaunchConfiguration[] configs = getLaunchManager()
+				.getLaunchConfigurations(getConfigurationType());
+		List<ILaunchConfiguration> candidateConfigs = new ArrayList<ILaunchConfiguration>(
+				configs.length);
+		for (ILaunchConfiguration config : configs) {
+			String inputFile = config.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_INPUT_FILE,
+					(String) null);
+			try {
+				inputFile = VariablesPlugin.getDefault()
+						.getStringVariableManager().performStringSubstitution(
+								inputFile);
+			} catch (CoreException e) {
 				// just ignore this one
 				continue;
 			}
 			Path path = new Path(inputFile);
 			// the source xml file must be the same
-			if (path.equals(xmlFilePath))
-			{
+			if (path.equals(xmlFilePath)) {
 				BaseLaunchHelper lh = new BaseLaunchHelper(config);
 				// all the selected stylesheets must be in the pipeline
 				boolean found = false;
-				for (IFile stylesheet : xslFiles)
-				{
+				for (IFile stylesheet : xslFiles) {
 					found = false;
-					for (Iterator<LaunchTransform> iter = lh.getPipeline().getTransformDefs().iterator(); iter.hasNext();)
-					{
+					for (Iterator<LaunchTransform> iter = lh.getPipeline()
+							.getTransformDefs().iterator(); iter.hasNext();) {
 						LaunchTransform lt = iter.next();
-						if (lt.getLocation().equals(stylesheet.getLocation()))
-						{
+						if (lt.getLocation().equals(stylesheet.getLocation())) {
 							found = true;
 							break;
 						}
@@ -276,57 +265,68 @@
 		return config;
 	}
 
-	private ILaunchConfiguration chooseConfiguration(List<ILaunchConfiguration> configList)
-	{
-		IDebugModelPresentation labelProvider = DebugUITools.newDebugModelPresentation();
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), labelProvider);
+	private ILaunchConfiguration chooseConfiguration(
+			List<ILaunchConfiguration> configList) {
+		IDebugModelPresentation labelProvider = DebugUITools
+				.newDebugModelPresentation();
+		ElementListSelectionDialog dialog = new ElementListSelectionDialog(
+				getShell(), labelProvider);
 		dialog.setElements(configList.toArray());
-		dialog.setTitle(Messages.XSLLaunchShortcut_2); 
+		dialog.setTitle(Messages.XSLLaunchShortcut_2);
 		dialog.setMessage(Messages.XSLSelectExisting);
 		dialog.setMultipleSelection(false);
 		int result = dialog.open();
 		labelProvider.dispose();
-		if (result == Window.OK)
-		{
+		if (result == Window.OK) {
 			return (ILaunchConfiguration) dialog.getFirstResult();
 		}
 		return null;
 	}
 
-	private ILaunchConfiguration createConfiguration()
-	{
+	private ILaunchConfiguration createConfiguration() {
 		ILaunchConfiguration config = null;
-		try
-		{
+		try {
 			ILaunchConfigurationType configType = getConfigurationType();
-			ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, getLaunchManager().generateUniqueLaunchConfigurationNameFrom(xmlFilePath.lastSegment()));
+			ILaunchConfigurationWorkingCopy wc = configType.newInstance(null,
+					getLaunchManager()
+							.generateUniqueLaunchConfigurationNameFrom(
+									xmlFilePath.lastSegment()));
 			if (xmlFile != null)
-				wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, "${workspace_loc:" + xmlFile.getFullPath().toPortableString()+"}"); //$NON-NLS-1$ //$NON-NLS-2$
+				wc
+						.setAttribute(
+								XSLLaunchConfigurationConstants.ATTR_INPUT_FILE,
+								"${workspace_loc:" + xmlFile.getFullPath().toPortableString() + "}"); //$NON-NLS-1$ //$NON-NLS-2$
 			else
-				wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, xmlFilePath.toPortableString());
+				wc.setAttribute(
+						XSLLaunchConfigurationConstants.ATTR_INPUT_FILE,
+						xmlFilePath.toPortableString());
 
-			wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, true);
-			wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
+			wc
+					.setAttribute(
+							XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE,
+							true);
+			wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE,
+					true);
 
 			LaunchPipeline pipeline = new LaunchPipeline();
-			for (IFile element : xslFiles)
-			{
-				pipeline.addTransformDef(new LaunchTransform(element.getFullPath().toPortableString(), LaunchTransform.RESOURCE_TYPE));
+			for (IFile element : xslFiles) {
+				pipeline.addTransformDef(new LaunchTransform(element
+						.getFullPath().toPortableString(),
+						LaunchTransform.RESOURCE_TYPE));
 			}
-			wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_PIPELINE, pipeline.toXML());
-			if (xmlFile!=null)
-				wc.setMappedResources(new IResource[]{ xmlFile.getProject() });
+			wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_PIPELINE,
+					pipeline.toXML());
+			if (xmlFile != null)
+				wc.setMappedResources(new IResource[] { xmlFile.getProject() });
 			config = wc.doSave();
-		}
-		catch (CoreException exception)
-		{
-			MessageDialog.openError(getShell(), Messages.XSLLaunchShortcut_6, exception.getStatus().getMessage()); 
+		} catch (CoreException exception) {
+			MessageDialog.openError(getShell(), Messages.XSLLaunchShortcut_6,
+					exception.getStatus().getMessage());
 		}
 		return config;
 	}
 
-	protected Shell getShell()
-	{
+	protected Shell getShell() {
 		return XSLDebugUIPlugin.getActiveWorkbenchShell();
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLTTabGroup.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLTTabGroup.java
index 42ba093..2098467 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLTTabGroup.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLTTabGroup.java
@@ -19,40 +19,39 @@
 import org.eclipse.wst.xsl.internal.debug.ui.tabs.output.OutputTab;
 
 /**
- *The tab group for the XSL tabs.
+ * The tab group for the XSL tabs.
  * 
  * @author Doug Satchwell
  * @since 1.0
  */
-public class XSLTTabGroup extends AbstractLaunchConfigurationTabGroup
-{
+public class XSLTTabGroup extends AbstractLaunchConfigurationTabGroup {
 	/**
 	 * Create a new instance of this.
 	 */
-	public XSLTTabGroup()
-	{
+	public XSLTTabGroup() {
 	}
 
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode)
-	{
+	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
 		XSLMainTab main = new XSLMainTab();
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { main, new OutputTab(main) };
-		tabs = addTabs(tabs, new ILaunchConfigurationTab[] { new SourceLookupTab(), new CommonTab() });
+		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[] { main,
+				new OutputTab(main) };
+		tabs = addTabs(tabs, new ILaunchConfigurationTab[] {
+				new SourceLookupTab(), new CommonTab() });
 
 		setTabs(tabs);
 	}
 
-	private ILaunchConfigurationTab[] addTabs(ILaunchConfigurationTab[] tabs1, ILaunchConfigurationTab[] tabs2)
-	{
-		ILaunchConfigurationTab[] newTabs = new ILaunchConfigurationTab[tabs1.length + tabs2.length];
+	private ILaunchConfigurationTab[] addTabs(ILaunchConfigurationTab[] tabs1,
+			ILaunchConfigurationTab[] tabs2) {
+		ILaunchConfigurationTab[] newTabs = new ILaunchConfigurationTab[tabs1.length
+				+ tabs2.length];
 		System.arraycopy(tabs1, 0, newTabs, 0, tabs1.length);
 		System.arraycopy(tabs2, 0, newTabs, tabs1.length, tabs2.length);
 		return newTabs;
 	}
 
 	@Override
-	public void setTabs(ILaunchConfigurationTab[] tabs)
-	{
+	public void setTabs(ILaunchConfigurationTab[] tabs) {
 		// TODO Auto-generated method stub
 		super.setTabs(tabs);
 	}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractParameterAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractParameterAction.java
index dab1427..30b2d54 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractParameterAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractParameterAction.java
@@ -23,14 +23,12 @@
  * 
  * @author Doug Satchwell
  */
-public abstract class AbstractParameterAction extends SelectionListenerAction
-{
+public abstract class AbstractParameterAction extends SelectionListenerAction {
 	private ParameterViewer viewer;
 	private Button button;
 	private Shell shell;
 
-	protected AbstractParameterAction(String text, ParameterViewer viewer)
-	{
+	protected AbstractParameterAction(String text, ParameterViewer viewer) {
 		super(text);
 		setViewer(viewer);
 	}
@@ -38,40 +36,35 @@
 	/**
 	 * Set the viewer.
 	 * 
-	 * @param viewer the parametere viewer
+	 * @param viewer
+	 *            the parametere viewer
 	 */
-	public void setViewer(ParameterViewer viewer)
-	{
-		if (this.viewer != null)
-		{
+	public void setViewer(ParameterViewer viewer) {
+		if (this.viewer != null) {
 			this.viewer.getViewer().removeSelectionChangedListener(this);
 		}
 		this.viewer = viewer;
-		if (viewer != null)
-		{
+		if (viewer != null) {
 			viewer.getViewer().addSelectionChangedListener(this);
 			update();
 		}
 	}
 
-	protected ParameterViewer getViewer()
-	{
+	protected ParameterViewer getViewer() {
 		return viewer;
 	}
 
 	/**
 	 * Set the button associated with the action.
 	 * 
-	 * @param button the button
+	 * @param button
+	 *            the button
 	 */
-	public void setButton(Button button)
-	{
+	public void setButton(Button button) {
 		this.button = button;
-		button.addSelectionListener(new SelectionAdapter()
-		{
+		button.addSelectionListener(new SelectionAdapter() {
 			@Override
-			public void widgetSelected(SelectionEvent evt)
-			{
+			public void widgetSelected(SelectionEvent evt) {
 				run();
 			}
 		});
@@ -79,24 +72,20 @@
 	}
 
 	@Override
-	public void setEnabled(boolean enabled)
-	{
+	public void setEnabled(boolean enabled) {
 		super.setEnabled(enabled);
-		if (button != null)
-		{
+		if (button != null) {
 			button.setEnabled(enabled);
 		}
 	}
 
-	protected void update()
-	{
-		selectionChanged((IStructuredSelection) getViewer().getViewer().getSelection());
+	protected void update() {
+		selectionChanged((IStructuredSelection) getViewer().getViewer()
+				.getSelection());
 	}
 
-	protected Shell getShell()
-	{
-		if (shell == null)
-		{
+	protected Shell getShell() {
+		if (shell == null) {
 			shell = getViewer().getShell();
 		}
 		return shell;
@@ -105,21 +94,19 @@
 	/**
 	 * Set the shell that will be used for opening a dialog.
 	 * 
-	 * @param shell the shell to use
+	 * @param shell
+	 *            the shell to use
 	 */
-	public void setShell(Shell shell)
-	{
+	public void setShell(Shell shell) {
 		this.shell = shell;
 	}
 
 	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
+	protected boolean updateSelection(IStructuredSelection selection) {
 		return getViewer().updateSelection(getActionType(), selection);
 	}
 
-	protected int getActionType()
-	{
+	protected int getActionType() {
 		return AbstractStylesheetAction.DEFAULT;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractStylesheetAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractStylesheetAction.java
index 39ac666..5117722 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractStylesheetAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractStylesheetAction.java
@@ -28,8 +28,7 @@
  * 
  * @author Doug Satchwell
  */
-public abstract class AbstractStylesheetAction extends SelectionListenerAction
-{
+public abstract class AbstractStylesheetAction extends SelectionListenerAction {
 	/**
 	 * The default action type.
 	 */
@@ -51,8 +50,7 @@
 	private Button button;
 	private Shell shell;
 
-	protected AbstractStylesheetAction(String text, StylesheetViewer viewer)
-	{
+	protected AbstractStylesheetAction(String text, StylesheetViewer viewer) {
 		super(text);
 		setViewer(viewer);
 	}
@@ -60,50 +58,45 @@
 	/**
 	 * Add an array of LaunchTransform's to the viewer.
 	 * 
-	 * @param res launch transforms to add
+	 * @param res
+	 *            launch transforms to add
 	 */
-	public void addTransforms(LaunchTransform[] res)
-	{
+	public void addTransforms(LaunchTransform[] res) {
 		viewer.addTransforms(res);
 	}
 
 	/**
 	 * Set the viewer associated with this action.
 	 * 
-	 * @param viewer the viewer
+	 * @param viewer
+	 *            the viewer
 	 */
-	public void setViewer(StylesheetViewer viewer)
-	{
-		if (this.viewer != null)
-		{
+	public void setViewer(StylesheetViewer viewer) {
+		if (this.viewer != null) {
 			this.viewer.getViewer().removeSelectionChangedListener(this);
 		}
 		this.viewer = viewer;
-		if (viewer != null)
-		{
+		if (viewer != null) {
 			viewer.getViewer().addSelectionChangedListener(this);
 			update();
 		}
 	}
 
-	protected StylesheetViewer getViewer()
-	{
+	protected StylesheetViewer getViewer() {
 		return viewer;
 	}
 
 	/**
 	 * Set the button associated with this action.
 	 * 
-	 * @param button the button
+	 * @param button
+	 *            the button
 	 */
-	public void setButton(Button button)
-	{
+	public void setButton(Button button) {
 		this.button = button;
-		button.addSelectionListener(new SelectionAdapter()
-		{
+		button.addSelectionListener(new SelectionAdapter() {
 			@Override
-			public void widgetSelected(SelectionEvent evt)
-			{
+			public void widgetSelected(SelectionEvent evt) {
 				run();
 			}
 		});
@@ -111,24 +104,20 @@
 	}
 
 	@Override
-	public void setEnabled(boolean enabled)
-	{
+	public void setEnabled(boolean enabled) {
 		super.setEnabled(enabled);
-		if (button != null)
-		{
+		if (button != null) {
 			button.setEnabled(enabled);
 		}
 	}
 
-	protected void update()
-	{
-		selectionChanged((IStructuredSelection) getViewer().getViewer().getSelection());
+	protected void update() {
+		selectionChanged((IStructuredSelection) getViewer().getViewer()
+				.getSelection());
 	}
 
-	protected Shell getShell()
-	{
-		if (shell == null)
-		{
+	protected Shell getShell() {
+		if (shell == null) {
 			shell = getViewer().getShell();
 		}
 		return shell;
@@ -137,32 +126,29 @@
 	/**
 	 * Set the shell to be used for opening a dialog.
 	 * 
-	 * @param shell the shell to use
+	 * @param shell
+	 *            the shell to use
 	 */
-	public void setShell(Shell shell)
-	{
+	public void setShell(Shell shell) {
 		this.shell = shell;
 	}
 
 	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
+	protected boolean updateSelection(IStructuredSelection selection) {
 		return getViewer().updateSelection(getActionType(), selection);
 	}
 
-	protected int getActionType()
-	{
+	protected int getActionType() {
 		return DEFAULT;
 	}
 
-	protected List<?> getOrderedSelection()
-	{
-		List<?> selection = ((IStructuredSelection) getViewer().getViewer().getSelection()).toList();
+	protected List<?> getOrderedSelection() {
+		List<?> selection = ((IStructuredSelection) getViewer().getViewer()
+				.getSelection()).toList();
 		return selection;
 	}
 
-	protected List<LaunchTransform> getEntriesAsList()
-	{
+	protected List<LaunchTransform> getEntriesAsList() {
 		// IStylesheetEntry[] entries = getViewer().getEntries();
 		// List list = new ArrayList(entries.length);
 		// for (int i = 0; i < entries.length; i++) {
@@ -172,26 +158,21 @@
 		return lp.getTransformDefs();
 	}
 
-	protected void setEntries(List<?> list)
-	{
+	protected void setEntries(List<?> list) {
 		getViewer().setEntries(list.toArray(new LaunchTransform[list.size()]));
 		// // update all selection listeners
 		// getViewer().setSelection(getViewer().getSelection());
 	}
 
-	protected boolean isIndexSelected(IStructuredSelection selection, int index)
-	{
-		if (selection.isEmpty())
-		{
+	protected boolean isIndexSelected(IStructuredSelection selection, int index) {
+		if (selection.isEmpty()) {
 			return false;
 		}
 		Iterator<?> entries = selection.iterator();
 		List<?> list = getEntriesAsList();
-		while (entries.hasNext())
-		{
+		while (entries.hasNext()) {
 			Object next = entries.next();
-			if (list.indexOf(next) == index)
-			{
+			if (list.indexOf(next) == index) {
 				return true;
 			}
 		}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddExternalFileAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddExternalFileAction.java
index c1b3423..1b7aa95 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddExternalFileAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddExternalFileAction.java
@@ -23,58 +23,59 @@
 import org.eclipse.wst.xsl.launching.config.LaunchTransform;
 import org.eclipse.wst.xsl.core.XSLCore;
 
-
 /**
- * An action that opens a dialog to allow the user to select a file from the file system.
+ * An action that opens a dialog to allow the user to select a file from the
+ * file system.
  * 
  * @author Doug Satchwell
  */
-public class AddExternalFileAction extends OpenDialogAction
-{
+public class AddExternalFileAction extends OpenDialogAction {
 	/**
 	 * Create a new instance of this.
 	 * 
-	 * @param viewer the stylesheet viewer
-	 * @param dialogSettingsPrefix a prefix to use for saving dialog preferences
+	 * @param viewer
+	 *            the stylesheet viewer
+	 * @param dialogSettingsPrefix
+	 *            a prefix to use for saving dialog preferences
 	 */
-	public AddExternalFileAction(StylesheetViewer viewer, String dialogSettingsPrefix)
-	{
+	public AddExternalFileAction(StylesheetViewer viewer,
+			String dialogSettingsPrefix) {
 		super(Messages.AddExternalFileAction_Text, viewer, dialogSettingsPrefix);
 	}
 
 	@Override
-	public void run()
-	{
+	public void run() {
 		String lastUsedPath = getDialogSetting(LAST_PATH_SETTING);
-		if (lastUsedPath == null)
-		{
+		if (lastUsedPath == null) {
 			lastUsedPath = ""; //$NON-NLS-1$
 		}
 		FileDialog dialog = new FileDialog(getShell(), SWT.MULTI);
 		dialog.setText(Messages.AddExternalFileAction_Selection_3);
 		dialog.setFilterPath(lastUsedPath);
-		IContentTypeManager contentTypeManager = Platform.getContentTypeManager();
-		IContentType contentType = contentTypeManager.getContentType(XSLCore.XSL_CONTENT_TYPE);
-		String[] xslContentTypes = contentType.getFileSpecs(IContentType.FILE_EXTENSION_SPEC);
-		
+		IContentTypeManager contentTypeManager = Platform
+				.getContentTypeManager();
+		IContentType contentType = contentTypeManager
+				.getContentType(XSLCore.XSL_CONTENT_TYPE);
+		String[] xslContentTypes = contentType
+				.getFileSpecs(IContentType.FILE_EXTENSION_SPEC);
+
 		// add *. to front
-		for (int i = 0; i < xslContentTypes.length; i++)
-		{
+		for (int i = 0; i < xslContentTypes.length; i++) {
 			String string = xslContentTypes[i];
-			xslContentTypes[i] = "*."+string;
+			xslContentTypes[i] = "*." + string; //$NON-NLS-1$
 		}
 
 		dialog.setFilterExtensions(xslContentTypes);
 		String res = dialog.open();
-		if (res == null)
-		{
+		if (res == null) {
 			return;
 		}
 
 		IPath filterPath = new Path(dialog.getFilterPath());
 		LaunchTransform[] lts = new LaunchTransform[1];
 		IPath path = new Path(res).makeAbsolute();
-		lts[0] = new LaunchTransform(path.toPortableString(), LaunchTransform.EXTERNAL_TYPE);
+		lts[0] = new LaunchTransform(path.toPortableString(),
+				LaunchTransform.EXTERNAL_TYPE);
 
 		setDialogSetting(LAST_PATH_SETTING, filterPath.toOSString());
 
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddParameterAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddParameterAction.java
index 1440b10..7f7b563 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddParameterAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddParameterAction.java
@@ -17,34 +17,33 @@
 import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
 
 /**
- * An action that opens a dialog to allow the user to add a parameter to a transform.
+ * An action that opens a dialog to allow the user to add a parameter to a
+ * transform.
  * 
  * @author Doug Satchwell
  */
-public class AddParameterAction extends AbstractParameterAction
-{
+public class AddParameterAction extends AbstractParameterAction {
 	/**
 	 * Create a new instance of this.
 	 * 
-	 * @param viewer teh viewer
+	 * @param viewer
+	 *            teh viewer
 	 */
-	public AddParameterAction(ParameterViewer viewer)
-	{
+	public AddParameterAction(ParameterViewer viewer) {
 		super(Messages.AddParameterAction, viewer);
 	}
 
 	@Override
-	public void run()
-	{
-		MultipleInputDialog dialog = new MultipleInputDialog(getShell(), Messages.AddParameterAction_Dialog);
+	public void run() {
+		MultipleInputDialog dialog = new MultipleInputDialog(getShell(),
+				Messages.AddParameterAction_Dialog);
 		String namelabel = Messages.AddParameterAction_Dialog_Name;
 		dialog.addTextField(namelabel, null, false);
 		String variableslabel = Messages.AddParameterAction_Dialog_Value;
 		dialog.addVariablesField(variableslabel, null, false);
 		dialog.open();
 
-		if (dialog.getReturnCode() == Window.OK)
-		{
+		if (dialog.getReturnCode() == Window.OK) {
 			String name = dialog.getStringValue(namelabel);
 			String value = dialog.getStringValue(variableslabel);
 			LaunchAttribute parameter = null;
@@ -57,8 +56,7 @@
 	}
 
 	@Override
-	public void setEnabled(boolean enabled)
-	{
+	public void setEnabled(boolean enabled) {
 		// do nothing
 	}
 
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddWorkspaceFileAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddWorkspaceFileAction.java
index cc0e483..04259f1 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddWorkspaceFileAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddWorkspaceFileAction.java
@@ -33,65 +33,61 @@
 import org.eclipse.wst.xsl.launching.config.LaunchTransform;
 
 /**
- * An action that opens a dialog to allow the user to select a file in the workspace.
+ * An action that opens a dialog to allow the user to select a file in the
+ * workspace.
  * 
  * @author Doug Satchwell
  */
-public class AddWorkspaceFileAction extends AbstractStylesheetAction
-{
-	private final ISelectionStatusValidator validator = new ISelectionStatusValidator()
-	{
-		public IStatus validate(Object[] selection)
-		{
-			if (selection.length == 0)
-			{
-				return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
+public class AddWorkspaceFileAction extends AbstractStylesheetAction {
+	private final ISelectionStatusValidator validator = new ISelectionStatusValidator() {
+		public IStatus validate(Object[] selection) {
+			if (selection.length == 0) {
+				return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0,
+						"", null); //$NON-NLS-1$
 			}
-			for (int i = 0; i < selection.length; i++)
-			{
-				if (!(selection[i] instanceof IFile))
-				{
-					return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
+			for (int i = 0; i < selection.length; i++) {
+				if (!(selection[i] instanceof IFile)) {
+					return new Status(IStatus.ERROR,
+							XSLDebugUIPlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
 				}
 			}
-			return new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
+			return new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID, 0,
+					"", null); //$NON-NLS-1$
 		}
 	};
 
 	/**
 	 * Create a new instance of this.
 	 * 
-	 * @param viewer the viewer
+	 * @param viewer
+	 *            the viewer
 	 */
-	public AddWorkspaceFileAction(StylesheetViewer viewer)
-	{
+	public AddWorkspaceFileAction(StylesheetViewer viewer) {
 		super(Messages.AddWorkspaceFileAction_Text, viewer);
 	}
 
 	@Override
-	public void run()
-	{
+	public void run() {
 
 		// ViewerFilter filter= new StylesheetFilter(getSelectedJars());
 
 		ILabelProvider lp = new WorkbenchLabelProvider();
 		ITreeContentProvider cp = new WorkbenchContentProvider();
 
-		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), lp, cp);
+		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
+				getShell(), lp, cp);
 		dialog.setValidator(validator);
 		dialog.setTitle(Messages.AddWorkspaceFileAction_DialogTitle);
 		dialog.setMessage(Messages.AddWorkspaceFileAction_DialogMessage);
-		dialog.addFilter(new ViewerFilter()
-		{
+		dialog.addFilter(new ViewerFilter() {
 			@Override
-			public boolean select(Viewer viewer, Object parentElement, Object element)
-			{
+			public boolean select(Viewer viewer, Object parentElement,
+					Object element) {
 				if (!(element instanceof IResource))
 					return false;
-				IResource resource = (IResource)element;
-				if (resource.getType() == IResource.FILE)
-				{
-					if (!XSLCore.isXSLFile((IFile)resource))
+				IResource resource = (IResource) element;
+				if (resource.getType() == IResource.FILE) {
+					if (!XSLCore.isXSLFile((IFile) resource))
 						return false;
 				}
 				return true;
@@ -100,22 +96,20 @@
 		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
 		dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
 
-		if (dialog.open() == Window.OK)
-		{
+		if (dialog.open() == Window.OK) {
 			Object[] elements = dialog.getResult();
 			LaunchTransform[] res = new LaunchTransform[elements.length];
-			for (int i = 0; i < res.length; i++)
-			{
+			for (int i = 0; i < res.length; i++) {
 				IResource elem = (IResource) elements[i];
-				res[i] = new LaunchTransform(elem.getFullPath().toPortableString(), LaunchTransform.RESOURCE_TYPE);
+				res[i] = new LaunchTransform(elem.getFullPath()
+						.toPortableString(), LaunchTransform.RESOURCE_TYPE);
 			}
 			addTransforms(res);
 		}
 	}
 
 	@Override
-	protected int getActionType()
-	{
+	protected int getActionType() {
 		return ADD;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ControlAccessibleListener.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ControlAccessibleListener.java
index 71caaf6..33e6fcd 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ControlAccessibleListener.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ControlAccessibleListener.java
@@ -19,36 +19,34 @@
  * 
  * @author Doug Satchwell
  */
-public class ControlAccessibleListener extends AccessibleAdapter
-{
+public class ControlAccessibleListener extends AccessibleAdapter {
 	private final String controlName;
 
-	private ControlAccessibleListener(String name)
-	{
+	private ControlAccessibleListener(String name) {
 		controlName = name;
 	}
 
 	@Override
-	public void getName(AccessibleEvent e)
-	{
+	public void getName(AccessibleEvent e) {
 		e.result = controlName;
 	}
 
 	/**
 	 * Helper for adding an instance of this to the given control.
 	 * 
-	 * @param comp the control to add this to
-	 * @param name the name for this
+	 * @param comp
+	 *            the control to add this to
+	 * @param name
+	 *            the name for this
 	 */
-	public static void addListener(Control comp, String name)
-	{
+	public static void addListener(Control comp, String name) {
 		// strip mnemonic
 		String[] strs = name.split("&"); //$NON-NLS-1$
 		StringBuffer stripped = new StringBuffer();
-		for (String element : strs)
-		{
+		for (String element : strs) {
 			stripped.append(element);
 		}
-		comp.getAccessible().addAccessibleListener(new ControlAccessibleListener(stripped.toString()));
+		comp.getAccessible().addAccessibleListener(
+				new ControlAccessibleListener(stripped.toString()));
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveDownAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveDownAction.java
index 683636e..f6a0c13 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveDownAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveDownAction.java
@@ -18,43 +18,38 @@
 import org.eclipse.wst.xsl.launching.config.LaunchTransform;
 
 /**
- * The action for moving a stylesheet further down in the transformation pipeline.
+ * The action for moving a stylesheet further down in the transformation
+ * pipeline.
  * 
  * @author Doug Satchwell
  */
-public class MoveDownAction extends AbstractStylesheetAction
-{
+public class MoveDownAction extends AbstractStylesheetAction {
 	/**
 	 * Create a new instance of this.
 	 * 
 	 * @param viewer
 	 */
-	public MoveDownAction(StylesheetViewer viewer)
-	{
+	public MoveDownAction(StylesheetViewer viewer) {
 		super(Messages.MoveDownAction_Text, viewer);
 	}
 
 	@Override
-	public void run()
-	{
+	public void run() {
 		List<?> targets = getOrderedSelection();
-		if (targets.isEmpty())
-		{
+		if (targets.isEmpty()) {
 			return;
 		}
 		List<LaunchTransform> list = getEntriesAsList();
 		int bottom = list.size() - 1;
 		int index = 0;
-		for (int i = targets.size() - 1; i >= 0; i--)
-		{
+		for (int i = targets.size() - 1; i >= 0; i--) {
 			Object target = targets.get(i);
 			index = list.indexOf(target);
-			if (index < bottom)
-			{
+			if (index < bottom) {
 				bottom = index + 1;
 				Object temp = list.get(bottom);
-				list.set(bottom, (LaunchTransform)target);
-				list.set(index, (LaunchTransform)temp);
+				list.set(bottom, (LaunchTransform) target);
+				list.set(index, (LaunchTransform) temp);
 			}
 			bottom = index;
 		}
@@ -62,18 +57,16 @@
 	}
 
 	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
-		if (selection.isEmpty())
-		{
+	protected boolean updateSelection(IStructuredSelection selection) {
+		if (selection.isEmpty()) {
 			return false;
 		}
-		return getViewer().updateSelection(getActionType(), selection) && !isIndexSelected(selection, getEntriesAsList().size() - 1);
+		return getViewer().updateSelection(getActionType(), selection)
+				&& !isIndexSelected(selection, getEntriesAsList().size() - 1);
 	}
 
 	@Override
-	protected int getActionType()
-	{
+	protected int getActionType() {
 		return MOVE;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveUpAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveUpAction.java
index 9646d52..c613daa 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveUpAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveUpAction.java
@@ -24,40 +24,34 @@
  * 
  * @author Doug Satchwell
  */
-public class MoveUpAction extends AbstractStylesheetAction
-{
+public class MoveUpAction extends AbstractStylesheetAction {
 	/**
 	 * Create a new instance of this.
 	 * 
 	 * @param viewer
 	 */
-	public MoveUpAction(StylesheetViewer viewer)
-	{
+	public MoveUpAction(StylesheetViewer viewer) {
 		super(Messages.MoveUpAction_Text, viewer);
 	}
 
 	@Override
-	public void run()
-	{
+	public void run() {
 		List<?> targets = getOrderedSelection();
-		if (targets.isEmpty())
-		{
+		if (targets.isEmpty()) {
 			return;
 		}
 		int top = 0;
 		int index = 0;
 		List<LaunchTransform> list = getEntriesAsList();
 		Iterator<?> entries = targets.iterator();
-		while (entries.hasNext())
-		{
+		while (entries.hasNext()) {
 			Object target = entries.next();
 			index = list.indexOf(target);
-			if (index > top)
-			{
+			if (index > top) {
 				top = index - 1;
 				Object temp = list.get(top);
-				list.set(top, (LaunchTransform)target);
-				list.set(index, (LaunchTransform)temp);
+				list.set(top, (LaunchTransform) target);
+				list.set(index, (LaunchTransform) temp);
 			}
 			top = index;
 		}
@@ -65,18 +59,16 @@
 	}
 
 	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
-		if (selection.isEmpty())
-		{
+	protected boolean updateSelection(IStructuredSelection selection) {
+		if (selection.isEmpty()) {
 			return false;
 		}
-		return getViewer().updateSelection(getActionType(), selection) && !isIndexSelected(selection, 0);
+		return getViewer().updateSelection(getActionType(), selection)
+				&& !isIndexSelected(selection, 0);
 	}
 
 	@Override
-	protected int getActionType()
-	{
+	protected int getActionType() {
 		return MOVE;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MultipleInputDialog.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MultipleInputDialog.java
index 692b1b3..95d4709 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MultipleInputDialog.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MultipleInputDialog.java
@@ -44,8 +44,7 @@
  * 
  * @author Doug Satchwell
  */
-public class MultipleInputDialog extends Dialog
-{
+public class MultipleInputDialog extends Dialog {
 	protected static final String FIELD_NAME = "FIELD_NAME"; //$NON-NLS-1$
 	protected static final int TEXT = 100;
 	protected static final int BROWSE = 101;
@@ -65,38 +64,35 @@
 	/**
 	 * Create a new instance of this.
 	 * 
-	 * @param shell the shell to open the dialog on
-	 * @param title the title for the dialog
+	 * @param shell
+	 *            the shell to open the dialog on
+	 * @param title
+	 *            the title for the dialog
 	 */
-	public MultipleInputDialog(final Shell shell, final String title)
-	{
+	public MultipleInputDialog(final Shell shell, final String title) {
 		super(shell);
 		this.title = title;
 		setShellStyle(getShellStyle() | SWT.RESIZE);
 	}
 
 	@Override
-	protected void configureShell(Shell shell)
-	{
+	protected void configureShell(Shell shell) {
 		super.configureShell(shell);
-		if (title != null)
-		{
+		if (title != null) {
 			shell.setText(title);
 		}
 
 	}
 
 	@Override
-	protected Control createButtonBar(Composite parent)
-	{
+	protected Control createButtonBar(Composite parent) {
 		Control bar = super.createButtonBar(parent);
 		validateFields();
 		return bar;
 	}
 
 	@Override
-	protected Control createDialogArea(Composite parent)
-	{
+	protected Control createDialogArea(Composite parent) {
 		Composite container = (Composite) super.createDialogArea(parent);
 		// ((GridData) parent.getLayoutData()).heightHint = 400;
 		// ((GridData) parent.getLayoutData()).widthHint = 400;
@@ -112,24 +108,24 @@
 		panel.setLayout(layout);
 		panel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-		for (Iterator<FieldSummary> i = fieldList.iterator(); i.hasNext();)
-		{
+		for (Iterator<FieldSummary> i = fieldList.iterator(); i.hasNext();) {
 			FieldSummary field = i.next();
-			switch (field.type)
-			{
-				case TEXT:
-					createTextField(field.name, field.initialValue, field.allowsEmpty);
-					break;
-				// case BROWSE:
-				// createBrowseField(field.name, field.initialValue,
-				// field.allowsEmpty);
-				// break;
-				case VARIABLE:
-					createVariablesField(field.name, field.initialValue, field.allowsEmpty);
-					break;
-				case COMBO:
-					createComboField(field.name, field.initialIndex, field.items);
-					break;
+			switch (field.type) {
+			case TEXT:
+				createTextField(field.name, field.initialValue,
+						field.allowsEmpty);
+				break;
+			// case BROWSE:
+			// createBrowseField(field.name, field.initialValue,
+			// field.allowsEmpty);
+			// break;
+			case VARIABLE:
+				createVariablesField(field.name, field.initialValue,
+						field.allowsEmpty);
+				break;
+			case COMBO:
+				createComboField(field.name, field.initialIndex, field.items);
+				break;
 			}
 		}
 
@@ -142,53 +138,67 @@
 	/**
 	 * Add a label, text box and button for browsing the for a file.
 	 * 
-	 * @param labelText the label
-	 * @param initialValue the initial value
-	 * @param allowsEmpty true if the text box can be empty
+	 * @param labelText
+	 *            the label
+	 * @param initialValue
+	 *            the initial value
+	 * @param allowsEmpty
+	 *            true if the text box can be empty
 	 */
-	public void addBrowseField(String labelText, String initialValue, boolean allowsEmpty)
-	{
-		fieldList.add(new FieldSummary(BROWSE, labelText, initialValue, allowsEmpty));
+	public void addBrowseField(String labelText, String initialValue,
+			boolean allowsEmpty) {
+		fieldList.add(new FieldSummary(BROWSE, labelText, initialValue,
+				allowsEmpty));
 	}
 
 	/**
 	 * Add a label and a text box.
 	 * 
-	 * @param labelText the label
-	 * @param initialValue the initial value
-	 * @param allowsEmpty true if the text box can be empty
+	 * @param labelText
+	 *            the label
+	 * @param initialValue
+	 *            the initial value
+	 * @param allowsEmpty
+	 *            true if the text box can be empty
 	 */
-	public void addTextField(String labelText, String initialValue, boolean allowsEmpty)
-	{
-		fieldList.add(new FieldSummary(TEXT, labelText, initialValue, allowsEmpty));
+	public void addTextField(String labelText, String initialValue,
+			boolean allowsEmpty) {
+		fieldList.add(new FieldSummary(TEXT, labelText, initialValue,
+				allowsEmpty));
 	}
 
 	/**
 	 * Add a label, a text box and a button for selecting variables.
 	 * 
-	 * @param labelText the label
-	 * @param initialValue the initial value
-	 * @param allowsEmpty true if the text box can be empty
+	 * @param labelText
+	 *            the label
+	 * @param initialValue
+	 *            the initial value
+	 * @param allowsEmpty
+	 *            true if the text box can be empty
 	 */
-	public void addVariablesField(String labelText, String initialValue, boolean allowsEmpty)
-	{
-		fieldList.add(new FieldSummary(VARIABLE, labelText, initialValue, allowsEmpty));
+	public void addVariablesField(String labelText, String initialValue,
+			boolean allowsEmpty) {
+		fieldList.add(new FieldSummary(VARIABLE, labelText, initialValue,
+				allowsEmpty));
 	}
 
 	/**
 	 * Add a label and a combo.
 	 * 
-	 * @param labelText the label
-	 * @param initialIndex the initial selection index
-	 * @param items the array of items for the combo
+	 * @param labelText
+	 *            the label
+	 * @param initialIndex
+	 *            the initial selection index
+	 * @param items
+	 *            the array of items for the combo
 	 */
-	public void addComboField(String labelText, int initialIndex, String[] items)
-	{
+	public void addComboField(String labelText, int initialIndex, String[] items) {
 		fieldList.add(new FieldSummary(COMBO, labelText, items, initialIndex));
 	}
 
-	protected void createTextField(String labelText, String initialValue, boolean allowEmpty)
-	{
+	protected void createTextField(String labelText, String initialValue,
+			boolean allowEmpty) {
 		Label label = new Label(panel, SWT.NONE);
 		label.setText(labelText);
 		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
@@ -200,25 +210,19 @@
 		// make sure rows are the same height on both panels.
 		label.setSize(label.getSize().x, text.getSize().y);
 
-		if (initialValue != null)
-		{
+		if (initialValue != null) {
 			text.setText(initialValue);
 		}
 
-		if (!allowEmpty)
-		{
-			validators.add(new Validator()
-			{
+		if (!allowEmpty) {
+			validators.add(new Validator() {
 				@Override
-				public boolean validate()
-				{
+				public boolean validate() {
 					return !text.getText().equals(""); //$NON-NLS-1$
 				}
 			});
-			text.addModifyListener(new ModifyListener()
-			{
-				public void modifyText(ModifyEvent e)
-				{
+			text.addModifyListener(new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
 					validateFields();
 				}
 			});
@@ -227,8 +231,8 @@
 		controlList.add(text);
 	}
 
-	protected void createVariablesField(String labelText, String initialValue, boolean allowEmpty)
-	{
+	protected void createVariablesField(String labelText, String initialValue,
+			boolean allowEmpty) {
 		Label label = new Label(panel, SWT.NONE);
 		label.setText(labelText);
 		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
@@ -249,44 +253,36 @@
 		// make sure rows are the same height on both panels.
 		label.setSize(label.getSize().x, text.getSize().y);
 
-		if (initialValue != null)
-		{
+		if (initialValue != null) {
 			text.setText(initialValue);
 		}
 
-		if (!allowEmpty)
-		{
-			validators.add(new Validator()
-			{
+		if (!allowEmpty) {
+			validators.add(new Validator() {
 				@Override
-				public boolean validate()
-				{
+				public boolean validate() {
 					return !text.getText().equals(""); //$NON-NLS-1$
 				}
 			});
 
-			text.addModifyListener(new ModifyListener()
-			{
-				public void modifyText(ModifyEvent e)
-				{
+			text.addModifyListener(new ModifyListener() {
+				public void modifyText(ModifyEvent e) {
 					validateFields();
 				}
 			});
 		}
 
-		Button button = createButton(comp, IDialogConstants.IGNORE_ID, Messages.VariablesFieldButton_Text, false);
-		button.addSelectionListener(new SelectionAdapter()
-		{
+		Button button = createButton(comp, IDialogConstants.IGNORE_ID,
+				Messages.VariablesFieldButton_Text, false);
+		button.addSelectionListener(new SelectionAdapter() {
 			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
+			public void widgetSelected(SelectionEvent e) {
+				StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(
+						getShell());
 				int code = dialog.open();
-				if (code == IDialogConstants.OK_ID)
-				{
+				if (code == IDialogConstants.OK_ID) {
 					String variable = dialog.getVariableExpression();
-					if (variable != null)
-					{
+					if (variable != null) {
 						text.insert(variable);
 					}
 				}
@@ -297,8 +293,8 @@
 
 	}
 
-	protected void createComboField(String labelText, int initialValue, String[] items)
-	{
+	protected void createComboField(String labelText, int initialValue,
+			String[] items) {
 		Label label = new Label(panel, SWT.NONE);
 		label.setText(labelText);
 		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
@@ -310,7 +306,8 @@
 		comp.setLayout(layout);
 		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-		final Combo combo = new Combo(comp, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY);
+		final Combo combo = new Combo(comp, SWT.SINGLE | SWT.BORDER
+				| SWT.READ_ONLY);
 		// GridData data = new GridData(GridData.FILL_HORIZONTAL);
 		// data.widthHint = 200;
 		// combo.setLayoutData(data);
@@ -327,19 +324,16 @@
 	}
 
 	@Override
-	protected void okPressed()
-	{
-		for (Iterator<Scrollable> i = controlList.iterator(); i.hasNext();)
-		{
+	protected void okPressed() {
+		for (Iterator<Scrollable> i = controlList.iterator(); i.hasNext();) {
 			Control control = i.next();
-			if (control instanceof Text)
-			{
-				valueMap.put(control.getData(FIELD_NAME), ((Text) control).getText());
-			}
-			else if (control instanceof Combo)
-			{
+			if (control instanceof Text) {
+				valueMap.put(control.getData(FIELD_NAME), ((Text) control)
+						.getText());
+			} else if (control instanceof Combo) {
 				Combo combo = (Combo) control;
-				valueMap.put(control.getData(FIELD_NAME), new Integer(combo.getSelectionIndex()));
+				valueMap.put(control.getData(FIELD_NAME), Integer.valueOf(combo
+						.getSelectionIndex()));
 			}
 		}
 		controlList = null;
@@ -347,34 +341,27 @@
 	}
 
 	@Override
-	public int open()
-	{
+	public int open() {
 		applyDialogFont(panel);
 		return super.open();
 	}
 
-	protected Object getValue(String key)
-	{
+	protected Object getValue(String key) {
 		return valueMap.get(key);
 	}
 
-	protected String getStringValue(String key)
-	{
+	protected String getStringValue(String key) {
 		return (String) getValue(key);
 	}
 
-	protected int getIntValue(String key)
-	{
+	protected int getIntValue(String key) {
 		return ((Integer) getValue(key)).intValue();
 	}
 
-	protected void validateFields()
-	{
-		for (Iterator<Validator> i = validators.iterator(); i.hasNext();)
-		{
+	protected void validateFields() {
+		for (Iterator<Validator> i = validators.iterator(); i.hasNext();) {
 			Validator validator = i.next();
-			if (!validator.validate())
-			{
+			if (!validator.validate()) {
 				getButton(IDialogConstants.OK_ID).setEnabled(false);
 				return;
 			}
@@ -382,25 +369,23 @@
 		getButton(IDialogConstants.OK_ID).setEnabled(true);
 	}
 
-	private String getDialogSettingsSectionName()
-	{
+	private String getDialogSettingsSectionName() {
 		return XSLDebugUIPlugin.PLUGIN_ID + ".MULTIPLE_INPUT_DIALOG"; //$NON-NLS-1$
 	}
 
 	@Override
-	protected IDialogSettings getDialogBoundsSettings()
-	{
-		IDialogSettings settings = XSLDebugUIPlugin.getDefault().getDialogSettings();
-		IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-		if (section == null)
-		{
+	protected IDialogSettings getDialogBoundsSettings() {
+		IDialogSettings settings = XSLDebugUIPlugin.getDefault()
+				.getDialogSettings();
+		IDialogSettings section = settings
+				.getSection(getDialogSettingsSectionName());
+		if (section == null) {
 			section = settings.addNewSection(getDialogSettingsSectionName());
 		}
 		return section;
 	}
 
-	protected class FieldSummary
-	{
+	protected static class FieldSummary {
 		int initialIndex;
 		int type;
 		String name;
@@ -408,26 +393,24 @@
 		boolean allowsEmpty;
 		String[] items;
 
-		public FieldSummary(int type, String name, String initialValue, boolean allowsEmpty)
-		{
+		public FieldSummary(int type, String name, String initialValue,
+				boolean allowsEmpty) {
 			this.type = type;
 			this.name = name;
 			this.initialValue = initialValue;
 			this.allowsEmpty = allowsEmpty;
 		}
 
-		public FieldSummary(int type, String name, String[] items, int initialIndex)
-		{
+		public FieldSummary(int type, String name, String[] items,
+				int initialIndex) {
 			this.type = type;
 			this.name = name;
 			this.items = items;
 		}
 	}
 
-	protected class Validator
-	{
-		boolean validate()
-		{
+	protected class Validator {
+		boolean validate() {
 			return true;
 		}
 	}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/OpenDialogAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/OpenDialogAction.java
index 3c269b0..09baf4f 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/OpenDialogAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/OpenDialogAction.java
@@ -19,48 +19,48 @@
  * 
  * @author Doug Satchwell
  */
-public class OpenDialogAction extends AbstractStylesheetAction
-{
+public class OpenDialogAction extends AbstractStylesheetAction {
 	protected static final String LAST_PATH_SETTING = "LAST_PATH_SETTING"; //$NON-NLS-1$
 	private String fPrefix = null;
 
 	/**
 	 * Create a new instance of this
 	 * 
-	 * @param label the dialog title
-	 * @param viewer a viewer that this dialog is associated with
-	 * @param dialogSettingsPrefix the prefix to use for saving dialog preferences
+	 * @param label
+	 *            the dialog title
+	 * @param viewer
+	 *            a viewer that this dialog is associated with
+	 * @param dialogSettingsPrefix
+	 *            the prefix to use for saving dialog preferences
 	 */
-	public OpenDialogAction(String label, StylesheetViewer viewer, String dialogSettingsPrefix)
-	{
+	public OpenDialogAction(String label, StylesheetViewer viewer,
+			String dialogSettingsPrefix) {
 		super(label, viewer);
 		fPrefix = dialogSettingsPrefix;
 	}
 
-	protected String getDialogSettingsPrefix()
-	{
+	protected String getDialogSettingsPrefix() {
 		return fPrefix;
 	}
 
-	protected String getDialogSetting(String settingName)
-	{
-		return getDialogSettings().get(getDialogSettingsPrefix() + "." + settingName); //$NON-NLS-1$
+	protected String getDialogSetting(String settingName) {
+		return getDialogSettings().get(
+				getDialogSettingsPrefix() + "." + settingName); //$NON-NLS-1$
 	}
 
-	protected void setDialogSetting(String settingName, String value)
-	{
-		getDialogSettings().put(getDialogSettingsPrefix() + "." + settingName, value); //$NON-NLS-1$
+	protected void setDialogSetting(String settingName, String value) {
+		getDialogSettings().put(
+				getDialogSettingsPrefix() + "." + settingName, value); //$NON-NLS-1$
 	}
 
-	protected IDialogSettings getDialogSettings()
-	{
-		IDialogSettings settings = XSLDebugUIPlugin.getDefault().getDialogSettings();
+	protected IDialogSettings getDialogSettings() {
+		IDialogSettings settings = XSLDebugUIPlugin.getDefault()
+				.getDialogSettings();
 		return settings;
 	}
 
 	@Override
-	protected int getActionType()
-	{
+	protected int getActionType() {
 		return ADD;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveAction.java
index 11809ce..3f0d05f 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveAction.java
@@ -21,39 +21,37 @@
  * 
  * @author Doug Satchwell
  */
-public class RemoveAction extends AbstractStylesheetAction
-{
+public class RemoveAction extends AbstractStylesheetAction {
 	/**
 	 * Create a new instance of this.
 	 * 
-	 * @param viewer the viewer that will have its selection removed
+	 * @param viewer
+	 *            the viewer that will have its selection removed
 	 */
-	public RemoveAction(StylesheetViewer viewer)
-	{
+	public RemoveAction(StylesheetViewer viewer) {
 		super(Messages.RemoveAction_Text, viewer);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	public void run()
-	{
-		IStructuredSelection selection = (IStructuredSelection) getViewer().getViewer().getSelection();
-		getViewer().removeEntries((LaunchTransform[]) selection.toList().toArray(new LaunchTransform[0]));
+	public void run() {
+		IStructuredSelection selection = (IStructuredSelection) getViewer()
+				.getViewer().getSelection();
+		getViewer().removeEntries(
+				(LaunchTransform[]) selection.toList().toArray(
+						new LaunchTransform[0]));
 	}
 
 	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
-		if (selection.isEmpty())
-		{
+	protected boolean updateSelection(IStructuredSelection selection) {
+		if (selection.isEmpty()) {
 			return false;
 		}
 		return getViewer().updateSelection(getActionType(), selection);
 	}
 
 	@Override
-	protected int getActionType()
-	{
+	protected int getActionType() {
 		return MOVE;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveParameterAction.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveParameterAction.java
index 430dadc..9595161 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveParameterAction.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveParameterAction.java
@@ -23,28 +23,24 @@
  * 
  * @author Doug Satchwell
  */
-public class RemoveParameterAction extends AbstractParameterAction
-{
+public class RemoveParameterAction extends AbstractParameterAction {
 	/**
 	 * Create a new instance of this.
 	 * 
-	 * @param viewer the viewer that will have its selection removed
+	 * @param viewer
+	 *            the viewer that will have its selection removed
 	 */
-	public RemoveParameterAction(ParameterViewer viewer)
-	{
+	public RemoveParameterAction(ParameterViewer viewer) {
 		super(Messages.RemoveParameterAction, viewer);
 	}
 
 	@Override
-	public void run()
-	{
+	public void run() {
 		IStructuredSelection sel = getStructuredSelection();
-		if (sel.size() > 0)
-		{
+		if (sel.size() > 0) {
 			LaunchAttribute[] entries = new LaunchAttribute[sel.size()];
 			int i = 0;
-			for (Iterator<?> iter = sel.iterator(); iter.hasNext(); i++)
-			{
+			for (Iterator<?> iter = sel.iterator(); iter.hasNext(); i++) {
 				LaunchAttribute att = (LaunchAttribute) iter.next();
 				entries[i] = att;
 			}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/breakpoint/XSLBreakpointProvider.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/breakpoint/XSLBreakpointProvider.java
index 14cbe5b..c95a34a 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/breakpoint/XSLBreakpointProvider.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/breakpoint/XSLBreakpointProvider.java
@@ -41,120 +41,114 @@
  * 
  * @author Doug Satchwell
  */
-public class XSLBreakpointProvider implements IBreakpointProvider, IExecutableExtension
-{
-	public IStatus addBreakpoint(IDocument document, IEditorInput input, int editorLineNumber, int offset) throws CoreException
-	{
+public class XSLBreakpointProvider implements IBreakpointProvider,
+		IExecutableExtension {
+	public IStatus addBreakpoint(IDocument document, IEditorInput input,
+			int editorLineNumber, int offset) throws CoreException {
 		// check if there is a valid position to set breakpoint
 		int pos = getValidPosition(document, editorLineNumber);
 		IStatus status = null;
-		if (pos >= 0)
-		{
+		if (pos >= 0) {
 			IResource res = getResourceFromInput(input);
-			if (res != null)
-			{
+			if (res != null) {
 				boolean add = true;
-				if (add)
-				{
-					IBreakpoint point = new XSLLineBreakpoint(res, editorLineNumber, pos, pos);
-					if (point == null)
-					{
-						status = new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, IStatus.ERROR, Messages.XSLBreakpointProvider_0, null);
-					}
-					else
-					{
+				if (add) {
+					IBreakpoint point = new XSLLineBreakpoint(res,
+							editorLineNumber, pos, pos);
+					if (point == null) {
+						status = new Status(IStatus.ERROR,
+								XSLDebugUIPlugin.PLUGIN_ID, IStatus.ERROR,
+								Messages.XSLBreakpointProvider_0, null);
+					} else {
 						// DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(point);
 					}
 				}
-			}
-			else if (input instanceof IStorageEditorInput)
-			{
+			} else if (input instanceof IStorageEditorInput) {
 				res = ResourcesPlugin.getWorkspace().getRoot();
 				String id = input.getName();
-				if (input instanceof IStorageEditorInput && ((IStorageEditorInput) input).getStorage() != null && ((IStorageEditorInput) input).getStorage().getFullPath() != null)
-				{
-					id = ((IStorageEditorInput) input).getStorage().getFullPath().toString();
+				if (input instanceof IStorageEditorInput
+						&& ((IStorageEditorInput) input).getStorage() != null
+						&& ((IStorageEditorInput) input).getStorage()
+								.getFullPath() != null) {
+					id = ((IStorageEditorInput) input).getStorage()
+							.getFullPath().toString();
 				}
 				Map<String, String> attributes = new HashMap<String, String>();
-				attributes.put(StructuredResourceMarkerAnnotationModel.SECONDARY_ID_KEY, id);
-				IBreakpoint point = new XSLLineBreakpoint(res, editorLineNumber, pos, pos);
-				if (point == null)
-				{
-					status = new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, IStatus.ERROR, Messages.XSLBreakpointProvider_0, null);
+				attributes
+						.put(
+								StructuredResourceMarkerAnnotationModel.SECONDARY_ID_KEY,
+								id);
+				IBreakpoint point = new XSLLineBreakpoint(res,
+						editorLineNumber, pos, pos);
+				if (point == null) {
+					status = new Status(IStatus.ERROR,
+							XSLDebugUIPlugin.PLUGIN_ID, IStatus.ERROR,
+							Messages.XSLBreakpointProvider_0, null);
 				}
 			}
 		}
-		if (status == null)
-		{
-			status = new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID, IStatus.OK, "JSPUIMessages.OK", null); //$NON-NLS-1$
+		if (status == null) {
+			status = new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID,
+					IStatus.OK, "JSPUIMessages.OK", null); //$NON-NLS-1$
 		}
 		return status;
 	}
 
-	public IResource getResource(IEditorInput input)
-	{
+	public IResource getResource(IEditorInput input) {
 		return getResourceFromInput(input);
 	}
 
-	private IResource getResourceFromInput(IEditorInput input)
-	{
+	private IResource getResourceFromInput(IEditorInput input) {
 		IResource resource = (IResource) input.getAdapter(IFile.class);
-		if (resource == null)
-		{
+		if (resource == null) {
 			resource = (IResource) input.getAdapter(IResource.class);
 		}
 		return resource;
 	}
 
-	private int getValidPosition(IDocument idoc, int editorLineNumber)
-	{
+	private int getValidPosition(IDocument idoc, int editorLineNumber) {
 		int result = -1;
-		if (idoc != null)
-		{
+		if (idoc != null) {
 			int startOffset = 0;
 			int endOffset = 0;
-			try
-			{
+			try {
 				IRegion line = idoc.getLineInformation(editorLineNumber - 1);
 				startOffset = line.getOffset();
-				endOffset = Math.max(line.getOffset(), line.getOffset() + line.getLength());
+				endOffset = Math.max(line.getOffset(), line.getOffset()
+						+ line.getLength());
 
-				String lineText = idoc.get(startOffset, endOffset - startOffset).trim();
+				String lineText = idoc
+						.get(startOffset, endOffset - startOffset).trim();
 
 				// blank lines or PI's cannot have breakpoints
 				if (lineText.trim().equals("") || lineText.startsWith("<?")) //$NON-NLS-1$ //$NON-NLS-2$
 				{
 					result = -1;
-				}
-				else
-				{
+				} else {
 					// get all partitions for current line
 					ITypedRegion[] partitions = null;
 
-					partitions = idoc.computePartitioning(startOffset, endOffset - startOffset);
+					partitions = idoc.computePartitioning(startOffset,
+							endOffset - startOffset);
 
-					for (int i = 0; i < partitions.length; ++i)
-					{
+					for (int i = 0; i < partitions.length; ++i) {
 						// String type = partitions[i].getType();
 						result = partitions[i].getOffset();
 					}
 				}
-			}
-			catch (BadLocationException e)
-			{
+			} catch (BadLocationException e) {
 				result = -1;
 			}
 		}
 		return result;
 	}
 
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException
-	{
+	public void setInitializationData(IConfigurationElement config,
+			String propertyName, Object data) throws CoreException {
 		// not used
 	}
 
-	public void setSourceEditingTextTools(ISourceEditingTextTools tools)
-	{
+	public void setSourceEditingTextTools(ISourceEditingTextTools tools) {
 		// not used
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/messages.properties b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/messages.properties
index 018d14e..815e6c8 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/messages.properties
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/messages.properties
@@ -92,6 +92,8 @@
 
 OutputTypeBlock_Group_Name=Output Type
 OutputFileBlock_0=Use default location
+OutputFileBlock_1=Filename
+OutputFileBlock_2=Format file on completion
 OutputFileBlock_7=Location:
 OutputFileBlock_8=Open file on completion
 OutputFileBlock_9=Output File
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLBreakpointAdapterFactory.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLBreakpointAdapterFactory.java
index db68b8f..9764f0a 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLBreakpointAdapterFactory.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLBreakpointAdapterFactory.java
@@ -20,19 +20,14 @@
 /**
  * Creates a toggle breakpoint adapter
  */
-public class XSLBreakpointAdapterFactory implements IAdapterFactory
-{
-	@SuppressWarnings("unchecked") 
-	public Object getAdapter(Object adaptableObject, Class adapterType)
-	{
-		if (adaptableObject instanceof ITextEditor)
-		{
+public class XSLBreakpointAdapterFactory implements IAdapterFactory {
+	public Object getAdapter(Object adaptableObject, Class adapterType) {
+		if (adaptableObject instanceof ITextEditor) {
 			ITextEditor editorPart = (ITextEditor) adaptableObject;
-			IResource resource = (IResource) editorPart.getEditorInput().getAdapter(IResource.class);
-			if (resource != null && resource instanceof IFile)
-			{
-				if (XSLCore.isXSLFile((IFile)resource))
-				{
+			IResource resource = (IResource) editorPart.getEditorInput()
+					.getAdapter(IResource.class);
+			if (resource != null && resource instanceof IFile) {
+				if (XSLCore.isXSLFile((IFile) resource)) {
 					return new XSLLineBreakpointAdapter();
 				}
 			}
@@ -40,10 +35,7 @@
 		return null;
 	}
 
-	@SuppressWarnings("unchecked") 
-	public Class[] getAdapterList()
-	{
-		return new Class[]
-		{ IToggleBreakpointsTarget.class };
+	public Class[] getAdapterList() {
+		return new Class[] { IToggleBreakpointsTarget.class };
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLLineBreakpointAdapter.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLLineBreakpointAdapter.java
index 870045d..2feeeaa 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLLineBreakpointAdapter.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLLineBreakpointAdapter.java
@@ -30,23 +30,21 @@
  * 
  * @author Doug Satchwell
  */
-public class XSLLineBreakpointAdapter implements IToggleBreakpointsTarget
-{
-	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException
-	{
+public class XSLLineBreakpointAdapter implements IToggleBreakpointsTarget {
+	public void toggleLineBreakpoints(IWorkbenchPart part, ISelection selection)
+			throws CoreException {
 		ITextEditor textEditor = getEditor(part);
-		if (textEditor != null)
-		{
-			IResource resource = (IResource) textEditor.getEditorInput().getAdapter(IResource.class);
+		if (textEditor != null) {
+			IResource resource = (IResource) textEditor.getEditorInput()
+					.getAdapter(IResource.class);
 			ITextSelection textSelection = (ITextSelection) selection;
 			int lineNumber = textSelection.getStartLine();
-			IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IXSLConstants.ID_XSL_DEBUG_MODEL);
-			for (IBreakpoint breakpoint : breakpoints)
-			{
-				if (resource.equals(breakpoint.getMarker().getResource()))
-				{
-					if (((ILineBreakpoint) breakpoint).getLineNumber() == (lineNumber + 1))
-					{
+			IBreakpoint[] breakpoints = DebugPlugin.getDefault()
+					.getBreakpointManager().getBreakpoints(
+							IXSLConstants.ID_XSL_DEBUG_MODEL);
+			for (IBreakpoint breakpoint : breakpoints) {
+				if (resource.equals(breakpoint.getMarker().getResource())) {
+					if (((ILineBreakpoint) breakpoint).getLineNumber() == (lineNumber + 1)) {
 						// remove
 						breakpoint.delete();
 						return;
@@ -54,13 +52,15 @@
 				}
 			}
 			// create line breakpoint (doc line numbers start at 0)
-			XSLLineBreakpoint lineBreakpoint = new XSLLineBreakpoint(resource, lineNumber + 1, 1, 1);
-			DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(lineBreakpoint);
+			XSLLineBreakpoint lineBreakpoint = new XSLLineBreakpoint(resource,
+					lineNumber + 1, 1, 1);
+			DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(
+					lineBreakpoint);
 		}
 	}
 
-	public boolean canToggleLineBreakpoints(IWorkbenchPart part, ISelection selection)
-	{
+	public boolean canToggleLineBreakpoints(IWorkbenchPart part,
+			ISelection selection) {
 		return getEditor(part) != null;
 	}
 
@@ -68,16 +68,13 @@
 	 * Returns the editor being used to edit a XSL file, associated with the
 	 * given part, or <code>null</code> if none.
 	 */
-	private ITextEditor getEditor(IWorkbenchPart part)
-	{
-		if (part instanceof ITextEditor)
-		{
+	private ITextEditor getEditor(IWorkbenchPart part) {
+		if (part instanceof ITextEditor) {
 			ITextEditor editorPart = (ITextEditor) part;
-			IResource resource = (IResource) editorPart.getEditorInput().getAdapter(IResource.class);
-			if (resource != null && resource.getType() == IResource.FILE)
-			{
-				if (XSLCore.isXSLFile((IFile)resource))
-				{
+			IResource resource = (IResource) editorPart.getEditorInput()
+					.getAdapter(IResource.class);
+			if (resource != null && resource.getType() == IResource.FILE) {
+				if (XSLCore.isXSLFile((IFile) resource)) {
 					return editorPart;
 				}
 			}
@@ -85,21 +82,21 @@
 		return null;
 	}
 
-	public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException
-	{
+	public void toggleMethodBreakpoints(IWorkbenchPart part,
+			ISelection selection) throws CoreException {
 	}
 
-	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection)
-	{
+	public boolean canToggleMethodBreakpoints(IWorkbenchPart part,
+			ISelection selection) {
 		return false;
 	}
 
-	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException
-	{
+	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection)
+			throws CoreException {
 	}
 
-	public boolean canToggleWatchpoints(IWorkbenchPart part, ISelection selection)
-	{
+	public boolean canToggleWatchpoints(IWorkbenchPart part,
+			ISelection selection) {
 		return false;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLModelPresentation.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLModelPresentation.java
index 3b72474..a7838de 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLModelPresentation.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLModelPresentation.java
@@ -29,28 +29,25 @@
 import org.eclipse.wst.xml.ui.internal.util.SharedXMLEditorPluginImageHelper;
 
 /**
- * An <code>IDebugModelPresentation</code> for XSL debugging. 
+ * An <code>IDebugModelPresentation</code> for XSL debugging.
  * 
  * @author Doug Satchwell
  */
-public class XSLModelPresentation extends LabelProvider implements IDebugModelPresentation
-{
+public class XSLModelPresentation extends LabelProvider implements
+		IDebugModelPresentation {
 	private Image localImg;
 
-	public void setAttribute(String attribute, Object value)
-	{
+	public void setAttribute(String attribute, Object value) {
 	}
 
 	@Override
-	public Image getImage(Object element)
-	{
-		if (element instanceof XSLVariable)
-		{
+	public Image getImage(Object element) {
+		if (element instanceof XSLVariable) {
 			XSLVariable var = (XSLVariable) element;
-			if (var.getScope().equals(XSLVariable.LOCAL_SCOPE))
-			{
+			if (var.getScope().equals(XSLVariable.LOCAL_SCOPE)) {
 				if (localImg == null)
-					localImg = XSLDebugUIPlugin.getImageDescriptor("/icons/localvariable_obj.gif").createImage(); //$NON-NLS-1$
+					localImg = XSLDebugUIPlugin.getImageDescriptor(
+							"/icons/localvariable_obj.gif").createImage(); //$NON-NLS-1$
 				return localImg;
 			}
 		}
@@ -59,28 +56,36 @@
 			if (nodeVar.getNode() != null) {
 				Node node = nodeVar.getNode();
 				if (node.getNodeType() == Node.ELEMENT_NODE) {
-					localImg = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ELEMENT);
+					localImg = SharedXMLEditorPluginImageHelper
+							.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ELEMENT);
 				}
 				if (node.getNodeType() == Node.ATTRIBUTE_NODE) {
-					localImg = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ATTRIBUTE);
+					localImg = SharedXMLEditorPluginImageHelper
+							.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ATTRIBUTE);
 				}
 				if (node.getNodeType() == Node.COMMENT_NODE) {
-					localImg = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_COMMENT);
+					localImg = SharedXMLEditorPluginImageHelper
+							.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_COMMENT);
 				}
 				if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE) {
-					localImg = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_PROCESSINGINSTRUCTION);
+					localImg = SharedXMLEditorPluginImageHelper
+							.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_PROCESSINGINSTRUCTION);
 				}
 				if (node.getNodeType() == Node.CDATA_SECTION_NODE) {
-					localImg = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_CDATASECTION);
+					localImg = SharedXMLEditorPluginImageHelper
+							.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_CDATASECTION);
 				}
 				if (node.getNodeType() == Node.ENTITY_NODE) {
-					localImg = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ENTITY);
+					localImg = SharedXMLEditorPluginImageHelper
+							.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ENTITY);
 				}
 				if (node.getNodeType() == Node.ENTITY_REFERENCE_NODE) {
-					localImg = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ENTITY_REFERENCE);
+					localImg = SharedXMLEditorPluginImageHelper
+							.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_ENTITY_REFERENCE);
 				}
 				if (node.getNodeType() == Node.TEXT_NODE) {
-					localImg = SharedXMLEditorPluginImageHelper.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_TXTEXT);
+					localImg = SharedXMLEditorPluginImageHelper
+							.getImage(SharedXMLEditorPluginImageHelper.IMG_OBJ_TXTEXT);
 				}
 				return localImg;
 			}
@@ -89,49 +94,39 @@
 	}
 
 	@Override
-	public String getText(Object element)
-	{
+	public String getText(Object element) {
 		return null;
 	}
 
 	@Override
-	public void dispose()
-	{
+	public void dispose() {
 		if (localImg != null)
 			localImg.dispose();
 		super.dispose();
 	}
 
-	public void computeDetail(IValue value, IValueDetailListener listener)
-	{
+	public void computeDetail(IValue value, IValueDetailListener listener) {
 		String detail = ""; //$NON-NLS-1$
-		try
-		{
+		try {
 			detail = value.getValueString();
-		}
-		catch (DebugException e)
-		{
+		} catch (DebugException e) {
 		}
 		listener.detailComputed(value, detail);
 	}
 
-	public IEditorInput getEditorInput(Object element)
-	{
-		if (element instanceof IFile)
-		{
+	public IEditorInput getEditorInput(Object element) {
+		if (element instanceof IFile) {
 			return new FileEditorInput((IFile) element);
 		}
-		if (element instanceof ILineBreakpoint)
-		{
-			return new FileEditorInput((IFile) ((ILineBreakpoint) element).getMarker().getResource());
+		if (element instanceof ILineBreakpoint) {
+			return new FileEditorInput((IFile) ((ILineBreakpoint) element)
+					.getMarker().getResource());
 		}
 		return null;
 	}
 
-	public String getEditorId(IEditorInput input, Object element)
-	{
-		if (element instanceof IFile || element instanceof ILineBreakpoint)
-		{
+	public String getEditorId(IEditorInput input, Object element) {
+		if (element instanceof IFile || element instanceof ILineBreakpoint) {
 			return XSLDebugUIConstants.XSL_EDITOR_ID;
 		}
 		return null;
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IParametersChangedListener.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IParametersChangedListener.java
index 13d8a71..9a3afe5 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IParametersChangedListener.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IParametersChangedListener.java
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
 
-public interface IParametersChangedListener
-{
+public interface IParametersChangedListener {
 	void parametersChanged(ParameterViewer viewer);
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IStylesheetEntriesChangedListener.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IStylesheetEntriesChangedListener.java
index b1fe798..dd02a0f 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IStylesheetEntriesChangedListener.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IStylesheetEntriesChangedListener.java
@@ -10,7 +10,6 @@
  *******************************************************************************/
 package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
 
-public interface IStylesheetEntriesChangedListener
-{
+public interface IStylesheetEntriesChangedListener {
 	void entriesChanged(StylesheetViewer viewer);
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/InputFileBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/InputFileBlock.java
index 59bd3a9..53c2f5f 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/InputFileBlock.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/InputFileBlock.java
@@ -16,7 +16,6 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.variables.IStringVariableManager;
 import org.eclipse.core.variables.VariablesPlugin;
 import org.eclipse.debug.core.ILaunchConfiguration;
@@ -26,114 +25,104 @@
 import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
 import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
 
-
-public class InputFileBlock extends ResourceSelectionBlock
-{
+public class InputFileBlock extends ResourceSelectionBlock {
 	private final IFile defaultFile;
 
-	public InputFileBlock(IFile defaultFile)
-	{
+	public InputFileBlock(IFile defaultFile) {
 		super(IResource.FILE, false);
 		this.defaultFile = defaultFile;
 	}
 
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
 		String path = ""; //$NON-NLS-1$
 		if (defaultFile != null)
-			path = VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", defaultFile.getFullPath().toPortableString()); //$NON-NLS-1$
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, path);
+			path = VariablesPlugin
+					.getDefault()
+					.getStringVariableManager()
+					.generateVariableExpression(
+							"workspace_loc", defaultFile.getFullPath().toPortableString()); //$NON-NLS-1$
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, path);
 	}
 
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
+	public void initializeFrom(ILaunchConfiguration configuration) {
 		setLaunchConfiguration(configuration);
-		try
-		{
-			String wd = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null);
-			if (wd != null)
-			{
+		try {
+			String wd = configuration.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_INPUT_FILE,
+					(String) null);
+			if (wd != null) {
 				setText(wd);
 			}
-		}
-		catch (CoreException e)
-		{
-			setErrorMessage(Messages.InputFileBlock_Exception_occurred_reading_configuration + e.getStatus().getMessage());
+		} catch (CoreException e) {
+			setErrorMessage(Messages.InputFileBlock_Exception_occurred_reading_configuration
+					+ e.getStatus().getMessage());
 			XSLDebugUIPlugin.log(e);
 		}
 	}
 
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, getText());
+	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, getText());
 	}
 
-	public String getName()
-	{
+	public String getName() {
 		return Messages.InputFileBlock_Name;
 	}
-	
+
 	@Override
-	protected void textModified()
-	{
+	protected void textModified() {
 		IPath path = null;
 		String workingDirPath = getText();
 		if (workingDirPath.indexOf("${") >= 0) //$NON-NLS-1$
 		{
-			IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-			try
-			{
+			IStringVariableManager manager = VariablesPlugin.getDefault()
+					.getStringVariableManager();
+			try {
 				manager.validateStringVariables(workingDirPath);
-				path = new Path(manager.performStringSubstitution(workingDirPath));
+				path = new Path(manager
+						.performStringSubstitution(workingDirPath));
+			} catch (CoreException e) {
 			}
-			catch (CoreException e)
-			{
-			}
-		}
-		else if (workingDirPath.length() > 0)
-		{
+		} else if (workingDirPath.length() > 0) {
 			path = new Path(workingDirPath);
 		}
 	}
 
 	@Override
-	protected String getMessage(int type)
-	{
-		switch (type)
-		{
-			case ERROR_DIRECTORY_NOT_SPECIFIED:
-				return Messages.InputFileBlock_DIRECTORY_NOT_SPECIFIED;
-			case ERROR_DIRECTORY_DOES_NOT_EXIST:
-				return Messages.InputFileBlock_DIRECTORY_DOES_NOT_EXIST;
-			case GROUP_NAME:
-				return Messages.InputFileBlock_GROUP_NAME;
-			case USE_DEFAULT_RADIO:
-				return Messages.InputFileBlock_DEFAULT_RADIO;
-			case USE_OTHER_RADIO:
-				return Messages.InputFileBlock_OTHER_RADIO;
-			case DIRECTORY_DIALOG_MESSAGE:
-				return Messages.InputFileBlock_DIALOG_MESSAGE;
-			case WORKSPACE_DIALOG_MESSAGE:
-				return Messages.InputFileBlock_WORKSPACE_DIALOG_MESSAGE;
-			case VARIABLES_BUTTON:
-				return Messages.InputFileBlock_VARIABLES_BUTTON;
-			case FILE_SYSTEM_BUTTON:
-				return Messages.InputFileBlock_FILE_SYSTEM_BUTTON;
-			case WORKSPACE_BUTTON:
-				return Messages.InputFileBlock_WORKSPACE_BUTTON;
-			case WORKSPACE_DIALOG_TITLE:
-				return Messages.InputFileBlock_WORKSPACE_DIALOG_TITLE;
-			case OPENFILES_BUTTON:
-				return Messages.InputFileBlock_OPENFILES_BUTTON;
-			case OPENFILES_DIALOG_TITLE:
-				return Messages.InputFileBlock_OPENFILES_DIALOG;	
+	protected String getMessage(int type) {
+		switch (type) {
+		case ERROR_DIRECTORY_NOT_SPECIFIED:
+			return Messages.InputFileBlock_DIRECTORY_NOT_SPECIFIED;
+		case ERROR_DIRECTORY_DOES_NOT_EXIST:
+			return Messages.InputFileBlock_DIRECTORY_DOES_NOT_EXIST;
+		case GROUP_NAME:
+			return Messages.InputFileBlock_GROUP_NAME;
+		case USE_DEFAULT_RADIO:
+			return Messages.InputFileBlock_DEFAULT_RADIO;
+		case USE_OTHER_RADIO:
+			return Messages.InputFileBlock_OTHER_RADIO;
+		case DIRECTORY_DIALOG_MESSAGE:
+			return Messages.InputFileBlock_DIALOG_MESSAGE;
+		case WORKSPACE_DIALOG_MESSAGE:
+			return Messages.InputFileBlock_WORKSPACE_DIALOG_MESSAGE;
+		case VARIABLES_BUTTON:
+			return Messages.InputFileBlock_VARIABLES_BUTTON;
+		case FILE_SYSTEM_BUTTON:
+			return Messages.InputFileBlock_FILE_SYSTEM_BUTTON;
+		case WORKSPACE_BUTTON:
+			return Messages.InputFileBlock_WORKSPACE_BUTTON;
+		case WORKSPACE_DIALOG_TITLE:
+			return Messages.InputFileBlock_WORKSPACE_DIALOG_TITLE;
+		case OPENFILES_BUTTON:
+			return Messages.InputFileBlock_OPENFILES_BUTTON;
+		case OPENFILES_DIALOG_TITLE:
+			return Messages.InputFileBlock_OPENFILES_DIALOG;
 		}
 		return "" + type; //$NON-NLS-1$
 	}
 
 	@Override
-	protected void updateResourceText(boolean useDefault)
-	{
+	protected void updateResourceText(boolean useDefault) {
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParameterViewer.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParameterViewer.java
index 7927c85..8156234 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParameterViewer.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParameterViewer.java
@@ -18,88 +18,75 @@
 import org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction;
 import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
 
-public class ParameterViewer
-{
+public class ParameterViewer {
 	private final TableViewer viewer;
 	private final ListenerList fListeners = new ListenerList();
 
-	public ParameterViewer(Table table)
-	{
+	public ParameterViewer(Table table) {
 		viewer = new TableViewer(table);
 	}
-	
-	public TableViewer getViewer()
-	{
+
+	public TableViewer getViewer() {
 		return viewer;
 	}
 
-	private ParametersContentProvider getParametersContentProvider()
-	{
+	private ParametersContentProvider getParametersContentProvider() {
 		return (ParametersContentProvider) viewer.getContentProvider();
 	}
 
-	public Shell getShell()
-	{
+	public Shell getShell() {
 		return viewer.getControl().getShell();
 	}
 
-	public boolean isEnabled()
-	{
+	public boolean isEnabled() {
 		return true;
 	}
 
-	public boolean updateSelection(int actionType, IStructuredSelection selection)
-	{
-		switch (actionType)
-		{
-			case AbstractStylesheetAction.ADD:
-				return true;
-			case AbstractStylesheetAction.REMOVE:
-			case AbstractStylesheetAction.MOVE:
-			default:
-				break;
+	public boolean updateSelection(int actionType,
+			IStructuredSelection selection) {
+		switch (actionType) {
+		case AbstractStylesheetAction.ADD:
+			return true;
+		case AbstractStylesheetAction.REMOVE:
+		case AbstractStylesheetAction.MOVE:
+		default:
+			break;
 		}
 		return selection.size() > 0;
 	}
 
-	public IStructuredSelection getSelectedEntries()
-	{
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
+	public IStructuredSelection getSelectedEntries() {
+		IStructuredSelection selection = (IStructuredSelection) viewer
+				.getSelection();
 		return selection;
 	}
 
-	public void addParameter(LaunchAttribute parameter)
-	{
+	public void addParameter(LaunchAttribute parameter) {
 		getParametersContentProvider().addParameter(parameter);
 		notifyChanged();
 	}
 
-	public void removeEntries(LaunchAttribute[] entries)
-	{
+	public void removeEntries(LaunchAttribute[] entries) {
 		getParametersContentProvider().removeParameters(entries);
 		notifyChanged();
 	}
 
-	public LaunchAttribute[] getParameters()
-	{
+	public LaunchAttribute[] getParameters() {
 		return getParametersContentProvider().getParameters();
 	}
 
-	public void addParametersChangedListener(IParametersChangedListener listener)
-	{
+	public void addParametersChangedListener(IParametersChangedListener listener) {
 		fListeners.add(listener);
 	}
 
-	public void removeParametersChangedListener(IParametersChangedListener listener)
-	{
+	public void removeParametersChangedListener(
+			IParametersChangedListener listener) {
 		fListeners.remove(listener);
 	}
 
-	private void notifyChanged()
-	{
+	private void notifyChanged() {
 		Object[] listeners = fListeners.getListeners();
-		for (Object element : listeners)
-		{
+		for (Object element : listeners) {
 			((IParametersChangedListener) element).parametersChanged(this);
 		}
 	}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersBlock.java
index 0846e48..d312920 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersBlock.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersBlock.java
@@ -41,19 +41,18 @@
 import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
 import org.eclipse.wst.xsl.launching.config.LaunchTransform;
 
-public class ParametersBlock extends AbstractTableBlock
-{
+public class ParametersBlock extends AbstractTableBlock {
 	private ParameterViewer parametersViewer;
 	private Button addParameterButton;
 	private Button removeParameterButton;
 	private final TransformsBlock transformsBlock;
-	private final ISelectionChangedListener selectionListener = new ISelectionChangedListener()
-	{
-		public void selectionChanged(SelectionChangedEvent event)
-		{
-			IStructuredSelection stylesheetSelection = (IStructuredSelection) event.getSelection();
+	private final ISelectionChangedListener selectionListener = new ISelectionChangedListener() {
+		public void selectionChanged(SelectionChangedEvent event) {
+			IStructuredSelection stylesheetSelection = (IStructuredSelection) event
+					.getSelection();
 			if (stylesheetSelection.size() == 1)
-				setTransform((LaunchTransform) stylesheetSelection.getFirstElement());
+				setTransform((LaunchTransform) stylesheetSelection
+						.getFirstElement());
 			else
 				setTransform(null);
 			updateEnabled();
@@ -61,29 +60,28 @@
 	};
 	private Table fTable;
 
-	public ParametersBlock(TransformsBlock transformsBlock)
-	{
+	public ParametersBlock(TransformsBlock transformsBlock) {
 		super();
 		this.transformsBlock = transformsBlock;
 	}
 
-	protected void setTransform(LaunchTransform transform)
-	{
+	protected void setTransform(LaunchTransform transform) {
 		parametersViewer.getViewer().setInput(transform);
 	}
 
-	protected void updateEnabled()
-	{
-		IStructuredSelection stylesheetSelection = (IStructuredSelection) transformsBlock.getStylesheetViewer().getSelection();
+	protected void updateEnabled() {
+		IStructuredSelection stylesheetSelection = (IStructuredSelection) transformsBlock
+				.getStylesheetViewer().getSelection();
 		boolean enabled = stylesheetSelection.size() == 1;
 		parametersViewer.getViewer().getTable().setEnabled(enabled);
 		addParameterButton.setEnabled(enabled);
-		IStructuredSelection parametersSelection = (IStructuredSelection) parametersViewer.getViewer().getSelection();
-		removeParameterButton.setEnabled(enabled && !parametersSelection.isEmpty());
+		IStructuredSelection parametersSelection = (IStructuredSelection) parametersViewer
+				.getViewer().getSelection();
+		removeParameterButton.setEnabled(enabled
+				&& !parametersSelection.isEmpty());
 	}
 
-	public void createControl(Composite parent)
-	{
+	public void createControl(Composite parent) {
 		Font font = parent.getFont();
 
 		Group group = new Group(parent, SWT.NONE);
@@ -110,56 +108,54 @@
 		TableColumn column1 = new TableColumn(fTable, SWT.NONE);
 		column1.setWidth(150);
 		column1.setResizable(true);
-		column1.setText(Messages.ParametersBlock_0); 
+		column1.setText(Messages.ParametersBlock_0);
 
 		TableColumn column3 = new TableColumn(fTable, SWT.NONE);
 		column3.setWidth(250);
 		column3.setResizable(true);
-		column3.setText(Messages.ParametersBlock_2); 
+		column3.setText(Messages.ParametersBlock_2);
 
 		parametersViewer = new ParameterViewer(fTable);
-		parametersViewer.getViewer().setLabelProvider(new ParametersLabelProvider());
-		parametersViewer.getViewer().setContentProvider(new ParametersContentProvider());
-		parametersViewer.addParametersChangedListener(new IParametersChangedListener()
-		{
+		parametersViewer.getViewer().setLabelProvider(
+				new ParametersLabelProvider());
+		parametersViewer.getViewer().setContentProvider(
+				new ParametersContentProvider());
+		parametersViewer
+				.addParametersChangedListener(new IParametersChangedListener() {
 
-			public void parametersChanged(ParameterViewer viewer)
-			{
-				updateLaunchConfigurationDialog();
-			}
-		});
-		parametersViewer.getViewer().getTable().addKeyListener(new KeyAdapter() {
-			@Override
-			public void keyPressed(KeyEvent event) {
-				if (event.character == SWT.DEL && event.stateMask == 0) {
-					RemoveParameterAction ra = new RemoveParameterAction(parametersViewer);
-					ra.run();
-					updateLaunchConfigurationDialog();
-				}
-			}
-		});
+					public void parametersChanged(ParameterViewer viewer) {
+						updateLaunchConfigurationDialog();
+					}
+				});
+		parametersViewer.getViewer().getTable().addKeyListener(
+				new KeyAdapter() {
+					@Override
+					public void keyPressed(KeyEvent event) {
+						if (event.character == SWT.DEL && event.stateMask == 0) {
+							RemoveParameterAction ra = new RemoveParameterAction(
+									parametersViewer);
+							ra.run();
+							updateLaunchConfigurationDialog();
+						}
+					}
+				});
 
-		parametersViewer.getViewer().setColumnProperties(new String[]
-		{ "name", "value" }); //$NON-NLS-1$ //$NON-NLS-2$
+		parametersViewer.getViewer().setColumnProperties(
+				new String[] { "name", "value" }); //$NON-NLS-1$ //$NON-NLS-2$
 		TextCellEditor textEditor = new TextCellEditor(fTable);
-		CellEditor[] editors = new CellEditor[]
-		{ null, textEditor };
+		CellEditor[] editors = new CellEditor[] { null, textEditor };
 		parametersViewer.getViewer().setCellEditors(editors);
-		parametersViewer.getViewer().setCellModifier(new ICellModifier()
-		{
-			public boolean canModify(Object element, String property)
-			{
+		parametersViewer.getViewer().setCellModifier(new ICellModifier() {
+			public boolean canModify(Object element, String property) {
 				return "value".equals(property); //$NON-NLS-1$ 
 			}
 
-			public Object getValue(Object element, String property)
-			{
+			public Object getValue(Object element, String property) {
 				LaunchAttribute att = (LaunchAttribute) element;
 				return att.value == null ? "" : att.value; //$NON-NLS-1$
 			}
 
-			public void modify(Object element, String property, Object value)
-			{
+			public void modify(Object element, String property, Object value) {
 				Item item = (Item) element;
 				LaunchAttribute att = (LaunchAttribute) item.getData();
 				att.value = (String) value;
@@ -173,70 +169,67 @@
 		parameterButtonCompLayout.marginHeight = 0;
 		parameterButtonCompLayout.marginWidth = 0;
 		parameterButtonComp.setLayout(parameterButtonCompLayout);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
+		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING
+				| GridData.HORIZONTAL_ALIGN_FILL);
 		gd.horizontalSpan = 2;
 		parameterButtonComp.setLayoutData(gd);
 		parameterButtonComp.setFont(font);
 
-		addParameterButton = createButton(parameterButtonComp, new AddParameterAction(parametersViewer));
-		removeParameterButton = createButton(parameterButtonComp, new RemoveParameterAction(parametersViewer));
+		addParameterButton = createButton(parameterButtonComp,
+				new AddParameterAction(parametersViewer));
+		removeParameterButton = createButton(parameterButtonComp,
+				new RemoveParameterAction(parametersViewer));
 
-		transformsBlock.getStylesheetViewer().addSelectionChangedListener(selectionListener);
+		transformsBlock.getStylesheetViewer().addSelectionChangedListener(
+				selectionListener);
 
 		restoreColumnSettings();
 	}
 
-	protected Button createButton(Composite pathButtonComp, AbstractParameterAction action)
-	{
+	protected Button createButton(Composite pathButtonComp,
+			AbstractParameterAction action) {
 		Button button = createPushButton(pathButtonComp, action.getText(), null);
 		action.setButton(button);
 		return button;
 	}
 
 	@Override
-	protected Table getTable()
-	{
+	protected Table getTable() {
 		return fTable;
 	}
 
 	@Override
-	protected IDialogSettings getDialogSettings()
-	{
+	protected IDialogSettings getDialogSettings() {
 		return XSLDebugUIPlugin.getDefault().getDialogSettings();
 	}
 
 	@Override
-	protected String getQualifier()
-	{
+	protected String getQualifier() {
 		return XSLDebugUIConstants.MAIN_PARAMATERS_BLOCK;
 	}
 
-	public String getName()
-	{
-		return Messages.ParametersBlock_9; 
+	public String getName() {
+		return Messages.ParametersBlock_9;
 	}
 
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
+	public void initializeFrom(ILaunchConfiguration configuration) {
 		// handled by the Tab
 		updateEnabled();
 	}
 
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		// handled by the Tab
 	}
 
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
 		// handled by the Tab
 	}
 
 	@Override
-	public void dispose()
-	{
+	public void dispose() {
 		if (transformsBlock.getStylesheetViewer() != null)
-			transformsBlock.getStylesheetViewer().removeSelectionChangedListener(selectionListener);
+			transformsBlock.getStylesheetViewer()
+					.removeSelectionChangedListener(selectionListener);
 		super.dispose();
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersContentProvider.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersContentProvider.java
index 2298719..6f2a322 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersContentProvider.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersContentProvider.java
@@ -21,47 +21,38 @@
 import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
 import org.eclipse.wst.xsl.launching.config.LaunchTransform;
 
-public class ParametersContentProvider implements IStructuredContentProvider
-{
+public class ParametersContentProvider implements IStructuredContentProvider {
 	private LaunchTransform stylesheetEntry;
 	private TableViewer parameterViewer;
 
-	public Object[] getElements(Object inputElement)
-	{
+	public Object[] getElements(Object inputElement) {
 		if (stylesheetEntry == null)
 			return new Object[0];
 		return stylesheetEntry.getParameters().toArray();
 	}
 
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-	{
+	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 		stylesheetEntry = (LaunchTransform) newInput;
 		parameterViewer = (TableViewer) viewer;
 	}
 
-	public void dispose()
-	{
+	public void dispose() {
 	}
 
-	public LaunchAttribute[] getParameters()
-	{
+	public LaunchAttribute[] getParameters() {
 		return stylesheetEntry.getParameters().toArray(new LaunchAttribute[0]);
 	}
 
-	public void removeParameters(LaunchAttribute[] entries)
-	{
-		for (LaunchAttribute parameter : entries)
-		{
+	public void removeParameters(LaunchAttribute[] entries) {
+		for (LaunchAttribute parameter : entries) {
 			stylesheetEntry.getParameters().remove(parameter);
 		}
 		TableItem[] items = parameterViewer.getTable().getItems();
 		List<LaunchAttribute> entryList = Arrays.asList(entries);
 		Object sel = null;
-		for (int i = items.length - 1; i >= 0; i--)
-		{
+		for (int i = items.length - 1; i >= 0; i--) {
 			TableItem item = items[i];
-			if (!entryList.contains(item.getData()))
-			{
+			if (!entryList.contains(item.getData())) {
 				sel = item.getData();
 				break;
 			}
@@ -72,8 +63,7 @@
 			parameterViewer.setSelection(new StructuredSelection(sel), true);
 	}
 
-	public void addParameter(LaunchAttribute parameter)
-	{
+	public void addParameter(LaunchAttribute parameter) {
 		stylesheetEntry.getParameters().add(parameter);
 		parameterViewer.add(parameter);
 		parameterViewer.setSelection(new StructuredSelection(parameter), true);
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersLabelProvider.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersLabelProvider.java
index e5da79f..0a781e6 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersLabelProvider.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersLabelProvider.java
@@ -15,40 +15,32 @@
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
 
-public class ParametersLabelProvider implements ITableLabelProvider
-{
-	public String getColumnText(Object element, int columnIndex)
-	{
+public class ParametersLabelProvider implements ITableLabelProvider {
+	public String getColumnText(Object element, int columnIndex) {
 		LaunchAttribute p = (LaunchAttribute) element;
-		switch (columnIndex)
-		{
-			case 0:
-				return p.uri;
-			case 1:
-				return p.value;
+		switch (columnIndex) {
+		case 0:
+			return p.uri;
+		case 1:
+			return p.value;
 		}
 		return "!"; //$NON-NLS-1$
 	}
 
-	public Image getColumnImage(Object element, int columnIndex)
-	{
+	public Image getColumnImage(Object element, int columnIndex) {
 		return null;
 	}
 
-	public void addListener(ILabelProviderListener listener)
-	{
+	public void addListener(ILabelProviderListener listener) {
 	}
 
-	public void dispose()
-	{
+	public void dispose() {
 	}
 
-	public boolean isLabelProperty(Object element, String property)
-	{
+	public boolean isLabelProperty(Object element, String property) {
 		return false;
 	}
 
-	public void removeListener(ILabelProviderListener listener)
-	{
+	public void removeListener(ILabelProviderListener listener) {
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetContentProvider.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetContentProvider.java
index 17c34ad..fd8c467 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetContentProvider.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetContentProvider.java
@@ -20,40 +20,33 @@
 import org.eclipse.wst.xsl.launching.config.LaunchPipeline;
 import org.eclipse.wst.xsl.launching.config.LaunchTransform;
 
-public class StylesheetContentProvider implements IStructuredContentProvider
-{
+public class StylesheetContentProvider implements IStructuredContentProvider {
 	private TableViewer tableViewer;
 	private LaunchPipeline pipeline;
 
-	public StylesheetContentProvider()
-	{
+	public StylesheetContentProvider() {
 	}
 
-	public Object[] getElements(Object inputElement)
-	{
+	public Object[] getElements(Object inputElement) {
 		return pipeline.getTransformDefs().toArray(new LaunchTransform[0]);
 	}
 
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-	{
+	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 		tableViewer = (TableViewer) viewer;
 		pipeline = (LaunchPipeline) newInput;
 	}
 
-	public void dispose()
-	{
+	public void dispose() {
 	}
 
-	public void setEntries(LaunchTransform[] transforms)
-	{
-		pipeline.setTransformDefs(new ArrayList<LaunchTransform>(Arrays.asList(transforms)));
+	public void setEntries(LaunchTransform[] transforms) {
+		pipeline.setTransformDefs(new ArrayList<LaunchTransform>(Arrays
+				.asList(transforms)));
 		tableViewer.refresh();
 	}
 
-	public void addEntries(LaunchTransform[] res, Object beforeElement)
-	{
-		for (LaunchTransform transform : res)
-		{
+	public void addEntries(LaunchTransform[] res, Object beforeElement) {
+		for (LaunchTransform transform : res) {
 			pipeline.addTransformDef(transform);
 		}
 		tableViewer.add(res);
@@ -61,10 +54,8 @@
 		tableViewer.setSelection(new StructuredSelection(res[0]), true);
 	}
 
-	public void removeEntries(LaunchTransform[] res)
-	{
-		for (LaunchTransform transform : res)
-		{
+	public void removeEntries(LaunchTransform[] res) {
+		for (LaunchTransform transform : res) {
 			pipeline.removeTransformDef(transform);
 		}
 		tableViewer.refresh();
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetLabelProvider.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetLabelProvider.java
index 40e3b14..1f01746 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetLabelProvider.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetLabelProvider.java
@@ -21,63 +21,53 @@
 import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
 import org.eclipse.wst.xsl.launching.config.LaunchTransform;
 
-public class StylesheetLabelProvider extends LabelProvider
-{
-	private Image image = XSLDebugUIPlugin.getImageDescriptor("icons/xslt_launch.gif").createImage();
-	
+public class StylesheetLabelProvider extends LabelProvider {
+	private Image image = XSLDebugUIPlugin.getImageDescriptor(
+			"icons/xslt_launch.gif").createImage(); //$NON-NLS-1$
+
 	@Override
-	public Image getImage(Object element)
-	{
+	public Image getImage(Object element) {
 		return image;
 	}
 
 	@Override
-	public String getText(Object element)
-	{
+	public String getText(Object element) {
 		LaunchTransform lt = (LaunchTransform) element;
 		int index = lt.getPipeline().getTransformDefs().indexOf(lt);
 
 		IPath path;
-		try
-		{
+		try {
 			path = lt.getPath();
-		}
-		catch (CoreException e)
-		{
-			return MessageFormat.format(Messages.StylesheetEntryLabelProvider_Invalid_path, new Object[]
-			{ "null" }); //$NON-NLS-1$
+		} catch (CoreException e) {
+			return MessageFormat.format(
+					Messages.StylesheetEntryLabelProvider_Invalid_path,
+					new Object[] { "null" }); //$NON-NLS-1$
 		}
 
-		if (path == null)
-		{
-			return MessageFormat.format(Messages.StylesheetEntryLabelProvider_Invalid_path, new Object[]
-			{ "null" }); //$NON-NLS-1$
-		}
-		else if (!path.isAbsolute() || !path.isValidPath(path.toString()))
-		{
-			return MessageFormat.format(Messages.StylesheetEntryLabelProvider_Invalid_path, new Object[]
-			{ path.toString() });
+		if (path == null) {
+			return MessageFormat.format(
+					Messages.StylesheetEntryLabelProvider_Invalid_path,
+					new Object[] { "null" }); //$NON-NLS-1$
+		} else if (!path.isAbsolute() || !path.isValidPath(path.toString())) {
+			return MessageFormat.format(
+					Messages.StylesheetEntryLabelProvider_Invalid_path,
+					new Object[] { path.toString() });
 		}
 
 		String[] segments = path.segments();
 		StringBuffer displayPath = new StringBuffer();
-		if (segments.length > 0)
-		{
+		if (segments.length > 0) {
 			displayPath.append(segments[segments.length - 1]);
 			displayPath.append(" - "); //$NON-NLS-1$
 			String device = path.getDevice();
-			if (device != null)
-			{
+			if (device != null) {
 				displayPath.append(device);
 			}
 			displayPath.append(File.separator);
-			for (int i = 0; i < segments.length - 1; i++)
-			{
+			for (int i = 0; i < segments.length - 1; i++) {
 				displayPath.append(segments[i]).append(File.separator);
 			}
-		}
-		else
-		{
+		} else {
 			displayPath.append(path.toString());
 		}
 		return (index + 1) + ") " + displayPath.toString(); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetViewer.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetViewer.java
index 1d7b8a5..934b3ed 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetViewer.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetViewer.java
@@ -18,68 +18,60 @@
 import org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction;
 import org.eclipse.wst.xsl.launching.config.LaunchTransform;
 
-public class StylesheetViewer
-{
+public class StylesheetViewer {
 	private TableViewer viewer;
 	private final ListenerList listenerList = new ListenerList();
 
-	public StylesheetViewer(Composite parent)
-	{
+	public StylesheetViewer(Composite parent) {
 		viewer = new TableViewer(parent);
 	}
-	
-	public TableViewer getViewer(){
+
+	public TableViewer getViewer() {
 		return viewer;
 	}
 
-	private StylesheetContentProvider getStylesheetContentProvider()
-	{
+	private StylesheetContentProvider getStylesheetContentProvider() {
 		return (StylesheetContentProvider) viewer.getContentProvider();
 	}
 
-	public void setEntries(LaunchTransform[] transforms)
-	{
+	public void setEntries(LaunchTransform[] transforms) {
 		getStylesheetContentProvider().setEntries(transforms);
 		notifyChanged();
 	}
 
-	public LaunchTransform[] getEntries()
-	{
-		return (LaunchTransform[]) getStylesheetContentProvider().getElements(null);
+	public LaunchTransform[] getEntries() {
+		return (LaunchTransform[]) getStylesheetContentProvider().getElements(
+				null);
 	}
 
-	public Shell getShell()
-	{
+	public Shell getShell() {
 		return viewer.getControl().getShell();
 	}
 
-	public boolean isEnabled()
-	{
+	public boolean isEnabled() {
 		return true;
 	}
 
-	public boolean updateSelection(int actionType, IStructuredSelection selection)
-	{
-		switch (actionType)
-		{
-			case AbstractStylesheetAction.ADD:
-				return true;
-			case AbstractStylesheetAction.REMOVE:
-			case AbstractStylesheetAction.MOVE:
-			default:
-				break;
+	public boolean updateSelection(int actionType,
+			IStructuredSelection selection) {
+		switch (actionType) {
+		case AbstractStylesheetAction.ADD:
+			return true;
+		case AbstractStylesheetAction.REMOVE:
+		case AbstractStylesheetAction.MOVE:
+		default:
+			break;
 		}
 		return selection.size() > 0;
 	}
 
-	public IStructuredSelection getSelectedEntries()
-	{
-		IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
+	public IStructuredSelection getSelectedEntries() {
+		IStructuredSelection selection = (IStructuredSelection) viewer
+				.getSelection();
 		return selection;
 	}
 
-	public void addTransforms(LaunchTransform[] res)
-	{
+	public void addTransforms(LaunchTransform[] res) {
 		IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
 		Object beforeElement = sel.getFirstElement();
 		if (getEntries().length > 1 && beforeElement == null)
@@ -88,27 +80,24 @@
 		notifyChanged();
 	}
 
-	public void removeEntries(LaunchTransform[] entries)
-	{
+	public void removeEntries(LaunchTransform[] entries) {
 		getStylesheetContentProvider().removeEntries(entries);
 		notifyChanged();
 	}
 
-	public void addEntriesChangedListener(IStylesheetEntriesChangedListener listener)
-	{
+	public void addEntriesChangedListener(
+			IStylesheetEntriesChangedListener listener) {
 		listenerList.add(listener);
 	}
 
-	public void removeEntriesChangedListener(IStylesheetEntriesChangedListener listener)
-	{
+	public void removeEntriesChangedListener(
+			IStylesheetEntriesChangedListener listener) {
 		listenerList.remove(listener);
 	}
 
-	private void notifyChanged()
-	{
+	private void notifyChanged() {
 		Object[] listeners = listenerList.getListeners();
-		for (Object element : listeners)
-		{
+		for (Object element : listeners) {
 			((IStylesheetEntriesChangedListener) element).entriesChanged(this);
 		}
 	}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/TransformsBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/TransformsBlock.java
index 19ed3c0..552576f 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/TransformsBlock.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/TransformsBlock.java
@@ -38,19 +38,17 @@
 import org.eclipse.wst.xsl.internal.debug.ui.actions.RemoveAction;
 import org.eclipse.wst.xsl.launching.config.LaunchPipeline;
 
-public class TransformsBlock extends AbstractTableBlock implements IStylesheetEntriesChangedListener
-{
-	protected static final String DIALOG_SETTINGS_PREFIX = "TransformsBlock"; 
+public class TransformsBlock extends AbstractTableBlock implements
+		IStylesheetEntriesChangedListener {
+	protected static final String DIALOG_SETTINGS_PREFIX = "TransformsBlock"; //$NON-NLS-1$
 	private StylesheetViewer stylesheetViewer;
 	private LaunchPipeline pipeline;
 
-	public TransformsBlock()
-	{
+	public TransformsBlock() {
 		super();
 	}
 
-	public void createControl(Composite parent)
-	{
+	public void createControl(Composite parent) {
 		Font font = parent.getFont();
 
 		Group group = new Group(parent, SWT.NONE);
@@ -69,18 +67,21 @@
 		stylesheetViewer.getViewer().getTable().setLayoutData(gd);
 		stylesheetViewer.addEntriesChangedListener(this);
 		stylesheetViewer.getViewer().getControl().setFont(font);
-		stylesheetViewer.getViewer().setLabelProvider(new StylesheetLabelProvider());
-		stylesheetViewer.getViewer().setContentProvider(new StylesheetContentProvider());
-		stylesheetViewer.getViewer().getTable().addKeyListener(new KeyAdapter() {
-			@Override
-			public void keyPressed(KeyEvent event) {
-				if (event.character == SWT.DEL && event.stateMask == 0) {
-					RemoveAction ra = new RemoveAction(stylesheetViewer);
-					ra.run();
-					updateLaunchConfigurationDialog();
-				}
-			}
-		});
+		stylesheetViewer.getViewer().setLabelProvider(
+				new StylesheetLabelProvider());
+		stylesheetViewer.getViewer().setContentProvider(
+				new StylesheetContentProvider());
+		stylesheetViewer.getViewer().getTable().addKeyListener(
+				new KeyAdapter() {
+					@Override
+					public void keyPressed(KeyEvent event) {
+						if (event.character == SWT.DEL && event.stateMask == 0) {
+							RemoveAction ra = new RemoveAction(stylesheetViewer);
+							ra.run();
+							updateLaunchConfigurationDialog();
+						}
+					}
+				});
 
 		Composite upDownButtonComp = new Composite(group, SWT.NONE);
 		GridLayout upDownButtonLayout = new GridLayout();
@@ -91,33 +92,37 @@
 		upDownButtonComp.setLayoutData(gd);
 		upDownButtonComp.setFont(font);
 
-		createArrowButton(upDownButtonComp, new MoveUpAction(stylesheetViewer), SWT.UP);
+		createArrowButton(upDownButtonComp, new MoveUpAction(stylesheetViewer),
+				SWT.UP);
 		Label spacer = new Label(upDownButtonComp, SWT.NONE);
 		gd = new GridData(SWT.NONE, SWT.FILL, false, true);
 		spacer.setLayoutData(gd);
-		createArrowButton(upDownButtonComp, new MoveDownAction(stylesheetViewer), SWT.DOWN);
+		createArrowButton(upDownButtonComp,
+				new MoveDownAction(stylesheetViewer), SWT.DOWN);
 
 		Composite pathButtonComp = new Composite(group, SWT.NONE);
 		GridLayout pathButtonLayout = new GridLayout();
 		pathButtonLayout.marginHeight = 0;
 		pathButtonLayout.marginWidth = 0;
 		pathButtonComp.setLayout(pathButtonLayout);
-		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL);
+		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING
+				| GridData.HORIZONTAL_ALIGN_FILL);
 		pathButtonComp.setLayoutData(gd);
 		pathButtonComp.setFont(font);
 
-		createButton(pathButtonComp, new AddWorkspaceFileAction(stylesheetViewer));
-		createButton(pathButtonComp, new AddExternalFileAction(stylesheetViewer, DIALOG_SETTINGS_PREFIX));
+		createButton(pathButtonComp, new AddWorkspaceFileAction(
+				stylesheetViewer));
+		createButton(pathButtonComp, new AddExternalFileAction(
+				stylesheetViewer, DIALOG_SETTINGS_PREFIX));
 		createButton(pathButtonComp, new RemoveAction(stylesheetViewer));
 	}
 
-	public Viewer getStylesheetViewer()
-	{
+	public Viewer getStylesheetViewer() {
 		return stylesheetViewer == null ? null : stylesheetViewer.getViewer();
 	}
 
-	protected Button createArrowButton(Composite pathButtonComp, AbstractStylesheetAction action, int updown)
-	{
+	protected Button createArrowButton(Composite pathButtonComp,
+			AbstractStylesheetAction action, int updown) {
 		Button b = new Button(pathButtonComp, SWT.ARROW | updown);
 		GridData gd = new GridData();
 		b.setLayoutData(gd);
@@ -125,51 +130,45 @@
 		return b;
 	}
 
-	protected Button createButton(Composite pathButtonComp, AbstractStylesheetAction action)
-	{
+	protected Button createButton(Composite pathButtonComp,
+			AbstractStylesheetAction action) {
 		Button button = createPushButton(pathButtonComp, action.getText(), null);
 		action.setButton(button);
 		return button;
 	}
 
-	public String getName()
-	{
+	public String getName() {
 		return Messages.TransformsBlock_Name;
 	}
 
-	public void setPipeline(LaunchPipeline pipeline)
-	{
+	public void setPipeline(LaunchPipeline pipeline) {
 		this.pipeline = pipeline;
 	}
 
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
+	public void initializeFrom(ILaunchConfiguration configuration) {
 		stylesheetViewer.getViewer().setInput(pipeline);
-		if (pipeline.getTransformDefs().size() > 0)
-		{
-			stylesheetViewer.getViewer().setSelection(new StructuredSelection(pipeline.getTransformDefs().get(0)));
+		if (pipeline.getTransformDefs().size() > 0) {
+			stylesheetViewer.getViewer()
+					.setSelection(
+							new StructuredSelection(pipeline.getTransformDefs()
+									.get(0)));
 		}
 	}
 
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 	}
 
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
 	}
 
-	public void entriesChanged(StylesheetViewer viewer)
-	{
+	public void entriesChanged(StylesheetViewer viewer) {
 		setDirty(true);
 		updateLaunchConfigurationDialog();
 	}
 
 	@Override
-	protected void setSortColumn(int column)
-	{
-		switch (column)
-		{
+	protected void setSortColumn(int column) {
+		switch (column) {
 		// case 1:
 		// sortByName();
 		// break;
@@ -181,26 +180,23 @@
 	}
 
 	@Override
-	protected Table getTable()
-	{
-		return stylesheetViewer == null ? null : stylesheetViewer.getViewer().getTable();
+	protected Table getTable() {
+		return stylesheetViewer == null ? null : stylesheetViewer.getViewer()
+				.getTable();
 	}
 
 	@Override
-	protected IDialogSettings getDialogSettings()
-	{
+	protected IDialogSettings getDialogSettings() {
 		return XSLDebugUIPlugin.getDefault().getDialogSettings();
 	}
 
 	@Override
-	protected String getQualifier()
-	{
+	protected String getQualifier() {
 		return XSLDebugUIConstants.MAIN_TRANSFORMS_BLOCK;
 	}
 
 	@Override
-	public void dispose()
-	{
+	public void dispose() {
 		if (stylesheetViewer != null)
 			stylesheetViewer.removeEntriesChangedListener(this);
 		super.dispose();
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/XSLMainTab.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/XSLMainTab.java
index 5c353d4..a9db14f 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/XSLMainTab.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/XSLMainTab.java
@@ -40,8 +40,7 @@
 import org.eclipse.wst.xsl.launching.config.LaunchPipeline;
 import org.eclipse.wst.xsl.launching.config.LaunchTransform;
 
-public class XSLMainTab extends XSLLaunchConfigurationTab
-{
+public class XSLMainTab extends XSLLaunchConfigurationTab {
 	private final InputFileBlock inputFileBlock;
 	private final TransformsBlock transformsBlock;
 	private final ParametersBlock parametersBlock;
@@ -50,8 +49,7 @@
 	// private RenderBlock renderBlock;
 	// private OutputBlock outputBlock;
 
-	public XSLMainTab()
-	{
+	public XSLMainTab() {
 		IResource[] resourceContext = getContext();
 		IFile inputFile = getXMLInput(resourceContext);
 
@@ -61,13 +59,12 @@
 		// renderBlock = new RenderBlock();
 		// outputBlock = new OutputBlock();
 
-		setBlocks(new ILaunchConfigurationTab[]
-		{ inputFileBlock, transformsBlock, parametersBlock }); // ,renderBlock,outputBlock});
+		setBlocks(new ILaunchConfigurationTab[] { inputFileBlock,
+				transformsBlock, parametersBlock }); // ,renderBlock,outputBlock});
 	}
 
 	@Override
-	public void createControl(Composite parent)
-	{
+	public void createControl(Composite parent) {
 		super.createControl(parent);
 		Composite comp = (Composite) getControl();
 		GridLayout layout = new GridLayout(1, false);
@@ -81,14 +78,13 @@
 	}
 
 	@Override
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
 		LaunchPipeline lp = new LaunchPipeline();
 		IResource[] resourceContext = getContext();
 		IFile[] stylesheets = getXSLStylesheets(resourceContext);
-		for (IFile file : stylesheets)
-		{
-			LaunchTransform lt = new LaunchTransform(file.getFullPath().toPortableString(), LaunchTransform.RESOURCE_TYPE);
+		for (IFile file : stylesheets) {
+			LaunchTransform lt = new LaunchTransform(file.getFullPath()
+					.toPortableString(), LaunchTransform.RESOURCE_TYPE);
 			lp.addTransformDef(lt);
 		}
 		savePipeline(configuration, lp);
@@ -96,24 +92,20 @@
 	}
 
 	@Override
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
+	public void initializeFrom(ILaunchConfiguration configuration) {
 		pipeline = null;
-		try
-		{
-			String s = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PIPELINE, (String) null);
-			if (s != null && s.length() > 0)
-			{
-				ByteArrayInputStream inputStream = new ByteArrayInputStream(s.getBytes());
+		try {
+			String s = configuration.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_PIPELINE,
+					(String) null);
+			if (s != null && s.length() > 0) {
+				ByteArrayInputStream inputStream = new ByteArrayInputStream(s
+						.getBytes());
 				pipeline = LaunchPipeline.fromXML(inputStream);
-			}
-			else
-			{
+			} else {
 				pipeline = new LaunchPipeline();
 			}
-		}
-		catch (CoreException e)
-		{
+		} catch (CoreException e) {
 			XSLDebugUIPlugin.log(e);
 		}
 		transformsBlock.setPipeline(pipeline);
@@ -121,31 +113,27 @@
 	}
 
 	@Override
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		super.performApply(configuration);
 		savePipeline(configuration, pipeline);
 	}
 
-	private void savePipeline(ILaunchConfigurationWorkingCopy configuration, LaunchPipeline pipeline)
-	{
-		try
-		{
-			configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_PIPELINE, pipeline.toXML());
-		}
-		catch (CoreException e)
-		{
+	private void savePipeline(ILaunchConfigurationWorkingCopy configuration,
+			LaunchPipeline pipeline) {
+		try {
+			configuration.setAttribute(
+					XSLLaunchConfigurationConstants.ATTR_PIPELINE, pipeline
+							.toXML());
+		} catch (CoreException e) {
 			XSLDebugUIPlugin.log(e);
 		}
 	}
 
-	public String getName()
-	{
+	public String getName() {
 		return Messages.XSLMainTab_TabName;
 	}
 
-	private static IResource[] getContext()
-	{
+	private static IResource[] getContext() {
 
 		// IProject[] projects =
 		// ResourcesPlugin.getWorkspace().getRoot().getProjects();
@@ -165,15 +153,13 @@
 
 		IWorkbenchPage page = XSLDebugUIPlugin.getActivePage();
 		List<Object> resources = new ArrayList<Object>();
-		if (page != null)
-		{
+		if (page != null) {
 			// use selections to find the project
 			ISelection selection = page.getSelection();
-			if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
-			{
+			if (selection != null && !selection.isEmpty()
+					&& selection instanceof IStructuredSelection) {
 				IStructuredSelection ss = (IStructuredSelection) selection;
-				for (Iterator<?> iter = ss.iterator(); iter.hasNext();)
-				{
+				for (Iterator<?> iter = ss.iterator(); iter.hasNext();) {
 					Object element = iter.next();
 					if (element instanceof IResource)
 						resources.add(element);
@@ -182,42 +168,39 @@
 			}
 			// use current editor to find the project
 			IEditorPart part = page.getActiveEditor();
-			if (part != null)
-			{
+			if (part != null) {
 				IEditorInput input = part.getEditorInput();
 				IFile file = (IFile) input.getAdapter(IFile.class);
 				if (file != null)
-					return new IResource[]
-					{ file };
+					return new IResource[] { file };
 			}
 		}
 		return new IResource[0];
 	}
 
-	private IFile getXMLInput(IResource[] context)
-	{
-		for (IResource resource : context)
-		{
-			if (resource instanceof IFile && ("xml".equalsIgnoreCase(resource.getFileExtension()) || "xhtml".equalsIgnoreCase(resource.getFileExtension()))) //$NON-NLS-1$ //$NON-NLS-2$
+	private IFile getXMLInput(IResource[] context) {
+		for (IResource resource : context) {
+			if (resource instanceof IFile
+					&& ("xml".equalsIgnoreCase(resource.getFileExtension()) || "xhtml".equalsIgnoreCase(resource.getFileExtension()))) //$NON-NLS-1$ //$NON-NLS-2$
 				return (IFile) resource;
 		}
 		return null;
 	}
 
-	private IFile[] getXSLStylesheets(IResource[] context)
-	{
+	private IFile[] getXSLStylesheets(IResource[] context) {
 		List<IResource> stylesheets = new ArrayList<IResource>();
-		for (IResource resource : context)
-		{
-			if (resource instanceof IFile && XSLCore.isXSLFile((IFile)resource)) 
+		for (IResource resource : context) {
+			if (resource instanceof IFile
+					&& XSLCore.isXSLFile((IFile) resource))
 				stylesheets.add(resource);
 		}
 		return stylesheets.toArray(new IFile[0]);
 
 	}
-	
+
 	@Override
 	public Image getImage() {
-		return XSLPluginImageHelper.getInstance().getImage(XSLDebugPluginImages.IMG_MAIN_TAB);
+		return XSLPluginImageHelper.getInstance().getImage(
+				XSLDebugPluginImages.IMG_MAIN_TAB);
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputFileBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputFileBlock.java
index f938688..ff99b65 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputFileBlock.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputFileBlock.java
@@ -33,8 +33,7 @@
 import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
 import org.eclipse.wst.xsl.launching.XSLTRuntime;
 
-public class OutputFileBlock extends ResourceSelectionBlock
-{
+public class OutputFileBlock extends ResourceSelectionBlock {
 	private Button openFileCheckButton;
 	private Button formatFileCheckButton;
 	private String inputFilename;
@@ -42,48 +41,44 @@
 	private String defaultOutputFileName;
 	private String outputFileName;
 
-	public OutputFileBlock()
-	{
+	public OutputFileBlock() {
 		super(IResource.FOLDER, true, true, false);
 	}
 
 	@Override
-	protected String getMessage(int type)
-	{
-		switch (type)
-		{
-			case ERROR_DIRECTORY_NOT_SPECIFIED:
-				return Messages.OutputFOFileBlock_DIRECTORY_NOT_SPECIFIED;
-			case ERROR_DIRECTORY_DOES_NOT_EXIST:
-				return Messages.OutputFOFileBlock_DIRECTORY_DOES_NOT_EXIST;
-			case GROUP_NAME:
-				return getName();
-			case USE_DEFAULT_RADIO:
-				return Messages.OutputFileBlock_0;
-			case USE_OTHER_RADIO:
-				return Messages.OutputFOFileBlock_OTHER_RADIO;
-			case DIRECTORY_DIALOG_MESSAGE:
-				return Messages.OutputFOFileBlock_DIALOG_MESSAGE;
-			case WORKSPACE_DIALOG_MESSAGE:
-				return Messages.OutputFOFileBlock_WORKSPACE_DIALOG_MESSAGE;
-			case VARIABLES_BUTTON:
-				return Messages.OutputFOFileBlock_VARIABLES_BUTTON;
-			case FILE_SYSTEM_BUTTON:
-				return Messages.OutputFOFileBlock_FILE_SYSTEM_BUTTON;
-			case WORKSPACE_BUTTON:
-				return Messages.OutputFOFileBlock_WORKSPACE_BUTTON;
-			case WORKSPACE_DIALOG_TITLE:
-				return Messages.OutputFOFileBlock_WORKSPACE_DIALOG_TITLE;
+	protected String getMessage(int type) {
+		switch (type) {
+		case ERROR_DIRECTORY_NOT_SPECIFIED:
+			return Messages.OutputFOFileBlock_DIRECTORY_NOT_SPECIFIED;
+		case ERROR_DIRECTORY_DOES_NOT_EXIST:
+			return Messages.OutputFOFileBlock_DIRECTORY_DOES_NOT_EXIST;
+		case GROUP_NAME:
+			return getName();
+		case USE_DEFAULT_RADIO:
+			return Messages.OutputFileBlock_0;
+		case USE_OTHER_RADIO:
+			return Messages.OutputFOFileBlock_OTHER_RADIO;
+		case DIRECTORY_DIALOG_MESSAGE:
+			return Messages.OutputFOFileBlock_DIALOG_MESSAGE;
+		case WORKSPACE_DIALOG_MESSAGE:
+			return Messages.OutputFOFileBlock_WORKSPACE_DIALOG_MESSAGE;
+		case VARIABLES_BUTTON:
+			return Messages.OutputFOFileBlock_VARIABLES_BUTTON;
+		case FILE_SYSTEM_BUTTON:
+			return Messages.OutputFOFileBlock_FILE_SYSTEM_BUTTON;
+		case WORKSPACE_BUTTON:
+			return Messages.OutputFOFileBlock_WORKSPACE_BUTTON;
+		case WORKSPACE_DIALOG_TITLE:
+			return Messages.OutputFOFileBlock_WORKSPACE_DIALOG_TITLE;
 		}
 		return "" + type; //$NON-NLS-1$
 	}
 
 	@Override
-	protected void createCheckboxAndText(Composite parent)
-	{
-		if (showDefault)
-		{
-			useDefaultCheckButton = createCheckButton(parent, getMessage(USE_DEFAULT_RADIO));
+	protected void createCheckboxAndText(Composite parent) {
+		if (showDefault) {
+			useDefaultCheckButton = createCheckButton(parent,
+					getMessage(USE_DEFAULT_RADIO));
 			GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
 			gd.horizontalSpan = 2;
 			useDefaultCheckButton.setLayoutData(gd);
@@ -104,7 +99,7 @@
 		specificFileComp.setLayoutData(gd);
 
 		Label label = new Label(specificFileComp, SWT.NONE);
-		label.setText("Filename");
+		label.setText(Messages.OutputFileBlock_1);
 
 		fileNameText = new Text(specificFileComp, SWT.SINGLE | SWT.BORDER);
 		gd = new GridData(GridData.FILL_HORIZONTAL);
@@ -113,8 +108,7 @@
 		fileNameText.setFont(parent.getFont());
 		fileNameText.addModifyListener(widgetListener);
 
-		if (showDefault)
-		{
+		if (showDefault) {
 			label = new Label(specificFileComp, SWT.NONE);
 			label.setText(Messages.OutputFileBlock_7);
 		}
@@ -128,53 +122,46 @@
 	}
 
 	@Override
-	protected void createButtons(Composite parent)
-	{
-		Composite checkComposite = new Composite(parent,SWT.NONE);
-		checkComposite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
+	protected void createButtons(Composite parent) {
+		Composite checkComposite = new Composite(parent, SWT.NONE);
+		checkComposite.setLayoutData(new GridData(
+				GridData.HORIZONTAL_ALIGN_BEGINNING));
 		GridLayout gl = new GridLayout();
 		gl.marginWidth = 0;
 		checkComposite.setLayout(gl);
-		
-		openFileCheckButton = createCheckButton(checkComposite, Messages.OutputFileBlock_8);
+
+		openFileCheckButton = createCheckButton(checkComposite,
+				Messages.OutputFileBlock_8);
 		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
 		gd.horizontalSpan = 1;
 		openFileCheckButton.setLayoutData(gd);
-		openFileCheckButton.addSelectionListener(new SelectionListener()
-		{
+		openFileCheckButton.addSelectionListener(new SelectionListener() {
 
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
+			public void widgetDefaultSelected(SelectionEvent e) {
 			}
 
-			public void widgetSelected(SelectionEvent e)
-			{
-				if (openFileCheckButton.getSelection())
-				{
+			public void widgetSelected(SelectionEvent e) {
+				if (openFileCheckButton.getSelection()) {
 					formatFileCheckButton.setEnabled(true);
 					updateLaunchConfigurationDialog();
-				}
-				else
-				{
+				} else {
 					formatFileCheckButton.setEnabled(false);
 					formatFileCheckButton.setSelection(false);
 				}
 			}
 		});
 
-		formatFileCheckButton = createCheckButton(checkComposite, "Format file on completion");
+		formatFileCheckButton = createCheckButton(checkComposite,
+				Messages.OutputFileBlock_2);
 		gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
 		gd.horizontalSpan = 1;
 		formatFileCheckButton.setLayoutData(gd);
-		formatFileCheckButton.addSelectionListener(new SelectionListener()
-		{
+		formatFileCheckButton.addSelectionListener(new SelectionListener() {
 
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
+			public void widgetDefaultSelected(SelectionEvent e) {
 			}
 
-			public void widgetSelected(SelectionEvent e)
-			{
+			public void widgetSelected(SelectionEvent e) {
 				updateLaunchConfigurationDialog();
 			}
 		});
@@ -184,114 +171,134 @@
 		layout.marginHeight = 0;
 		layout.marginWidth = 0;
 		buttonComp.setLayout(layout);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END | GridData.VERTICAL_ALIGN_BEGINNING);
+		gd = new GridData(GridData.HORIZONTAL_ALIGN_END
+				| GridData.VERTICAL_ALIGN_BEGINNING);
 		gd.horizontalSpan = 1;
 		buttonComp.setLayoutData(gd);
 		buttonComp.setFont(parent.getFont());
 
-		fWorkspaceButton = createPushButton(buttonComp, getMessage(WORKSPACE_BUTTON), null);
+		fWorkspaceButton = createPushButton(buttonComp,
+				getMessage(WORKSPACE_BUTTON), null);
 		fWorkspaceButton.addSelectionListener(widgetListener);
 
-		fFileSystemButton = createPushButton(buttonComp, getMessage(FILE_SYSTEM_BUTTON), null);
+		fFileSystemButton = createPushButton(buttonComp,
+				getMessage(FILE_SYSTEM_BUTTON), null);
 		fFileSystemButton.addSelectionListener(widgetListener);
 
-		fVariablesButton = createPushButton(buttonComp, getMessage(VARIABLES_BUTTON), null);
+		fVariablesButton = createPushButton(buttonComp,
+				getMessage(VARIABLES_BUTTON), null);
 		fVariablesButton.addSelectionListener(widgetListener);
 	}
 
-	public String getName()
-	{
+	public String getName() {
 		return Messages.OutputFileBlock_9;
 	}
 
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		try
-		{
-			inputFilename = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, ""); //$NON-NLS-1$
+	public void initializeFrom(ILaunchConfiguration configuration) {
+		try {
+			inputFilename = configuration.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, ""); //$NON-NLS-1$
 			updateDefaultOutputFile();
 
-			boolean useDefault = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, true);
+			boolean useDefault = configuration
+					.getAttribute(
+							XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE,
+							true);
 			useDefaultCheckButton.setSelection(useDefault);
 
-			outputFileName = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILENAME, defaultOutputFileName);
-			resource = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FOLDER, defaultResource);
+			outputFileName = configuration.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILENAME,
+					defaultOutputFileName);
+			resource = configuration.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_OUTPUT_FOLDER,
+					defaultResource);
 
 			updateResourceText(useDefault);
 
-			boolean openFileOnCompletion = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
+			boolean openFileOnCompletion = configuration.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
 			openFileCheckButton.setSelection(openFileOnCompletion);
-			
-			boolean formatFileOnCompletion = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_FORMAT_FILE, false);
+
+			boolean formatFileOnCompletion = configuration.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_FORMAT_FILE, false);
 			formatFileCheckButton.setSelection(formatFileOnCompletion);
-		}
-		catch (CoreException e)
-		{
+		} catch (CoreException e) {
 			XSLDebugUIPlugin.log(e);
 		}
 	}
 
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
+	public void performApply(ILaunchConfigurationWorkingCopy configuration) {
 		boolean useDefault = useDefaultCheckButton.getSelection();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, useDefault);
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE,
+				useDefault);
 
 		String outputFile = resourceText.getText();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FOLDER, outputFile);
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_OUTPUT_FOLDER, outputFile);
 
 		String outputFileName = fileNameText.getText();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILENAME, outputFileName);
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILENAME,
+				outputFileName);
 
 		boolean openFileOnCompletion = openFileCheckButton.getSelection();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, openFileOnCompletion);
-		
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_OPEN_FILE,
+				openFileOnCompletion);
+
 		boolean formatFileOnCompletion = formatFileCheckButton.getSelection();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_FORMAT_FILE, formatFileOnCompletion);
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_FORMAT_FILE,
+				formatFileOnCompletion);
 	}
 
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, true);
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FOLDER, (String)null);
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILENAME, (String)null);
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_FORMAT_FILE, false);
+	public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE,
+				true);
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_OUTPUT_FOLDER,
+				(String) null);
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILENAME,
+				(String) null);
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
+		configuration.setAttribute(
+				XSLLaunchConfigurationConstants.ATTR_FORMAT_FILE, false);
 	}
-	
+
 	@Override
-	protected void updateResourceText(boolean useDefault)
-	{
+	protected void updateResourceText(boolean useDefault) {
 		fileNameText.setEnabled(!useDefault);
 		if (useDefault)
-			fileNameText.setText(defaultOutputFileName == null ? "" : defaultOutputFileName); //$NON-NLS-1$
+			fileNameText
+					.setText(defaultOutputFileName == null ? "" : defaultOutputFileName); //$NON-NLS-1$
 		else
-			fileNameText.setText(outputFileName == null ? defaultOutputFileName : outputFileName); 
+			fileNameText.setText(outputFileName == null ? defaultOutputFileName
+					: outputFileName);
 		super.updateResourceText(useDefault);
 	}
 
-	private void updateDefaultOutputFile()
-	{
-		try
-		{
-			IPath path = XSLTRuntime.defaultOutputFileForInputFile(inputFilename);
+	private void updateDefaultOutputFile() {
+		try {
+			IPath path = XSLTRuntime
+					.defaultOutputFileForInputFile(inputFilename);
 			// determine whether this path exists in the workspace
-			IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(path);
-			if (files.length > 0)
-			{// inside workspace
+			IFile[] files = ResourcesPlugin.getWorkspace().getRoot()
+					.findFilesForLocation(path);
+			if (files.length > 0) {// inside workspace
 				IPath p = new Path(files[0].getProject().getName());
 				p.append(files[0].getParent().getProjectRelativePath());
-				defaultResource = "${workspace_loc:/"+p.toString()+"}";
-			}
-			else
-			{// outside workspace
+				defaultResource = "${workspace_loc:/" + p.toString() + "}"; //$NON-NLS-1$//$NON-NLS-2$
+			} else {// outside workspace
 				IPath p = path.removeLastSegments(1);
 				defaultResource = p.toOSString();
 			}
 			defaultOutputFileName = path.lastSegment();
-		}
-		catch (CoreException e)
-		{
-			// do nothing			
+		} catch (CoreException e) {
+			// do nothing
 		}
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputTab.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputTab.java
index 4434c1a..d56b890 100644
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputTab.java
+++ b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputTab.java
@@ -25,63 +25,59 @@
 import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.XSLMainTab;
 import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
 
-public class OutputTab extends XSLLaunchConfigurationTab
-{
+public class OutputTab extends XSLLaunchConfigurationTab {
 	private final OutputFileBlock outputFileBlock;
 	private final WorkingDirectoryBlock workingDirectoryBlock;
 
-	public OutputTab(XSLMainTab main)
-	{
+	public OutputTab(XSLMainTab main) {
 		outputFileBlock = new OutputFileBlock();
-		workingDirectoryBlock = new WorkingDirectoryBlock(XSLLaunchConfigurationConstants.ATTR_WORKING_DIR){
+		workingDirectoryBlock = new WorkingDirectoryBlock(
+				XSLLaunchConfigurationConstants.ATTR_WORKING_DIR) {
 			@Override
-			protected IProject getProject(ILaunchConfiguration configuration) throws CoreException
-			{
+			protected IProject getProject(ILaunchConfiguration configuration)
+					throws CoreException {
 				// TODO Auto-generated method stub
 				return null;
 			}
 		};
 
-		setBlocks(new ILaunchConfigurationTab[]{ outputFileBlock,workingDirectoryBlock });
+		setBlocks(new ILaunchConfigurationTab[] { outputFileBlock,
+				workingDirectoryBlock });
 	}
 
 	@Override
-	public void createControl(Composite parent)
-	{
+	public void createControl(Composite parent) {
 		super.createControl(parent);
 		Composite comp = (Composite) getControl();
 		GridLayout layout = new GridLayout(1, false);
 		comp.setLayout(layout);
 
 		outputFileBlock.createControl(comp);
-		
+
 		workingDirectoryBlock.createControl(comp);
-		
-		
 
-//		Group group = new Group(comp, SWT.NULL);
-//		group.setText(Messages.OutputTab_0);
-//		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-//		group.setLayoutData(gd);
-//		layout = new GridLayout(2, false);
-//		group.setLayout(layout);
+		// Group group = new Group(comp, SWT.NULL);
+		// group.setText(Messages.OutputTab_0);
+		// GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
+		// group.setLayoutData(gd);
+		// layout = new GridLayout(2, false);
+		// group.setLayout(layout);
 
-//		outputBlock.createControl(group);
+		// outputBlock.createControl(group);
 	}
-	
+
 	@Override
-	public String getId()
-	{
-		return "org.eclipse.wst.xsl.internal.debug.ui.tabs.output";
+	public String getId() {
+		return "org.eclipse.wst.xsl.internal.debug.ui.tabs.output"; //$NON-NLS-1$
 	}
 
-	public String getName()
-	{
+	public String getName() {
 		return Messages.OutputTab_1;
 	}
-	
+
 	@Override
 	public Image getImage() {
-		return XSLPluginImageHelper.getInstance().getImage(XSLDebugPluginImages.IMG_OUTPUT_TAB);
+		return XSLPluginImageHelper.getInstance().getImage(
+				XSLDebugPluginImages.IMG_OUTPUT_TAB);
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/.classpath b/bundles/org.eclipse.wst.xsl.exslt.core/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/.project b/bundles/org.eclipse.wst.xsl.exslt.core/.project
new file mode 100644
index 0000000..cc82e49
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.xsl.exslt.core</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xsl.exslt.core/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..bd0b325
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Fri Sep 18 21:17:47 GMT 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.exslt.core/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..616a648
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.wst.xsl.exslt.core;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.wst.xsl.exslt.core.internal.EXSLTCore
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.wst.common.uriresolver;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.wst.xsl.exslt.core.internal;x-internal:=true,
+ org.eclipse.wst.xsl.exslt.core.internal.resolver;x-internal:=true
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/about.html b/bundles/org.eclipse.wst.xsl.exslt.core/about.html
new file mode 100644
index 0000000..2199df3
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/about.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<HTML>
+
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+
+<BODY lang="EN-US">
+
+<H3>About This Content</H3>
+
+<P>June, 2008</P>
+
+<H3>License</H3>
+
+<P>The Eclipse Foundation makes available all content in this plug-in 
+("Content"). Unless otherwise indicated below, the Content is provided to you 
+under the terms and conditions of the Eclipse Public License Version 1.0 
+("EPL"). A copy of the EPL is available at
+<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+
+<P>If you did not receive this Content directly from the Eclipse Foundation, the 
+Content is being redistributed by another party ("Redistributor") and different 
+terms and conditions may apply to your use of any object code in the Content. 
+Check the RedistributorÂ’s license that was provided with the Content. If no such 
+license exists, contact the Redistributor. Unless otherwise indicated below, the 
+terms and conditions of the EPL still apply to any source code in the Content 
+and such source code may be obtained at
+<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
+
+</BODY>
+</HTML>
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/build.properties b/bundles/org.eclipse.wst.xsl.exslt.core/build.properties
new file mode 100644
index 0000000..3420b67
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               schemas/,\
+               bin/,\
+               about.html,\
+               plugin.properties
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/plugin.properties b/bundles/org.eclipse.wst.xsl.exslt.core/plugin.properties
new file mode 100644
index 0000000..dbe24d9
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/plugin.properties
@@ -0,0 +1,13 @@
+###############################################################################
+# Copyright (c) 2009 Standards for Technology in Automotive Retail and others
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     David Carver - Initial API and Implementation
+###############################################################################
+
+providerName=Eclipse Web Tools Platform
+pluginName=EXSLT UI Extensions
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/plugin.xml b/bundles/org.eclipse.wst.xsl.exslt.core/plugin.xml
new file mode 100644
index 0000000..ab73fbe
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/plugin.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.wst.common.uriresolver.resolverExtensions">
+      <resolverExtension
+            class="org.eclipse.wst.xsl.exslt.core.internal.resolver.EXSLTResolverExtension"
+            stage="prenormalization">
+      </resolverExtension>
+   </extension>
+
+</plugin>
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/schemas/common.xsd b/bundles/org.eclipse.wst.xsl.exslt.core/schemas/common.xsd
new file mode 100644
index 0000000..a0b6ea8
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/schemas/common.xsd
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://exslt.org/common" xmlns="http://exslt.org/common" elementFormDefault="qualified">
+
+	<xsd:element name="document" type="DocumentType">
+		<xsd:annotation>
+			<xsd:documentation source="http://www.exslt.org/exsl/elements/document/exsl.document.html">
+			    The exsl:document element is used to create multiple result documents. As well as the main result document, there can be subsidiary result documents. Each subsidiary result document is created using an exsl:document element. The content of the exsl:document element is a template; this is instantiated to create a sequence of nodes; a root node is created with this sequence of nodes as its children; the tree with this root node represents the subsidiary result document. The href attribute specifies where the subsidiary document should be stored; it must be an absolute or relative URI; it must not have a fragment identifier.
+			</xsd:documentation>
+		</xsd:annotation>
+	</xsd:element>
+	
+	<xsd:complexType name="DocumentType">
+		<xsd:sequence>
+			<xsd:any namespace="##other"/>
+		</xsd:sequence>
+		<xsd:attribute name="href" use="required" type="xsd:anyURI">
+		    <xsd:annotation>
+		    	<xsd:documentation source="http://www.exslt.org/exsl/elements/document/exsl.document.html">
+		    	     The href attribute specifies where the subsidiary document should be stored; it must be an absolute or relative URI; it must not have a fragment identifier.
+		    	</xsd:documentation>
+		    </xsd:annotation>
+		</xsd:attribute>
+		<xsd:attribute name="method" use="optional" type="MethodEnumeratedType"/>
+		<xsd:attribute name="version" use="optional" type="xsd:NMTOKEN"/>
+		<xsd:attribute name="encoding" use="optional" type="xsd:string"/>
+		<xsd:attribute name="omit-xml-declaration" use="optional" type="YesNoEnumeratedType"/>
+		<xsd:attribute name="doctype-public" use="optional" type="xsd:string"/>
+		<xsd:attribute name="doctype-system" use="optional" type="xsd:string"/>
+		<xsd:attribute name="cdata-section-elements" use="optional" type="xsd:string"/>
+		<xsd:attribute name="indent" use="optional" type="YesNoEnumeratedType"/>
+		<xsd:attribute name="media-type" use="optional" type="xsd:string"/>
+	</xsd:complexType>
+	
+	<xsd:simpleType name="MethodEnumeratedType">
+		<xsd:restriction base="xsd:token">
+			<xsd:enumeration value="xml"/>
+			<xsd:enumeration value="html"/>
+			<xsd:enumeration value="text"/>
+		</xsd:restriction>
+	</xsd:simpleType>
+	
+	<xsd:simpleType name="YesNoEnumeratedType">
+		<xsd:restriction base="xsd:token">
+			<xsd:enumeration value="yes"/>
+			<xsd:enumeration value="no"/>
+		</xsd:restriction>
+	</xsd:simpleType>
+</xsd:schema>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/src/org/eclipse/wst/xsl/exslt/core/internal/EXSLTCore.java b/bundles/org.eclipse.wst.xsl.exslt.core/src/org/eclipse/wst/xsl/exslt/core/internal/EXSLTCore.java
new file mode 100644
index 0000000..5eed4ce
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/src/org/eclipse/wst/xsl/exslt/core/internal/EXSLTCore.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.wst.xsl.exslt.core.internal;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class EXSLTCore extends Plugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.exslt.core";
+	
+	public static final String EXSLT_MATH_NAMESPACE = "http://exslt.org/math";
+	public static final String EXSLT_FUNC_NAMESPACE = "http://exslt.org/functions";
+	public static final String EXSLT_COMMON_NAMESPACE = "http://exslt.org/common";
+	public static final String EXSLT_DYNAMIC_NAMESPACE = "http://exslt.org/dynamic";
+	public static final String EXSLT_DATE_NAMESPACE = "http://www.exslt.org/date/index.html";
+	public static final String EXSLT_RANDOM_NAMESPACE = "http://exslt.org/random";
+	public static final String EXSLT_REGEX_NAMESPACE = "http://exslt.org/regular-expressions";
+	public static final String EXSLT_SETS_NAMESPACE = "http://exslt.org/sets";
+	public static final String EXSLT_STRING_NAMESPACE = "http://exslt.org/strings";
+	
+
+	// The shared instance
+	private static EXSLTCore plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public EXSLTCore() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static EXSLTCore getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.exslt.core/src/org/eclipse/wst/xsl/exslt/core/internal/resolver/EXSLTResolverExtension.java b/bundles/org.eclipse.wst.xsl.exslt.core/src/org/eclipse/wst/xsl/exslt/core/internal/resolver/EXSLTResolverExtension.java
new file mode 100644
index 0000000..37b51b3
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.core/src/org/eclipse/wst/xsl/exslt/core/internal/resolver/EXSLTResolverExtension.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.exslt.core.internal.resolver;
+
+import java.net.URL;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
+import org.eclipse.wst.xsl.exslt.core.internal.EXSLTCore;
+import org.osgi.framework.Bundle;
+
+public class EXSLTResolverExtension implements URIResolverExtension {
+	Bundle bundle = null;
+	
+	public EXSLTResolverExtension() {
+		bundle = EXSLTCore.getDefault().getBundle();
+	}
+
+	public String resolve(IFile file, String baseLocation, String publicId, String systemId)
+	{
+		if (EXSLTCore.EXSLT_COMMON_NAMESPACE.equals(publicId)) {
+			return getURLPath("/schemas/common.xsd");
+		}
+		
+		return null;
+	}
+	
+	private String getURLPath(String grammarPath) {
+		URL pluginURL = bundle.getEntry(grammarPath);
+		return pluginURL.toExternalForm();
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/.classpath b/bundles/org.eclipse.wst.xsl.exslt.ui/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/.project b/bundles/org.eclipse.wst.xsl.exslt.ui/.project
new file mode 100644
index 0000000..59ac6c2
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.xsl.exslt.ui</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
+	</natures>
+</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xsl.exslt.ui/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..7ba2275
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Tue Sep 22 21:35:12 GMT 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.exslt.ui/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..deef9b5
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.wst.xsl.exslt.ui;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.wst.xsl.exslt.ui.internal.EXSLTUIPlugin
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.wst.xsl.ui;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.jface.text;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.wst.xml.core;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.wst.xsl.core;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.wst.sse.core;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.wst.sse.ui;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.wst.xsl.exslt.core;bundle-version="[1.0.0,2.0.0)"
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.wst.xsl.exslt.ui.internal;x-internal:=true,
+ org.eclipse.wst.xsl.exslt.ui.internal.contentassist;x-internal:=true
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/about.html b/bundles/org.eclipse.wst.xsl.exslt.ui/about.html
new file mode 100644
index 0000000..2199df3
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/about.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<HTML>
+
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+
+<BODY lang="EN-US">
+
+<H3>About This Content</H3>
+
+<P>June, 2008</P>
+
+<H3>License</H3>
+
+<P>The Eclipse Foundation makes available all content in this plug-in 
+("Content"). Unless otherwise indicated below, the Content is provided to you 
+under the terms and conditions of the Eclipse Public License Version 1.0 
+("EPL"). A copy of the EPL is available at
+<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+
+<P>If you did not receive this Content directly from the Eclipse Foundation, the 
+Content is being redistributed by another party ("Redistributor") and different 
+terms and conditions may apply to your use of any object code in the Content. 
+Check the RedistributorÂ’s license that was provided with the Content. If no such 
+license exists, contact the Redistributor. Unless otherwise indicated below, the 
+terms and conditions of the EPL still apply to any source code in the Content 
+and such source code may be obtained at
+<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
+
+</BODY>
+</HTML>
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/build.properties b/bundles/org.eclipse.wst.xsl.exslt.ui/build.properties
new file mode 100644
index 0000000..0cb39e6
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/build.properties
@@ -0,0 +1,13 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               about.html,\
+               plugin.properties,\
+               bin/
+src.includes = src/,\
+               build.properties,\
+               plugin.xml,\
+               about.html,\
+               plugin.properties
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/plugin.properties b/bundles/org.eclipse.wst.xsl.exslt.ui/plugin.properties
new file mode 100644
index 0000000..cbf2eb6
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/plugin.properties
@@ -0,0 +1,13 @@
+###############################################################################
+# Copyright (c) 2009 Standards for Technology in Automotive Retail and others
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     David Carver - Initial API and Implementation
+###############################################################################
+
+providerName=Eclipse Web Tools Platform
+pluginName=EXSLT Core Extensions
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/plugin.xml b/bundles/org.eclipse.wst.xsl.exslt.ui/plugin.xml
new file mode 100644
index 0000000..2eac0c1
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/plugin.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+   <extension
+         point="org.eclipse.wst.xsl.ui.contentAssistProcessor">
+      <processor
+            class="org.eclipse.wst.xsl.exslt.ui.internal.contentassist.EXSLTCommonContentAssistProcessor">
+      </processor>
+   </extension>
+
+</plugin>
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/EXSLTUIPlugin.java b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/EXSLTUIPlugin.java
new file mode 100644
index 0000000..f751469
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/EXSLTUIPlugin.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.exslt.ui.internal;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class EXSLTUIPlugin extends AbstractUIPlugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.exslt.ui";
+
+	// The shared instance
+	private static EXSLTUIPlugin plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public EXSLTUIPlugin() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static EXSLTUIPlugin getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/CommonSelectContentAssistRequest.java b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/CommonSelectContentAssistRequest.java
new file mode 100644
index 0000000..6672241
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/CommonSelectContentAssistRequest.java
@@ -0,0 +1,112 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.exslt.ui.internal.contentassist;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
+import org.eclipse.wst.xml.core.internal.contentmodel.util.DOMNamespaceHelper;
+import org.eclipse.wst.xml.core.internal.contentmodel.util.NamespaceTable;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
+import org.eclipse.wst.xsl.core.model.CallTemplate;
+import org.eclipse.wst.xsl.exslt.core.internal.EXSLTCore;
+import org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist;
+import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
+import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class CommonSelectContentAssistRequest extends SelectAttributeContentAssist {
+
+	private static final String EXSLT_COMMON_NAMESPACE = "http://exslt.org/common";
+	private static final String NODE_SET = "node-set( )";
+	private static final String OBJECT_TYPE = "object-type( )";
+	
+	String prefix = "";
+	public CommonSelectContentAssistRequest(Node node,
+			IStructuredDocumentRegion documentRegion,
+			ITextRegion completionRegion, int begin, int length, String filter,
+			ITextViewer textViewer) {
+		super(node, documentRegion, completionRegion, begin, length, filter,
+				textViewer);
+		
+	}
+
+	@Override
+	public ArrayList<ICompletionProposal> getCompletionProposals() {
+		proposals.clear();
+		
+		adjustXPathStart(SELECT_ATTRIBUTE);
+
+		int offset = getReplacementBeginPosition();
+		IDOMAttr attrNode = getAttribute(SELECT_ATTRIBUTE);
+
+		this.matchString = extractXPathMatchString(attrNode, getRegion(),
+				getReplacementBeginPosition());
+
+		addSelectProposals((Element) getNode().getParentNode(), offset);
+
+		return getAllCompletionProposals();
+	}
+
+	@Override
+	protected void addSelectProposals(Element rootElement, int offset) {
+		Document doc = rootElement.getOwnerDocument();
+		NamespaceTable namespaceTable = new NamespaceTable(doc);
+		namespaceTable.addElement(doc.getDocumentElement());
+		prefix = namespaceTable.getPrefixForURI(EXSLTCore.EXSLT_COMMON_NAMESPACE);
+		if (prefix != null) {
+			addNodeSetProposal();
+			addObjectTypeProposal();
+		}
+	}
+	
+	private void addNodeSetProposal() {
+		String nodeset = "";
+	
+		if (prefix != null) {
+			nodeset = prefix + ":" + NODE_SET;
+		} else {
+			nodeset = NODE_SET;
+		}
+		
+		CustomCompletionProposal proposal = new CustomCompletionProposal(
+				nodeset, getStartOffset() + 1, 0,
+				nodeset.length(), XSLPluginImageHelper
+						.getInstance().getImage(
+								XSLPluginImages.IMG_XPATH_FUNCTION), nodeset, null, null, 0);
+		proposals.add((ICompletionProposal)proposal);
+	}
+	
+	private void addObjectTypeProposal() {
+		String nodeset = "";
+	
+		if (prefix != null) {
+			nodeset = prefix + ":" + OBJECT_TYPE;
+		} else {
+			nodeset = OBJECT_TYPE;
+		}
+		
+		CustomCompletionProposal proposal = new CustomCompletionProposal(
+				nodeset, getStartOffset() + 1, 0,
+				nodeset.length(), XSLPluginImageHelper
+						.getInstance().getImage(
+								XSLPluginImages.IMG_XPATH_FUNCTION), nodeset, null, null, 0);
+		proposals.add((ICompletionProposal)proposal);
+	}	
+	
+}
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/CommonTestContentAssistRequest.java b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/CommonTestContentAssistRequest.java
new file mode 100644
index 0000000..591309b
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/CommonTestContentAssistRequest.java
@@ -0,0 +1,43 @@
+package org.eclipse.wst.xsl.exslt.ui.internal.contentassist;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class CommonTestContentAssistRequest extends
+		CommonSelectContentAssistRequest {
+	
+	private String ATTR_TEST = "test";  //$NON-NLS-1$
+	
+	public CommonTestContentAssistRequest(Node node,
+			IStructuredDocumentRegion documentRegion,
+			ITextRegion completionRegion, int begin, int length, String filter,
+			ITextViewer textViewer) {
+		super(node, documentRegion, completionRegion, begin, length, filter, textViewer);
+	}
+	
+	@Override
+	public ArrayList<ICompletionProposal> getCompletionProposals() {
+		proposals.clear();
+		
+		adjustXPathStart(ATTR_TEST);
+
+		int offset = getReplacementBeginPosition();
+		IDOMAttr attrNode = getAttribute(ATTR_TEST);
+
+		this.matchString = extractXPathMatchString(attrNode, getRegion(),
+				getReplacementBeginPosition());
+
+		addSelectProposals((Element) getNode().getParentNode(), offset);
+
+		return getAllCompletionProposals();
+	}
+	
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/EXSLTCommonContentAssistProcessor.java b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/EXSLTCommonContentAssistProcessor.java
new file mode 100644
index 0000000..9a910b0
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/EXSLTCommonContentAssistProcessor.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver - initial API and implementation
+ *     Jesper Moller - bug 303823 - NPE if namespace was unknown
+ *******************************************************************************/
+package org.eclipse.wst.xsl.exslt.ui.internal.contentassist;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.jface.text.contentassist.IContextInformationValidator;
+import org.eclipse.wst.xsl.core.XSLCore;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest;
+
+public class EXSLTCommonContentAssistProcessor extends
+		AbstractXSLContentAssistProcessor implements IContentAssistProcessor {
+
+	private ArrayList<ICompletionProposal> exsltProposals;
+	
+	public EXSLTCommonContentAssistProcessor() {
+	}
+
+	public String getMaximumVersion() {
+		return "1.0";
+	}
+
+	public String getMinimumVersion() {
+		return "1.0";
+	}
+
+	public ArrayList<String> getNamespaces() {
+		return null;
+	}
+
+
+	public IContextInformation[] computeContextInformation(ITextViewer viewer,
+			int offset) {
+		return null;
+	}
+
+
+	public char[] getContextInformationAutoActivationCharacters() {
+		return null;
+	}
+
+	public IContextInformationValidator getContextInformationValidator() {
+		return null;
+	}
+	
+	public ICompletionProposal[] computeCompletionProposals(
+			ITextViewer textViewer, int documentPosition) {
+		initializeProposalVariables(textViewer, documentPosition);
+		
+				
+		// Only provide proposals for elements in either the XSLT Namespace or EXSLT namespace.
+		String namespaceURI = xmlNode.getNamespaceURI();
+		if (namespaceURI == null ||
+			!namespaceURI.contains("http://exslt.org/") &&
+			!namespaceURI.equals(XSLCore.XSL_NAMESPACE_URI)) {
+			return null;
+		}
+
+		EXSLTContentAssistRequestFactory requestFactory = new EXSLTContentAssistRequestFactory(
+				textViewer, cursorPosition, xmlNode, sdRegion,
+				completionRegion, matchString);
+		
+		IContentAssistProposalRequest contentAssistRequest = requestFactory
+			.getContentAssistRequest();
+		
+		exsltProposals = contentAssistRequest.getCompletionProposals();
+		ICompletionProposal[] proposals = new ICompletionProposal[exsltProposals.size()];
+		exsltProposals.toArray(proposals);
+		
+		return proposals;
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/EXSLTContentAssistRequestFactory.java b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/EXSLTContentAssistRequestFactory.java
new file mode 100644
index 0000000..55be51b
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.exslt.ui/src/org/eclipse/wst/xsl/exslt/ui/internal/contentassist/EXSLTContentAssistRequestFactory.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.exslt.ui.internal.contentassist;
+
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist;
+import org.eclipse.wst.xsl.ui.internal.contentassist.TestAttributeContentAssist;
+import org.eclipse.wst.xsl.ui.internal.contentassist.href.HrefContentAssistRequest;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.NullContentAssistRequest;
+import org.w3c.dom.NamedNodeMap;
+
+/**
+ * A Factory that determines which Content Assist Request class is needed and
+ * returns the appropriate class.
+ * 
+ * @author David Carver
+ * @since 1.0
+ */
+public class EXSLTContentAssistRequestFactory {
+	private static final String ATTR_SELECT = "select"; //$NON-NLS-1$
+	private static final String ATTR_TEST = "test"; //$NON-NLS-1$
+	private static final String ATTR_MATCH = "match"; //$NON-NLS-1$
+	private ITextViewer textViewer;
+	private int documentPosition;
+	private IDOMNode xmlNode;
+	private IStructuredDocumentRegion sdRegion;
+	private ITextRegion completionRegion;
+	private String matchString;
+	
+
+	/**
+	 * @param textViewer
+	 * @param documentPosition
+	 * @param xmlNode
+	 * @param sdRegion
+	 * @param completionRegion
+	 * @param matchString
+	 */
+	public EXSLTContentAssistRequestFactory(ITextViewer textViewer, int documentPosition, IDOMNode xmlNode,
+			IStructuredDocumentRegion sdRegion, ITextRegion completionRegion,
+			String matchString) {
+		this.textViewer = textViewer;
+		this.documentPosition = documentPosition;
+		this.xmlNode = xmlNode;
+		this.sdRegion = sdRegion;
+		this.completionRegion = completionRegion;
+		this.matchString = matchString;
+	}
+	
+	/**
+	 * Get the appropriate content assist request class for the XSL request.
+	 * @return
+	 */
+	public IContentAssistProposalRequest getContentAssistRequest() {
+		NamedNodeMap nodeMap = xmlNode.getAttributes();
+		IDOMElement element = (IDOMElement) xmlNode;
+		IContentAssistProposalRequest proposal = commonAttributeProposals(nodeMap);
+		
+		if (proposal instanceof NullContentAssistRequest) {
+			if (isElementProposal(element)) {
+				proposal = getNullProposal();
+			}
+		}
+
+		return proposal;
+	}
+	
+	private boolean isElementProposal(IDOMElement element) {
+		String localName = element.getLocalName();
+		return false;
+	}
+	
+	private IContentAssistProposalRequest commonAttributeProposals(
+			NamedNodeMap nodeMap) {
+		if (hasAttributeAtTextRegion(ATTR_SELECT, nodeMap,
+				completionRegion)) {
+			return new CommonSelectContentAssistRequest(xmlNode, sdRegion,
+					completionRegion, documentPosition, 0, matchString,
+					textViewer);
+		}
+	
+		if (hasAttributeAtTextRegion(ATTR_TEST, nodeMap, completionRegion)) {
+			return new CommonTestContentAssistRequest(xmlNode, sdRegion,
+					completionRegion, documentPosition, 0, matchString,
+					textViewer);
+		}
+		
+		return getNullProposal();
+	}
+	
+	protected boolean hasAttributeAtTextRegion(String attrName,
+			NamedNodeMap nodeMap, ITextRegion aRegion) {
+		IDOMAttr attrNode = (IDOMAttr) nodeMap.getNamedItem(attrName);
+		return attrNode != null && attrNode.getValueRegion() != null
+				&& attrNode.getValueRegion().getStart() == aRegion.getStart();
+	}	
+	
+	private IContentAssistProposalRequest getNullProposal() {
+		return new NullContentAssistRequest(xmlNode, sdRegion,
+				completionRegion, documentPosition, 0, matchString, textViewer);
+	}
+	
+}
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/.settings/org.eclipse.jdt.core.prefs
index f455492..926f21b 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,15 +1,38 @@
-#Tue Feb 10 05:26:00 GMT 2009
+#Thu Jun 11 01:36:57 GMT 2009
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.compliance=1.5
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
@@ -17,4 +40,43 @@
 org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.5
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/META-INF/MANIFEST.MF
index aa814b3..dbbaa4b 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.xsl.jaxp.debug.ui;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.100.qualifier
 Bundle-Activator: org.eclipse.wst.xsl.jaxp.debug.ui.internal.JAXPDebugUIPlugin
 Bundle-Vendor: %vendorName
 Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/plugin.properties b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/plugin.properties
index 6a9c3a7..affbadb 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/plugin.properties
@@ -1,5 +1,5 @@
 #Properties file for org.eclipse.wst.xsl.jaxp.debug.ui
-vendorName = Eclipse.org
+vendorName = Eclipse Web Tools Platform
 pluginName = XSL JAXP Debug UI
 pageNameJavaProcessors = Java Processors
-viewNameResult = Result
\ No newline at end of file
+viewNameResult = Result
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/JAXPDebugUIPlugin.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/JAXPDebugUIPlugin.java
index 182d3e5..22e7aa8 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/JAXPDebugUIPlugin.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/JAXPDebugUIPlugin.java
@@ -9,7 +9,7 @@
 public class JAXPDebugUIPlugin extends AbstractUIPlugin {
 
 	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.jaxp.debug.ui";
+	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.jaxp.debug.ui"; //$NON-NLS-1$
 
 	// The shared instance
 	private static JAXPDebugUIPlugin plugin;
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/preferences/InstalledProcessorsBlock.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/preferences/InstalledProcessorsBlock.java
index 91d06b2..6335f98 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/preferences/InstalledProcessorsBlock.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/preferences/InstalledProcessorsBlock.java
@@ -613,7 +613,7 @@
 		}
 	}
 
-	private class VMLabelProvider extends LabelProvider implements ITableLabelProvider
+	private static class VMLabelProvider extends LabelProvider implements ITableLabelProvider
 	{
 		public String getColumnText(Object element, int columnIndex)
 		{
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/AttributeDialog.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/AttributeDialog.java
index 885ec53..6fa0cd7 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/AttributeDialog.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/AttributeDialog.java
@@ -44,7 +44,7 @@
 	public AttributeDialog(Shell parent, LaunchAttributes launchAttributes)
 	{
 		super(parent);
-		setTitle("Select Processor Attributes");
+		setTitle(Messages.getString("AttributeDialog_0")); //$NON-NLS-1$
 		
 		Set<String> attributeSet = new HashSet<String>();
 		for (LaunchAttribute att : launchAttributes.getAttributes())
@@ -74,7 +74,7 @@
 		comp.setLayout(new GridLayout());
 		
 		Label label = new Label(comp,SWT.NONE);
-		label.setText("Select one or more attributes to set on the XSLT processor.");
+		label.setText(Messages.getString("AttributeDialog_1")); //$NON-NLS-1$
 		
 		
 		table = new Table(comp,SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.MULTI);
@@ -124,7 +124,7 @@
 				IStructuredSelection sel = (IStructuredSelection)event.getSelection();
 				selectedAttributes = sel.toList();
 				if (sel.isEmpty())
-					text.setText("");
+					text.setText(Messages.getString("AttributeDialog_2")); //$NON-NLS-1$
 				else
 				{
 					IAttribute attribute = (IAttribute)sel.getFirstElement(); 
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/AttributesBlock.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/AttributesBlock.java
index fbe1111..e9e51a8 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/AttributesBlock.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/AttributesBlock.java
@@ -90,7 +90,7 @@
 	@Override
 	protected String getQualifier()
 	{
-		return JAXPDebugUIPlugin.PLUGIN_ID+"."+getClass().getCanonicalName();
+		return JAXPDebugUIPlugin.PLUGIN_ID+"."+getClass().getCanonicalName(); //$NON-NLS-1$
 	}
 
 	@Override
@@ -102,7 +102,7 @@
 	public void createControl(Composite parent)
 	{
 		TabItem item = new TabItem((TabFolder)parent,SWT.NONE);
-		item.setText("Attributes");
+		item.setText(Messages.getString("AttributesBlock.0")); //$NON-NLS-1$
 		
 		Composite composite = new Composite(parent,SWT.NONE);
 		GridLayout layout = new GridLayout(2,false);
@@ -124,12 +124,12 @@
 		});
 		
 		TableColumn tc1 = new TableColumn(table,SWT.NONE);
-		tc1.setText("Name");
+		tc1.setText(Messages.getString("AttributesBlock.2")); //$NON-NLS-1$
 		tc1.setWidth(350);
 		tc1.setResizable(true);
 		
 		TableColumn tc2 = new TableColumn(table,SWT.NONE);
-		tc2.setText("Value");
+		tc2.setText(Messages.getString("AttributesBlock.7")); //$NON-NLS-1$
 		tc2.setWidth(50);
 		tc2.setResizable(true);
 		
@@ -140,7 +140,7 @@
 		buttonComp.setLayout(gl);
 		
 		Button addButton = new Button(buttonComp,SWT.PUSH);
-		addButton.setText("Add");
+		addButton.setText(Messages.getString("AttributesBlock.8")); //$NON-NLS-1$
 		addButton.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false));
 		addButton.addSelectionListener(new SelectionListener(){
 			public void widgetDefaultSelected(SelectionEvent e)
@@ -155,7 +155,7 @@
 					LaunchAttribute first = null;
 					for (IAttribute attribute : newAttributes)
 					{
-						LaunchAttribute att = new LaunchAttribute(attribute.getURI(),"string",null);
+						LaunchAttribute att = new LaunchAttribute(attribute.getURI(),"string",null); //$NON-NLS-1$
 						if (first == null)
 							first = att;
 						attributes.addAttribute(att);
@@ -172,7 +172,7 @@
 		});
 		
 		removeButton = new Button(buttonComp,SWT.PUSH);
-		removeButton.setText("Remove");
+		removeButton.setText(Messages.getString("AttributesBlock.14")); //$NON-NLS-1$
 		removeButton.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false));
 		removeButton.addSelectionListener(new SelectionListener(){
 			public void widgetDefaultSelected(SelectionEvent e)
@@ -274,7 +274,7 @@
 			protected Object getValue(Object element)
 			{
 				LaunchAttribute tv = (LaunchAttribute)element;
-				return tv.value == null ? "" : tv.value;
+				return tv.value == null ? "" : tv.value; //$NON-NLS-1$
 			}
 
 			@Override
@@ -356,9 +356,9 @@
 	private void performRemove()
 	{
 		IStructuredSelection sel = (IStructuredSelection)tViewer.getSelection();
-		for (Iterator iterator = sel.iterator(); iterator.hasNext();)
+		for (Iterator<LaunchAttribute> iterator = sel.iterator(); iterator.hasNext();)
 		{
-			LaunchAttribute att = (LaunchAttribute) iterator.next();
+			LaunchAttribute att = iterator.next();
 			attributes.removeAtribute(att.uri);
 		}
 		tViewer.refresh();
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/OutputPropertiesBlock.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/OutputPropertiesBlock.java
index 82ad964..7b9ce66 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/OutputPropertiesBlock.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/OutputPropertiesBlock.java
@@ -89,7 +89,7 @@
 	@Override
 	protected String getQualifier()
 	{
-		return JAXPDebugUIPlugin.PLUGIN_ID+"."+getClass().getCanonicalName();
+		return JAXPDebugUIPlugin.PLUGIN_ID+"."+getClass().getCanonicalName(); //$NON-NLS-1$
 	}
 
 	@Override
@@ -101,7 +101,7 @@
 	public void createControl(Composite parent)
 	{
 		TabItem item = new TabItem((TabFolder)parent,SWT.NONE);
-		item.setText("Output Properties");
+		item.setText(Messages.getString("OutputPropertiesBlock_0")); //$NON-NLS-1$
 		
 		Composite composite = new Composite(parent,SWT.NONE);
 		GridLayout layout = new GridLayout(2,false);
@@ -124,12 +124,12 @@
 
 		
 		TableColumn tc1 = new TableColumn(table,SWT.NONE);
-		tc1.setText("Name");
+		tc1.setText(Messages.getString("OutputPropertiesBlock_1")); //$NON-NLS-1$
 		tc1.setWidth(350);
 		tc1.setResizable(true);
 		
 		TableColumn tc2 = new TableColumn(table,SWT.NONE);
-		tc2.setText("Value");
+		tc2.setText(Messages.getString("OutputPropertiesBlock_2")); //$NON-NLS-1$
 		tc2.setWidth(50);
 		tc2.setResizable(true);
 		
@@ -140,7 +140,7 @@
 		buttonComp.setLayout(gl);
 		
 		Button addButton = new Button(buttonComp,SWT.PUSH);
-		addButton.setText("Add");
+		addButton.setText(Messages.getString("OutputPropertiesBlock_3")); //$NON-NLS-1$
 		addButton.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false));
 		addButton.addSelectionListener(new SelectionListener(){
 			public void widgetDefaultSelected(SelectionEvent e)
@@ -172,7 +172,7 @@
 		});
 		
 		removeButton = new Button(buttonComp,SWT.PUSH);
-		removeButton.setText("Remove");
+		removeButton.setText(Messages.getString("OutputPropertiesBlock_4")); //$NON-NLS-1$
 		removeButton.setLayoutData(new GridData(SWT.FILL,SWT.TOP,false,false));
 		removeButton.addSelectionListener(new SelectionListener(){
 			public void widgetDefaultSelected(SelectionEvent e)
@@ -243,7 +243,7 @@
 			{
 				String tv = (String) cell.getElement();
 				String val = properties.getProperty(tv);
-				cell.setText(val == null ? "" : val);
+				cell.setText(val == null ? "" : val); //$NON-NLS-1$
 			}
 		});
 		
@@ -266,7 +266,7 @@
 			{
 				String tv = (String)element;
 				String val = properties.getProperty(tv);
-				return val == null ? "" : val;
+				return val == null ? "" : val; //$NON-NLS-1$
 			}
 
 			@Override
@@ -367,9 +367,9 @@
 	private void performRemove()
 	{
 		IStructuredSelection sel = (IStructuredSelection)tViewer.getSelection();
-		for (Iterator iterator = sel.iterator(); iterator.hasNext();)
+		for (Iterator<String> iterator = sel.iterator(); iterator.hasNext();)
 		{
-			String att = (String) iterator.next();
+			String att = iterator.next();
 			properties.removeProperty(att);
 		}
 		tViewer.refresh();
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/OutputPropertyDialog.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/OutputPropertyDialog.java
index 2fc7b7c..35ce127 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/OutputPropertyDialog.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/OutputPropertyDialog.java
@@ -43,7 +43,7 @@
 	public OutputPropertyDialog(Shell parent, LaunchProperties launchProperties)
 	{
 		super(parent);
-		setTitle("Select Output Properties");
+		setTitle(Messages.getString("OutputPropertyDialog_0")); //$NON-NLS-1$
 		
 		Set<String> propertySet = new HashSet<String>();
 		for (String att : launchProperties.getProperties().keySet())
@@ -73,7 +73,7 @@
 		comp.setLayout(new GridLayout());
 		
 		Label label = new Label(comp,SWT.NONE);
-		label.setText("Select one or more output properties for the transformation.");
+		label.setText(Messages.getString("OutputPropertyDialog_1")); //$NON-NLS-1$
 		
 		
 		table = new Table(comp,SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.MULTI);
@@ -123,7 +123,7 @@
 				IStructuredSelection sel = (IStructuredSelection)event.getSelection();
 				selectedProperties = sel.toList();
 				if (sel.isEmpty())
-					text.setText("");
+					text.setText(""); //$NON-NLS-1$
 				else
 				{
 					IOutputProperty property = (IOutputProperty)sel.getFirstElement(); 
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/ProcessorBlock.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/ProcessorBlock.java
index ab72b9c..2e4907c 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/ProcessorBlock.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/ProcessorBlock.java
@@ -345,7 +345,7 @@
 		configuration.setAttribute(JAXPLaunchConfigurationConstants.ATTR_PROCESSOR, (String) null);
 	}
 
-	private class ComboContentProvider implements IStructuredContentProvider
+	private static class ComboContentProvider implements IStructuredContentProvider
 	{
 		public Object[] getElements(Object inputElement)
 		{
@@ -361,7 +361,7 @@
 		}
 	}
 
-	private class ComboLabelProvider extends LabelProvider
+	private static class ComboLabelProvider extends LabelProvider
 	{
 		@Override
 		public String getText(Object element)
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/XSLProcessorTab2.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/XSLProcessorTab2.java
index 5d648c4..b29ad36 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/XSLProcessorTab2.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/XSLProcessorTab2.java
@@ -74,7 +74,7 @@
 	@Override
 	public String getId()
 	{
-		return "org.eclipse.wst.xsl.debug.ui.jaxp.tabs.processor";
+		return "org.eclipse.wst.xsl.debug.ui.jaxp.tabs.processor"; //$NON-NLS-1$
 	}
 
 	@Override
@@ -82,7 +82,7 @@
 	{
 		if (image == null)
 		{
-			ImageDescriptor id = AbstractUIPlugin.imageDescriptorFromPlugin(JAXPDebugUIPlugin.PLUGIN_ID, "icons/xslt_processor.gif");
+			ImageDescriptor id = AbstractUIPlugin.imageDescriptorFromPlugin(JAXPDebugUIPlugin.PLUGIN_ID, "icons/xslt_processor.gif"); //$NON-NLS-1$
 			image = id.createImage();
 		}
 		return image;
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/messages.properties b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/messages.properties
index 1cebef7..27e1504 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/messages.properties
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/tabs/processor/messages.properties
@@ -1,11 +1,26 @@
+AttributeDialog_0=Select Processor Attributes
+AttributeDialog_1=Select one or more attributes to set on the XSLT processor.
+AttributeDialog_2=
+AttributesBlock.0=Attributes
 AttributesBlock.1=Change Preferences...
 AttributesBlock.10=type
 AttributesBlock.11=value
 AttributesBlock.12=value
+AttributesBlock.14=Remove
 AttributesBlock.16=Processor Attributes
+AttributesBlock.2=Name
 AttributesBlock.3=Use specific attributes
 AttributesBlock.4=Attribute
 AttributesBlock.5=Type
 AttributesBlock.6=Value
+AttributesBlock.7=Value
+AttributesBlock.8=Add
 AttributesBlock.9=name
+OutputPropertiesBlock_0=Output Properties
+OutputPropertiesBlock_1=Name
+OutputPropertiesBlock_2=Value
+OutputPropertiesBlock_3=Add
+OutputPropertiesBlock_4=Remove
+OutputPropertyDialog_0=Select Output Properties
+OutputPropertyDialog_1=Select one or more output properties for the transformation.
 XSLProcessorTab.0=Processor
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/Messages.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/Messages.java
new file mode 100644
index 0000000..1edb042
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/Messages.java
@@ -0,0 +1,15 @@
+package org.eclipse.wst.xsl.jaxp.debug.ui.internal.views;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.wst.xsl.jaxp.debug.ui.internal.views.messages"; //$NON-NLS-1$
+	public static String ResultView_0;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultRunnable.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultRunnable.java
index 4d5932b..1934898 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultRunnable.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultRunnable.java
@@ -21,10 +21,10 @@
 import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
 
 public class ResultRunnable implements Runnable {
-	private static final String XML_PROCESSING_INSTRUCTION = "<?xml";
-	private static final String DOCTYPE_HTML = "<!DOCTYPE html";
-	private static final String HTML_CONTENT_TYPE_ID = "org.eclipse.wst.html.core.htmlsource";
-	private static final String XML_CONTENT_TYPE_ID = "org.eclipse.core.runtime.xml";
+	private static final String XML_PROCESSING_INSTRUCTION = "<?xml"; //$NON-NLS-1$
+	private static final String DOCTYPE_HTML = "<!DOCTYPE html"; //$NON-NLS-1$
+	private static final String HTML_CONTENT_TYPE_ID = "org.eclipse.wst.html.core.htmlsource"; //$NON-NLS-1$
+	private static final String XML_CONTENT_TYPE_ID = "org.eclipse.core.runtime.xml"; //$NON-NLS-1$
 	private SourceViewer sourceViewer = null;
 	private final String results;
 	private IWorkbenchPartSite viewSite = null;
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultView.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultView.java
index 2bc92fe..4c56969 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultView.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultView.java
@@ -10,35 +10,21 @@
  *******************************************************************************/
 package org.eclipse.wst.xsl.jaxp.debug.ui.internal.views;
 
-import java.io.IOException;
-import java.io.Reader;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.debug.core.DebugEvent;
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.IDebugEventSetListener;
 import org.eclipse.debug.core.model.IDebugTarget;
 import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.source.ISourceViewer;
 import org.eclipse.jface.text.source.SourceViewer;
 import org.eclipse.jface.text.source.SourceViewerConfiguration;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.part.ViewPart;
 import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument;
 import org.eclipse.wst.sse.ui.StructuredTextViewerConfiguration;
 import org.eclipse.wst.sse.ui.internal.StructuredTextViewer;
 import org.eclipse.wst.sse.ui.internal.provisional.style.LineStyleProvider;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
 import org.eclipse.wst.xsl.jaxp.launching.model.JAXPDebugTarget;
 import org.eclipse.wst.xsl.ui.internal.StructuredTextViewerConfigurationXSL;
 
@@ -118,7 +104,7 @@
 		// first, clear the viewer
 		sv.setDocument(null);
 		IWorkbenchSiteProgressService service = (IWorkbenchSiteProgressService)getSite().getService(IWorkbenchSiteProgressService.class);
-		service.schedule(new ResultViewJob("Result view job", getSite(), xdt, sv));
+		service.schedule(new ResultViewJob(Messages.ResultView_0, getSite(), xdt, sv));
 	}
 
 }
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultViewJob.java b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultViewJob.java
index 6a75a8c..020f3c5 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultViewJob.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/ResultViewJob.java
@@ -17,17 +17,10 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.source.SourceViewer;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.sse.core.internal.text.JobSafeStructuredDocument;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
 import org.eclipse.wst.xsl.jaxp.launching.model.JAXPDebugTarget;
 
 public class ResultViewJob extends Job {
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/messages.properties b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/messages.properties
new file mode 100644
index 0000000..89f2113
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug.ui/src/org/eclipse/wst/xsl/jaxp/debug/ui/internal/views/messages.properties
@@ -0,0 +1 @@
+ResultView_0=Result view job
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/.classpath b/bundles/org.eclipse.wst.xsl.jaxp.debug/.classpath
index 2fbb7a2..5e4c1fe 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/.classpath
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/.classpath
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xsl.jaxp.debug/.settings/org.eclipse.jdt.core.prefs
index f915f19..97f3b6f 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/.settings/org.eclipse.jdt.core.prefs
@@ -1,15 +1,43 @@
-#Tue Feb 10 05:26:11 GMT 2009
+#Sat Jan 02 18:55:59 GMT-05:00 2010
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
@@ -17,4 +45,43 @@
 org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.source=1.3
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.jaxp.debug/META-INF/MANIFEST.MF
index 21dd829..96c9b1f 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/META-INF/MANIFEST.MF
@@ -2,10 +2,12 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.xsl.jaxp.debug
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.100.qualifier
 Bundle-Vendor: %vendorName
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: org.apache.commons.logging;bundle-version="1.0.4";visibility:=reexport
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.apache.commons.logging;bundle-version="1.0.4";visibility:=reexport,
+ org.apache.xml.resolver;bundle-version="1.1.0";resolution:=optional
 Export-Package: org.eclipse.wst.xsl.jaxp.debug.debugger,
- org.eclipse.wst.xsl.jaxp.debug.invoker
+ org.eclipse.wst.xsl.jaxp.debug.invoker,
+ org.eclipse.wst.xsl.jaxp.debug.invoker.internal;x-internal:=true
 Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/plugin.properties b/bundles/org.eclipse.wst.xsl.jaxp.debug/plugin.properties
index a2b6f8c..6c71d38 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/plugin.properties
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/plugin.properties
@@ -1,3 +1,3 @@
 #Properties file for org.eclipse.wst.xsl.jaxp.debug
-vendorName = Eclipse.org
-pluginName = XSL JAXP Debugger
\ No newline at end of file
+vendorName = Eclipse Web Tools Platform
+pluginName = XSL JAXP Debugger
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/AbstractDebugger.java b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/AbstractDebugger.java
index c099904..3de1e07 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/AbstractDebugger.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/AbstractDebugger.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2007, 2010 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (Intalio) - cleanup findbug errors.
  *******************************************************************************/
 package org.eclipse.wst.xsl.jaxp.debug.debugger;
 
@@ -30,12 +31,12 @@
 /**
  * An implementation of <code>IXSLDebugger</code>.
  * 
- * This class can be subclassed in order to provide debugging for a particular XSLT processor.
+ * This class can be subclassed in order to provide debugging for a particular
+ * XSLT processor.
  * 
  * @author Doug Satchwell
  */
-public abstract class AbstractDebugger implements IXSLDebugger
-{
+public abstract class AbstractDebugger implements IXSLDebugger {
 	private static final Log log = LogFactory.getLog(AbstractDebugger.class);
 
 	private static final int ACTION_DO_NOTHING = 0;
@@ -58,8 +59,9 @@
 	private int action;
 	private Writer eventWriter;
 	private Writer generatedWriter;
-	private final Set breakpoints = Collections.synchronizedSet(new HashSet());
-	private final Stack stack = new Stack();
+	private final Set<BreakPoint> breakpoints = Collections
+			.synchronizedSet(new HashSet<BreakPoint>());
+	private final Stack<StyleFrame> stack = new Stack<StyleFrame>();
 	private StyleFrame stepOverFrame;
 	private BreakPoint breakpoint;
 	private URL sourceURL;
@@ -67,115 +69,93 @@
 
 	private int stepOverStackSize;
 
-	public void setInvoker(IProcessorInvoker invoker)
-	{
+	public synchronized void setInvoker(IProcessorInvoker invoker) {
 		this.invoker = invoker;
 	}
 
-	public void setEventWriter(Writer writer)
-	{
+	public synchronized void setEventWriter(Writer writer) {
 		eventWriter = writer;
 	}
 
-	public void setGeneratedWriter(Writer writer)
-	{
+	public void setGeneratedWriter(Writer writer) {
 		this.generatedWriter = writer;
 	}
 
-	public void setSource(URL sourceURL)
-	{
+	public synchronized void setSource(URL sourceURL) {
 		this.sourceURL = sourceURL;
 	}
 
-	public void setTarget(final Writer writer)
-	{
-		result = new StreamResult(new Writer(){
-			public void write(char[] cbuf, int off, int len) throws IOException
-			{
+	public synchronized void setTarget(final Writer writer) {
+		result = new StreamResult(new Writer() {
+			public void write(char[] cbuf, int off, int len) throws IOException {
 				writer.write(cbuf, off, len);
-				generatedWriter.write(cbuf,off,len);
+				generatedWriter.write(cbuf, off, len);
 			}
 
-			public void close() throws IOException
-			{
+			public void close() throws IOException {
 				writer.close();
 				generatedWriter.close();
 			}
 
-			public void flush() throws IOException
-			{
+			public void flush() throws IOException {
 				writer.flush();
 				generatedWriter.flush();
 			}
 		});
 	}
 
-	public void run()
-	{
-		if (action != ACTION_QUIT)
-		{
+	public synchronized void run() {
+		if (action != ACTION_QUIT) {
 			debuggerStarted();
-			try
-			{
+			try {
 				invoker.transform(sourceURL, result);
-			}
-			catch (TransformationException e)
-			{
+			} catch (TransformationException e) {
 				log.error("Transform failed", e); //$NON-NLS-1$
 			}
 			debuggerStopped();
 		}
 	}
 
-	public synchronized void suspend()
-	{
+	public synchronized void suspend() {
 		action = ACTION_SUSPEND;
 		notify();
 	}
 
-	public synchronized void resume()
-	{
+	public synchronized void resume() {
 		action = ACTION_RESUME;
 		notify();
 	}
 
-	public synchronized void stepInto()
-	{
+	public synchronized void stepInto() {
 		action = ACTION_STEP_INTO;
 		notify();
 	}
 
-	public synchronized void stepOver()
-	{
+	public synchronized void stepOver() {
 		action = ACTION_STEP_OVER;
 		stepOverFrame = peekStyleFrame();
 		stepOverStackSize = stack.size();
 		notify();
 	}
 
-	public synchronized void stepReturn()
-	{
+	public synchronized void stepReturn() {
 		action = ACTION_STEP_RETURN;
 		stepOverStackSize = stack.size();
 		notify();
 	}
 
-	public synchronized void quit()
-	{
+	public synchronized void quit() {
 		action = ACTION_QUIT;
 	}
 
-	public String stack()
-	{
+	public String stack() {
 		StringBuffer sb = new StringBuffer();
-		synchronized (stack)
-		{
-			for (Iterator iter = stack.iterator(); iter.hasNext();)
-			{
+		synchronized (stack) {
+			for (Iterator<StyleFrame> iter = stack.iterator(); iter.hasNext();) {
 				StyleFrame frame = (StyleFrame) iter.next();
 				sb.append(frame.toString());
-				for (Iterator iter2 = frame.getVariableStack().iterator(); iter2.hasNext();)
-				{
+				for (Iterator<?> iter2 = frame.getVariableStack().iterator(); iter2
+						.hasNext();) {
 					sb.append("|"); //$NON-NLS-1$
 					Variable v = (Variable) iter2.next();
 					sb.append(v.getId());
@@ -188,10 +168,10 @@
 	}
 
 	/**
-	 * Check whether the debugger has been stopped and perform the appropriate action if so.
+	 * Check whether the debugger has been stopped and perform the appropriate
+	 * action if so.
 	 */
-	public synchronized void checkStopped()
-	{
+	public synchronized void checkStopped() {
 		if (action == ACTION_QUIT)
 			debuggerQuit();
 		else if (action == ACTION_STOP)
@@ -199,50 +179,52 @@
 	}
 
 	/**
-	 * Check whether the debugger is currently suspended or stepping at the given breakpoint and style frame, 
-	 * and perform the appropriate action if so.
+	 * Check whether the debugger is currently suspended or stepping at the
+	 * given breakpoint and style frame, and perform the appropriate action if
+	 * so.
 	 * 
-	 * @param styleFrame the styleframe to check
-	 * @param breakpoint the current location
+	 * @param styleFrame
+	 *            the styleframe to check
+	 * @param breakpoint
+	 *            the current location
 	 */
-	public synchronized void checkSuspended(StyleFrame styleFrame, BreakPoint breakpoint)
-	{
+	public synchronized void checkSuspended(StyleFrame styleFrame,
+			BreakPoint breakpoint) {
 		// do not suspend unless the line actually changed
 		if (breakpoint.equals(this.breakpoint))
 			return;
 		int stackSize;
-		synchronized (stack)
-		{
+		synchronized (stack) {
 			stackSize = stack.size();
 		}
 		// do not suspend if there is nothing in the stack
 		if (stackSize == 0)
 			return;
-		switch (action)
-		{
-			case ACTION_SUSPEND:
-				debuggerSuspendedClient(breakpoint);
-				break;
-			case ACTION_STEP_OVER:
-				// suspend if we are in the same template or we are moving up the stack
-				if (styleFrame.equals(stepOverFrame) || stackSize < stepOverStackSize)
-					debuggerSuspendedStep(breakpoint);
-				break;
-			case ACTION_STEP_INTO:
+		switch (action) {
+		case ACTION_SUSPEND:
+			debuggerSuspendedClient(breakpoint);
+			break;
+		case ACTION_STEP_OVER:
+			// suspend if we are in the same template or we are moving up the
+			// stack
+			if (styleFrame.equals(stepOverFrame)
+					|| stackSize < stepOverStackSize)
 				debuggerSuspendedStep(breakpoint);
-				break;
-			case ACTION_STEP_RETURN:
-				// suspend if we moved up the stack
-				if (stackSize < stepOverStackSize)
-					debuggerSuspendedStep(breakpoint);
-				break;
-			default:
-				checkBreakpoint(breakpoint);
+			break;
+		case ACTION_STEP_INTO:
+			debuggerSuspendedStep(breakpoint);
+			break;
+		case ACTION_STEP_RETURN:
+			// suspend if we moved up the stack
+			if (stackSize < stepOverStackSize)
+				debuggerSuspendedStep(breakpoint);
+			break;
+		default:
+			checkBreakpoint(breakpoint);
 		}
 	}
 
-	private synchronized void checkBreakpoint(BreakPoint breakpoint)
-	{
+	private synchronized void checkBreakpoint(BreakPoint breakpoint) {
 		if (isBreakpoint(breakpoint))
 			debuggerSuspendedBreakpoint(breakpoint);
 	}
@@ -250,127 +232,106 @@
 	/**
 	 * Called when the next transform in the pipeline has begun.
 	 */
-	public synchronized void debuggerTransformStarted()
-	{
+	public synchronized void debuggerTransformStarted() {
 		stack.clear();
 	}
 
-	protected synchronized void debuggerStarted()
-	{
+	protected synchronized void debuggerStarted() {
 		action = ACTION_DO_NOTHING;
 		sendEvent(EVENT_STARTED);
 	}
 
-	protected synchronized void debuggerStopped()
-	{
+	protected synchronized void debuggerStopped() {
 		action = ACTION_DO_NOTHING;
 		sendEvent(EVENT_STOPPED);
 	}
 
-	private synchronized void debuggerQuit()
-	{
+	private synchronized void debuggerQuit() {
 		// just wait here indefinitely until the JVM exists, just to make sure
 		// we don't send any further events
-		try
-		{
+		try {
 			wait();
-		}
-		catch (InterruptedException e)
-		{
+		} catch (InterruptedException e) {
 		}
 	}
 
-	private synchronized void debuggerSuspendedBreakpoint(BreakPoint breakpoint)
-	{
+	private synchronized void debuggerSuspendedBreakpoint(BreakPoint breakpoint) {
 		sendEvent("suspended breakpoint " + breakpoint); //$NON-NLS-1$
 		debuggerSuspended(breakpoint);
 	}
 
-	private synchronized void debuggerSuspendedStep(BreakPoint breakpoint)
-	{
+	private synchronized void debuggerSuspendedStep(BreakPoint breakpoint) {
 		sendEvent(EVENT_SUSPENDED_STEP);
 		debuggerSuspended(breakpoint);
 	}
 
-	private synchronized void debuggerSuspendedClient(BreakPoint breakpoint)
-	{
+	private synchronized void debuggerSuspendedClient(BreakPoint breakpoint) {
 		sendEvent(EVENT_SUSPENDED);
 		debuggerSuspended(breakpoint);
 	}
 
-	public synchronized void debuggerSuspended(BreakPoint breakpoint)
-	{
+	public synchronized void debuggerSuspended(BreakPoint breakpoint) {
 		this.breakpoint = breakpoint;
-		do
-		{
-			try
-			{
+		do {
+			try {
 				wait();
+			} catch (InterruptedException e) {
 			}
-			catch (InterruptedException e)
-			{
-			}
-		}
-		while (action != ACTION_RESUME && action != ACTION_STEP_INTO && action != ACTION_STEP_OVER && action != ACTION_STEP_RETURN && action != ACTION_STOP);
+		} while (action != ACTION_RESUME && action != ACTION_STEP_INTO
+				&& action != ACTION_STEP_OVER && action != ACTION_STEP_RETURN
+				&& action != ACTION_STOP);
 		debuggerResumed();
 	}
 
-	private synchronized void debuggerResumed()
-	{
-		if (action == ACTION_STEP_INTO || action == ACTION_STEP_OVER || action == ACTION_STEP_RETURN)
+	private synchronized void debuggerResumed() {
+		if (action == ACTION_STEP_INTO || action == ACTION_STEP_OVER
+				|| action == ACTION_STEP_RETURN)
 			sendEvent(EVENT_RESUMED_STEP);
 		else
 			sendEvent(EVENT_RESUMED);
 	}
 
-	private synchronized void sendEvent(String event)
-	{
-		try
-		{
-			log.info("Sending event: " + event+" eventWriter="+eventWriter);  //$NON-NLS-1$//$NON-NLS-2$
+	private synchronized void sendEvent(String event) {
+		try {
+			log.info("Sending event: " + event + " eventWriter=" + eventWriter); //$NON-NLS-1$//$NON-NLS-2$
 			eventWriter.write(event + "\n"); //$NON-NLS-1$
 			eventWriter.flush();
-		}
-		catch (IOException e)
-		{
+		} catch (IOException e) {
 			log.error("Error sending event", e); //$NON-NLS-1$
 		}
 	}
 
-	public void addBreakpoint(BreakPoint breakpoint)
-	{
+	public void addBreakpoint(BreakPoint breakpoint) {
 		log.info("Adding breakpoint: " + breakpoint); //$NON-NLS-1$
 		breakpoints.add(breakpoint);
 	}
 
-	public void removeBreakpoint(BreakPoint breakpoint)
-	{
+	public void removeBreakpoint(BreakPoint breakpoint) {
 		log.info("Removing breakpoint: " + breakpoint); //$NON-NLS-1$
 		breakpoints.remove(breakpoint);
 	}
 
-	private boolean isBreakpoint(BreakPoint breakpoint)
-	{
-		// do not check for breakpoint unless the line or filename actually changed
+	private boolean isBreakpoint(BreakPoint breakpoint) {
+		// do not check for breakpoint unless the line or filename actually
+		// changed
 		if (breakpoint.equals(this.breakpoint))
 			return false;
 		this.breakpoint = null;
 		return breakpoints.contains(breakpoint);
 	}
-	
+
 	/**
 	 * Pop a style frame from the stack.
 	 * 
 	 * @return the popped style frame
 	 */
-	public StyleFrame popStyleFrame()
-	{
-		synchronized (stack)
-		{
+	public StyleFrame popStyleFrame() {
+		synchronized (stack) {
 			StyleFrame styleFrame = (StyleFrame) stack.pop();
 			if (styleFrame.getParent() != null)
 				styleFrame.getParent().removeChild(styleFrame);
-			log.trace("Popped frame: " + styleFrame + " (size after pop=" + stack.size() + ")");   //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+			log
+					.trace("Popped frame: " + styleFrame + " (size after pop=" + stack.size() + ")"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
 			return styleFrame;
 		}
 	}
@@ -380,12 +341,11 @@
 	 * 
 	 * @param styleFrame
 	 */
-	public void pushStyleFrame(StyleFrame styleFrame)
-	{
-		synchronized (stack)
-		{
+	public void pushStyleFrame(StyleFrame styleFrame) {
+		synchronized (stack) {
 			stack.push(styleFrame);
-			log.trace("Pushed frame: " + styleFrame + " (size after push=" + stack.size() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			log
+					.trace("Pushed frame: " + styleFrame + " (size after push=" + stack.size() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		}
 	}
 
@@ -394,13 +354,11 @@
 	 * 
 	 * @return the peeked style frame
 	 */
-	public StyleFrame peekStyleFrame()
-	{
-		synchronized (stack)
-		{
+	public StyleFrame peekStyleFrame() {
+		synchronized (stack) {
 			if (stack.size() > 0)
 				return (StyleFrame) stack.peek();
 			return null;
 		}
-	}	
+	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/DebugRunner.java b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/DebugRunner.java
index 1be1ce2..5fe8a20 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/DebugRunner.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/DebugRunner.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2007, 2010 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (Intalion) - FindBugs cleanup
  *******************************************************************************/
 package org.eclipse.wst.xsl.jaxp.debug.debugger;
 
@@ -25,6 +26,7 @@
 import java.util.Map;
 import java.util.Properties;
 
+import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerConfigurationException;
@@ -37,24 +39,27 @@
 import org.eclipse.wst.xsl.jaxp.debug.invoker.IProcessorInvoker;
 import org.eclipse.wst.xsl.jaxp.debug.invoker.PipelineDefinition;
 import org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException;
+import org.eclipse.wst.xsl.jaxp.debug.invoker.internal.ConfigurationException;
 import org.eclipse.wst.xsl.jaxp.debug.invoker.internal.JAXPSAXProcessorInvoker;
 import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
 
 /**
- * The entry point to the debug process which is responsible for configuring a debugger 
- * and then communicating with the Eclipse process via sockets using a common set of commands.
+ * The entry point to the debug process which is responsible for configuring a
+ * debugger and then communicating with the Eclipse process via sockets using a
+ * common set of commands.
  * 
  * <ul>
  * <li>instantiates an implementation of <code>IXSLDebugger</code>
  * <li>configures the debugger with the transformation pipeline
  * <li>starts the debugger in a separate thread
- * <li>the main thread is then used to listen to incoming requests and call the appropriate debugger methods
+ * <li>the main thread is then used to listen to incoming requests and call the
+ * appropriate debugger methods
  * </ul>
  * 
  * @author Doug Satchwell
  */
-public class DebugRunner
-{
+public class DebugRunner {
 	private static final Log log = LogFactory.getLog(DebugRunner.class);
 
 	private final BufferedReader requestIn;
@@ -68,12 +73,15 @@
 	/**
 	 * Create a new instance of this using the supplied readers and writers.
 	 * 
-	 * @param requestIn the reader for reading incoming requests
-	 * @param requestOut the writer for acknowledging requests
-	 * @param eventOut the writer for publishing debug events
+	 * @param requestIn
+	 *            the reader for reading incoming requests
+	 * @param requestOut
+	 *            the writer for acknowledging requests
+	 * @param eventOut
+	 *            the writer for publishing debug events
 	 */
-	public DebugRunner(BufferedReader requestIn, PrintWriter requestOut, PrintWriter eventOut, PrintWriter generatedStream)
-	{
+	public DebugRunner(BufferedReader requestIn, PrintWriter requestOut,
+			PrintWriter eventOut, PrintWriter generatedStream) {
 		this.requestOut = requestOut;
 		this.requestIn = requestIn;
 		this.eventOut = eventOut;
@@ -83,31 +91,39 @@
 	/**
 	 * Create a new instance of this given a request port and an event port.
 	 * 
-	 * @param requestPort the port to listen to requests and send acknowledgements
-	 * @param eventPort the port for publishing debug events
-	 * @throws IOException if there was a problem opening a socket
+	 * @param requestPort
+	 *            the port to listen to requests and send acknowledgements
+	 * @param eventPort
+	 *            the port for publishing debug events
+	 * @throws IOException
+	 *             if there was a problem opening a socket
 	 */
-	public DebugRunner(int requestPort, int eventPort, int generatePort) throws IOException
-	{
+	public DebugRunner(int requestPort, int eventPort, int generatePort)
+			throws IOException {
 		requestSocket = getSocket(requestPort);
 		eventSocket = getSocket(eventPort);
 		generateSocket = getSocket(generatePort);
-		requestIn = new BufferedReader(new InputStreamReader(requestSocket.getInputStream()));
+		requestIn = new BufferedReader(new InputStreamReader(requestSocket
+				.getInputStream()));
 		requestOut = new PrintWriter(requestSocket.getOutputStream(), true);
 		eventOut = new PrintWriter(eventSocket.getOutputStream(), true);
-		generatedStream = new BufferedWriter(new PrintWriter(generateSocket.getOutputStream(), true));
+		generatedStream = new BufferedWriter(new PrintWriter(generateSocket
+				.getOutputStream(), true));
 	}
 
 	/**
-	 * This method starts the given debugger in its own thread, and blocks while waiting 
-	 * for incoming requests from the request port, until there are no more requests.
+	 * This method starts the given debugger in its own thread, and blocks while
+	 * waiting for incoming requests from the request port, until there are no
+	 * more requests.
 	 * 
-	 * @param debugger the debugger to start in a thread
-	 * @throws TransformationException if a problem occurred while transforming
-	 * @throws IOException 
+	 * @param debugger
+	 *            the debugger to start in a thread
+	 * @throws TransformationException
+	 *             if a problem occurred while transforming
+	 * @throws IOException
 	 */
-	public void loop(IXSLDebugger debugger) throws TransformationException, IOException
-	{
+	public void loop(IXSLDebugger debugger) throws TransformationException,
+			IOException {
 		debugger.setEventWriter(eventOut);
 		debugger.setGeneratedWriter(generatedStream);
 		String inputLine, response;
@@ -115,78 +131,65 @@
 		eventOut.write("ready\n"); //$NON-NLS-1$
 		eventOut.flush();
 		log.debug("entering loop"); //$NON-NLS-1$
-		try
-		{
-			while ((inputLine = requestIn.readLine()) != null)
-			{
+		try {
+			while ((inputLine = requestIn.readLine()) != null) {
 				response = inputLine;
 				log.debug("REQUEST:" + inputLine); //$NON-NLS-1$
 				Thread debuggerThread = null;
-				if (DebugConstants.REQUEST_START.equals(inputLine))
-				{
+				if (DebugConstants.REQUEST_START.equals(inputLine)) {
 					debuggerThread = new Thread(debugger, "debugger"); //$NON-NLS-1$
 					debuggerThread.start();
 				}
 				/*
 				 * else if (REQUEST_QUIT.equals(inputLine)) { }
 				 */
-				else if (DebugConstants.REQUEST_STEP_INTO.equals(inputLine))
-				{
+				else if (DebugConstants.REQUEST_STEP_INTO.equals(inputLine)) {
 					debugger.stepInto();
-				}
-				else if (DebugConstants.REQUEST_STEP_OVER.equals(inputLine))
-				{
+				} else if (DebugConstants.REQUEST_STEP_OVER.equals(inputLine)) {
 					debugger.stepOver();
-				}
-				else if (DebugConstants.REQUEST_STEP_RETURN.equals(inputLine))
-				{
+				} else if (DebugConstants.REQUEST_STEP_RETURN.equals(inputLine)) {
 					debugger.stepReturn();
-				}
-				else if (DebugConstants.REQUEST_SUSPEND.equals(inputLine))
-				{
+				} else if (DebugConstants.REQUEST_SUSPEND.equals(inputLine)) {
 					debugger.suspend();
-				}
-				else if (DebugConstants.REQUEST_RESUME.equals(inputLine))
-				{
+				} else if (DebugConstants.REQUEST_RESUME.equals(inputLine)) {
 					debugger.resume();
-				}
-				else if (DebugConstants.REQUEST_STACK.equals(inputLine))
-				{
+				} else if (DebugConstants.REQUEST_STACK.equals(inputLine)) {
 					response = debugger.stack();
-				}
-				else if (inputLine.startsWith(DebugConstants.REQUEST_VARIABLE))
-				{
-					String data = inputLine.substring(DebugConstants.REQUEST_VARIABLE.length() + 1);
+				} else if (inputLine
+						.startsWith(DebugConstants.REQUEST_VARIABLE)) {
+					String data = inputLine
+							.substring(DebugConstants.REQUEST_VARIABLE.length() + 1);
 					int id = Integer.parseInt(data);
 					Variable var = debugger.getVariable(id);
-					log.debug("var "+id+" = "+var); //$NON-NLS-1$ //$NON-NLS-2$
+					log.debug("var " + id + " = " + var); //$NON-NLS-1$ //$NON-NLS-2$
 					response = var.getScope() + "&" + var.getName(); //$NON-NLS-1$
-				}
-				else if (inputLine.startsWith(DebugConstants.REQUEST_VALUE))
-				{
-					String data = inputLine.substring(DebugConstants.REQUEST_VALUE.length() + 1);
+				} else if (inputLine.startsWith(DebugConstants.REQUEST_VALUE)) {
+					String data = inputLine
+							.substring(DebugConstants.REQUEST_VALUE.length() + 1);
 					int id = Integer.parseInt(data);
 					Variable var = debugger.getVariable(id);
-					response =  var.getType() + "&" + var.getValueFirstLine(); //$NON-NLS-1$
-				}
-				else if (inputLine.startsWith(DebugConstants.REQUEST_ADD_BREAKPOINT))
-				{
+					response = var.getType() + "&" + var.getValueFirstLine(); //$NON-NLS-1$
+				} else if (inputLine
+						.startsWith(DebugConstants.REQUEST_ADD_BREAKPOINT)) {
 					int index = inputLine.lastIndexOf(' ');
-					String file = inputLine.substring(DebugConstants.REQUEST_ADD_BREAKPOINT.length() + 1, index);
+					String file = inputLine.substring(
+							DebugConstants.REQUEST_ADD_BREAKPOINT.length() + 1,
+							index);
 					String line = inputLine.substring(index + 1);
-					BreakPoint breakpoint = new BreakPoint(file, Integer.parseInt(line));
+					BreakPoint breakpoint = new BreakPoint(file, Integer
+							.parseInt(line));
 					debugger.addBreakpoint(breakpoint);
-				}
-				else if (inputLine.startsWith(DebugConstants.REQUEST_REMOVE_BREAKPOINT))
-				{
+				} else if (inputLine
+						.startsWith(DebugConstants.REQUEST_REMOVE_BREAKPOINT)) {
 					int index = inputLine.lastIndexOf(' ');
-					String file = inputLine.substring(DebugConstants.REQUEST_REMOVE_BREAKPOINT.length() + 1, index);
+					String file = inputLine
+							.substring(DebugConstants.REQUEST_REMOVE_BREAKPOINT
+									.length() + 1, index);
 					String line = inputLine.substring(index + 1);
-					BreakPoint breakpoint = new BreakPoint(file, Integer.parseInt(line));
+					BreakPoint breakpoint = new BreakPoint(file, Integer
+							.parseInt(line));
 					debugger.removeBreakpoint(breakpoint);
-				}
-				else
-				{
+				} else {
 					response = "What?"; //$NON-NLS-1$
 				}
 				// confirm request
@@ -195,12 +198,11 @@
 				requestOut.flush();
 
 				/*
-				 * if (REQUEST_QUIT.equals(inputLine)) { waitForFinish(debuggerThread); break; }
+				 * if (REQUEST_QUIT.equals(inputLine)) {
+				 * waitForFinish(debuggerThread); break; }
 				 */
 			}
-		}
-		catch (Exception e)
-		{
+		} catch (IOException e) {
 			throw new TransformationException(e.getMessage(), e);
 		}
 		log.debug("exited loop"); //$NON-NLS-1$
@@ -210,55 +212,40 @@
 
 	/**
 	 * Dispose of this - close all open sockets.
-	 * @throws IOException 
+	 * 
+	 * @throws IOException
 	 */
-	public void dispose() throws IOException
-	{
-		if (requestIn != null)
-		{
-			try
-			{
+	public void dispose() throws IOException {
+		if (requestIn != null) {
+			try {
 				requestIn.close();
-			}
-			catch (IOException e)
-			{
+			} catch (IOException e) {
 				log.error("Could not close request input stream", e); //$NON-NLS-1$
 			}
 		}
-		if (requestOut != null)
-		{
+		if (requestOut != null) {
 			requestOut.close();
 		}
-		if (eventOut != null)
-		{
+		if (eventOut != null) {
 			eventOut.close();
 		}
-		if (requestSocket != null)
-		{
-			try
-			{
+		if (requestSocket != null) {
+			try {
 				requestSocket.close();
-			}
-			catch (IOException e)
-			{
+			} catch (IOException e) {
 				log.error("Could not close request socket", e); //$NON-NLS-1$
 			}
 		}
-		if (eventSocket != null)
-		{
-			try
-			{
+		if (eventSocket != null) {
+			try {
 				eventSocket.close();
-			}
-			catch (IOException e)
-			{
+			} catch (IOException e) {
 				log.error("Could not close event socket", e); //$NON-NLS-1$
 			}
 		}
 	}
 
-	private static Socket getSocket(int port) throws IOException
-	{
+	private static Socket getSocket(int port) throws IOException {
 		InetAddress localhost = InetAddress.getByName("localhost"); //$NON-NLS-1$
 		ServerSocket serverSocket = new ServerSocket(port, 5, localhost);
 		Socket clientSocket = serverSocket.accept();
@@ -282,11 +269,15 @@
 	 * </ol>
 	 * 
 	 * @param args
+	 * @throws ParserConfigurationException 
+	 * @throws SAXException 
+	 * @throws IllegalAccessException 
+	 * @throws InstantiationException 
+	 * @throws ClassNotFoundException 
 	 */
-	public static void main(String[] args)
-	{
-		log.info("javax.xml.transform.TransformerFactory=" + System.getProperty("javax.xml.transform.TransformerFactory"));  //$NON-NLS-1$//$NON-NLS-2$
-		log.info("java.endorsed.dirs=" + System.getProperty("java.endorsed.dirs"));  //$NON-NLS-1$//$NON-NLS-2$
+	public static void main(String[] args) throws SAXException, ParserConfigurationException, ClassNotFoundException, InstantiationException, IllegalAccessException {
+		log.info("javax.xml.transform.TransformerFactory=" + System.getProperty("javax.xml.transform.TransformerFactory")); //$NON-NLS-1$//$NON-NLS-2$
+		log.info("java.endorsed.dirs=" + System.getProperty("java.endorsed.dirs")); //$NON-NLS-1$//$NON-NLS-2$
 
 		String invokerClassName = args[0];
 		File launchFile = new File(args[1]);
@@ -300,39 +291,47 @@
 		log.info("debugger: " + debuggerClassName); //$NON-NLS-1$
 
 		DebugRunner debugRunner = null;
-		try
-		{
+		try {
 			final IXSLDebugger debugger = createDebugger(debuggerClassName);
 			// create the invoker
-			IProcessorInvoker invoker = new JAXPSAXProcessorInvoker()
-			{
+			IProcessorInvoker invoker = new JAXPSAXProcessorInvoker() {
 
-				protected TransformerFactory createTransformerFactory()
-				{
-					TransformerFactory tFactory = super.createTransformerFactory();
+				@Override
+				protected TransformerFactory createTransformerFactory() {
+					TransformerFactory tFactory = super
+							.createTransformerFactory();
 					debugger.setTransformerFactory(tFactory);
 					return tFactory;
 				}
 
-				public void addStylesheet(URL stylesheet, Map parameters, Properties outputProperties, URIResolver resolver) throws TransformerConfigurationException
-				{
-					InputSource inputsource = new InputSource(stylesheet.toString());
-					// if required in future, parse the document with line numbers (to get the end line numbers)
-//					XMLReaderWrapper reader = new XMLReaderWrapper(createReader());
-//					SAXSource source = new SAXSource(reader,inputsource);
-					addStylesheet(new SAXSource(inputsource), resolver, parameters, outputProperties);
+				@Override
+				public void addStylesheet(URL stylesheet, Map parameters,
+						Properties outputProperties, URIResolver resolver)
+						throws TransformerConfigurationException {
+					InputSource inputsource = new InputSource(stylesheet
+							.toString());
+					// if required in future, parse the document with line
+					// numbers (to get the end line numbers)
+					// XMLReaderWrapper reader = new
+					// XMLReaderWrapper(createReader());
+					// SAXSource source = new SAXSource(reader,inputsource);
+					addStylesheet(new SAXSource(inputsource), resolver,
+							parameters, outputProperties);
 				}
-				
-				protected Transformer addStylesheet(Source source, URIResolver resolver, Map parameters, Properties outputProperties) throws TransformerConfigurationException
-				{
-					Transformer transformer = super.addStylesheet(source, resolver, parameters, outputProperties);
+
+				@Override
+				protected Transformer addStylesheet(Source source,
+						URIResolver resolver, Map parameters,
+						Properties outputProperties)
+						throws TransformerConfigurationException {
+					Transformer transformer = super.addStylesheet(source,
+							resolver, parameters, outputProperties);
 					debugger.addTransformer(transformer);
 					return transformer;
 				}
 			};
 
-			if (args.length == 9)
-			{
+			if (args.length == 9) {
 				int requestPort = Integer.parseInt(args[6]);
 				int eventPort = Integer.parseInt(args[7]);
 				int generatePort = Integer.parseInt(args[8]);
@@ -341,19 +340,18 @@
 				log.debug("eventPort: " + eventPort); //$NON-NLS-1$
 				log.debug("generatePort: " + generatePort); //$NON-NLS-1$
 
-				try
-				{
-					debugRunner = new DebugRunner(requestPort, eventPort, generatePort);
+				try {
+					debugRunner = new DebugRunner(requestPort, eventPort,
+							generatePort);
+				} catch (Exception e) {
+					handleFatalError(
+							"Could not instantiate invoker: " + invokerClassName, e); //$NON-NLS-1$
 				}
-				catch (Exception e)
-				{
-					handleFatalError("Could not instantiate invoker: " + invokerClassName, e); //$NON-NLS-1$
-				}
-			}
-			else
-			{
-				BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-				debugRunner = new DebugRunner(br, new PrintWriter(System.out), new PrintWriter(System.err), null);
+			} else {
+				BufferedReader br = new BufferedReader(new InputStreamReader(
+						System.in));
+				debugRunner = new DebugRunner(br, new PrintWriter(System.out),
+						new PrintWriter(System.err), null);
 				System.out.println("xsl>"); //$NON-NLS-1$
 			}
 
@@ -365,35 +363,33 @@
 			debugger.setTarget(new FileWriter(new File(target)));
 
 			debugRunner.loop(debugger);
-		}
-		catch (Exception e)
-		{
+		} catch (IOException e) {
+			handleFatalError(e.getMessage(), e);
+		} catch (TransformationException e) {
+			handleFatalError(e.getMessage(), e);
+		} catch (ConfigurationException e) {
 			handleFatalError(e.getMessage(), e);
 		}
-		finally
-		{
-			if (debugRunner != null)
-			{
-				try
-				{
+		
+		finally {
+			if (debugRunner != null) {
+				try {
 					debugRunner.dispose();
-				}
-				catch (IOException e)
-				{
+				} catch (IOException e) {
 					handleFatalError(e.getMessage(), e);
 				}
 			}
 		}
 	}
 
-	private static IXSLDebugger createDebugger(String classname) throws ClassNotFoundException, InstantiationException, IllegalAccessException
-	{
+	private static IXSLDebugger createDebugger(String classname)
+			throws ClassNotFoundException, InstantiationException,
+			IllegalAccessException {
 		Class clazz = Class.forName(classname);
 		return (IXSLDebugger) clazz.newInstance();
 	}
 
-	private static void handleFatalError(String msg, Throwable t)
-	{
+	private static void handleFatalError(String msg, Throwable t) {
 		log.fatal(msg, t);
 		System.exit(1);
 	}
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/StyleFrame.java b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/StyleFrame.java
index f77ef9a..7eaf58b 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/StyleFrame.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/StyleFrame.java
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (Intalio) - cleanup findbug errors.
  *******************************************************************************/
 package org.eclipse.wst.xsl.jaxp.debug.debugger;
 
@@ -22,7 +23,7 @@
 {
 	private static int nextId;
 	private final StyleFrame parent;
-	private final List children = new ArrayList();
+	private final List<StyleFrame> children = new ArrayList<StyleFrame>();
 	private final int id;
 
 	/**
@@ -74,7 +75,7 @@
 	 * 
 	 * @return the list of variables for this frame
 	 */
-	public abstract List getVariableStack();
+	public abstract List<?> getVariableStack();
 
 	/**
 	 * Get the parent of this.
@@ -111,7 +112,7 @@
 	 * 
 	 * @return a list of <code>StyleFrame</code>'s
 	 */
-	public List getChildren()
+	public List<StyleFrame> getChildren()
 	{
 		return children;
 	}
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/Variable.java b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/Variable.java
index ace25eb..b8ba46a 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/Variable.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/debugger/Variable.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2007,2010 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
  *     David Carver (STAR) - bug 214235 - Changed max value size to 2meg.
+ *     
  *******************************************************************************/
 package org.eclipse.wst.xsl.jaxp.debug.debugger;
 
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/PipelineDefinition.java b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/PipelineDefinition.java
index 198f999..fe67d5b 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/PipelineDefinition.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/PipelineDefinition.java
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (Intalio) - bug 213776 - URI Resolver
  *******************************************************************************/
 package org.eclipse.wst.xsl.jaxp.debug.invoker;
 
@@ -17,18 +18,19 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.URIResolver;
 
 import org.eclipse.wst.xsl.jaxp.debug.invoker.internal.ConfigurationException;
 import org.eclipse.wst.xsl.jaxp.debug.invoker.internal.CreationException;
@@ -40,54 +42,59 @@
 /**
  * The definition of the transformation pipeline.
  * <p>
- * This class is loaded on both the Eclipse classpath and the transformation process's classpath.
- * The whole definition is serialized to an XML document by the Eclipse launcher, and is then 
- * read by the transformation process when launched.
+ * This class is loaded on both the Eclipse classpath and the transformation
+ * process's classpath. The whole definition is serialized to an XML document by
+ * the Eclipse launcher, and is then read by the transformation process when
+ * launched.
  * </p>
  * 
  * @author Doug Satchwell
  */
-public class PipelineDefinition
-{
+public class PipelineDefinition {
 	private String sourceURL;
 	private String targetFile;
-	private final List transformDefs = new ArrayList();
-	private final Set attributes = new HashSet();
+
+	private final List<TransformDefinition> transformDefs = new ArrayList<TransformDefinition>();
+	private final Set<TypedValue> attributes = new HashSet<TypedValue>();
 	private boolean useEmbedded;
 
 	/**
 	 * Create a new empty instance of this.
 	 */
-	public PipelineDefinition()
-	{
+	public PipelineDefinition() {
 	}
 
 	/**
 	 * Create a new instance of this by reading the specified XML file.
 	 * 
-	 * @param launchFile the XSL file to load
-	 * @throws SAXException if problems occur during parsing
-	 * @throws IOException if problems occur during parsing
-	 * @throws ParserConfigurationException if problems occur during parsing
+	 * @param launchFile
+	 *            the XSL file to load
+	 * @throws SAXException
+	 *             if problems occur during parsing
+	 * @throws IOException
+	 *             if problems occur during parsing
+	 * @throws ParserConfigurationException
+	 *             if problems occur during parsing
 	 */
-	public PipelineDefinition(File launchFile) throws SAXException, IOException, ParserConfigurationException
-	{
-		this(DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new BufferedInputStream(new FileInputStream(launchFile))));
+	public PipelineDefinition(File launchFile) throws SAXException,
+			IOException, ParserConfigurationException {
+		this(DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(
+				new BufferedInputStream(new FileInputStream(launchFile))));
 	}
 
 	/**
 	 * Create a new instance of this from the specified document
 	 * 
-	 * @param doc the Document to create this from
+	 * @param doc
+	 *            the Document to create this from
 	 */
-	public PipelineDefinition(Document doc)
-	{
+	public PipelineDefinition(Document doc) {
 		Element rootEl = doc.getDocumentElement();
 
-		Element attributesEl = (Element) rootEl.getElementsByTagName("Attributes").item(0); //$NON-NLS-1$
+		Element attributesEl = (Element) rootEl.getElementsByTagName(
+				"Attributes").item(0); //$NON-NLS-1$
 		NodeList attributeEls = attributesEl.getElementsByTagName("Attribute"); //$NON-NLS-1$
-		for (int i = 0; i < attributeEls.getLength(); i++)
-		{
+		for (int i = 0; i < attributeEls.getLength(); i++) {
 			Element attributeEl = (Element) attributeEls.item(i);
 			String name = attributeEl.getAttribute("name"); //$NON-NLS-1$
 			String type = attributeEl.getAttribute("type"); //$NON-NLS-1$
@@ -95,17 +102,18 @@
 			addAttribute(new TypedValue(name, type, value));
 		}
 
-		Element transformsEl = (Element) rootEl.getElementsByTagName("Transforms").item(0); //$NON-NLS-1$
+		Element transformsEl = (Element) rootEl.getElementsByTagName(
+				"Transforms").item(0); //$NON-NLS-1$
 		String useEmbedded = transformsEl.getAttribute("useEmbedded"); //$NON-NLS-1$
 		boolean embedded = Boolean.getBoolean(useEmbedded);
 		setUseEmbedded(embedded);
-		if (!embedded)
-		{
-			NodeList transformEls = transformsEl.getElementsByTagName("Transform"); //$NON-NLS-1$
-			for (int i = 0; i < transformEls.getLength(); i++)
-			{
+		if (!embedded) {
+			NodeList transformEls = transformsEl
+					.getElementsByTagName("Transform"); //$NON-NLS-1$
+			for (int i = 0; i < transformEls.getLength(); i++) {
 				Element transformEl = (Element) transformEls.item(i);
-				TransformDefinition tdef = TransformDefinition.fromXML(transformEl);
+				TransformDefinition tdef = TransformDefinition
+						.fromXML(transformEl);
 				addTransformDef(tdef);
 			}
 		}
@@ -114,59 +122,91 @@
 	/**
 	 * Configure the invoker from this.
 	 * 
-	 * @param invoker the invoker to configure
-	 * @throws ConfigurationException if an exception occurs during configuration
+	 * @param invoker
+	 *            the invoker to configure
+	 * @throws ConfigurationException
+	 *             if an exception occurs during configuration
 	 */
-	public void configure(IProcessorInvoker invoker) throws ConfigurationException
-	{
-		Map attVals = new HashMap();
-		for (Iterator iter = attributes.iterator(); iter.hasNext();)
-		{
-			TypedValue att = (TypedValue) iter.next();
+	public void configure(IProcessorInvoker invoker)
+			throws ConfigurationException {
+		Map<String, Object> attVals = new ConcurrentHashMap<String, Object>();
+		for (Iterator<TypedValue> iter = attributes.iterator(); iter.hasNext();) {
+			TypedValue att = iter.next();
 			Object value;
-			try
-			{
+			try {
 				value = att.createValue();
-			}
-			catch (CreationException e)
-			{
+			} catch (CreationException e) {
 				throw new ConfigurationException(e.getMessage(), e);
 			}
-			attVals.put(att.uri, value);
+			attVals.put(att.name, value);
 		}
 		invoker.setAttributes(attVals);
 
-		for (Iterator iter = transformDefs.iterator(); iter.hasNext();)
-		{
-			TransformDefinition tdef = (TransformDefinition) iter.next();
-			Map params = null;
-			try
-			{
-				params = tdef.getParametersAsMap();
-			}
-			catch (CreationException e)
-			{
-				throw new ConfigurationException(Messages.getString("PipelineDefinition.8"), e); //$NON-NLS-1$
-			}
-			URL url = null;
-			try
-			{
-				url = new URL(tdef.getStylesheetURL());
-			}
-			catch (MalformedURLException e)
-			{
-				throw new ConfigurationException(Messages.getString("PipelineDefinition.9") + tdef.getStylesheetURL(), e); //$NON-NLS-1$
-			}
+		for (Iterator<TransformDefinition> iter = transformDefs.iterator(); iter
+				.hasNext();) {
+			TransformDefinition tdef = iter.next();
+			Map<String, Object> params = setParams(tdef);
+			URL url = getStyleSheetURL(tdef);
 			Properties properties = tdef.getOutputProperties();
-			try
-			{
-				invoker.addStylesheet(url, params, properties, null);
-			}
-			catch (TransformerConfigurationException e)
-			{
-				throw new ConfigurationException(Messages.getString("PipelineDefinition.10") + tdef.getStylesheetURL(), null); //$NON-NLS-1$
+			URIResolver resolver = getResolver(tdef);
+			addStyleSheet(invoker, tdef, params, url, properties, resolver);
+		}
+	}
+
+	private void addStyleSheet(IProcessorInvoker invoker,
+			TransformDefinition tdef, Map<String, Object> params, URL url,
+			Properties properties, URIResolver resolver)
+			throws ConfigurationException {
+		try {
+			invoker.addStylesheet(url, params, properties, resolver);
+		} catch (TransformerConfigurationException e) {
+			throw new ConfigurationException(
+					Messages.getString("PipelineDefinition.10") + tdef.getStylesheetURL(), null); //$NON-NLS-1$
+		}
+	}
+
+	private URIResolver getResolver(TransformDefinition tdef)
+			throws ConfigurationException {
+		URIResolver resolver = null;
+
+		if (tdef.getResolverClass() != null) {
+			try {
+				Class resolverClass = Class.forName(tdef.getResolverClass());
+				resolver = (URIResolver) resolverClass.newInstance();
+			} catch (InstantiationException e) {
+				
+			} catch (IllegalAccessException e) {
+				throw new ConfigurationException(
+						Messages.getString("PipelineDefinition.10") + tdef.getResolverClass(), null); //$NON-NLS-1$
+			} catch (ClassNotFoundException e) {
+				
 			}
 		}
+		return resolver;
+	}
+
+	private URL getStyleSheetURL(TransformDefinition tdef)
+			throws ConfigurationException {
+		URL url = null;
+		try {
+			url = new URL(tdef.getStylesheetURL());
+		} catch (MalformedURLException e) {
+			throw new ConfigurationException(
+					Messages.getString("PipelineDefinition.9") + tdef.getStylesheetURL(), e); //$NON-NLS-1$
+		}
+		return url;
+	}
+
+	private Map<String, Object> setParams(TransformDefinition tdef)
+			throws ConfigurationException {
+		Map<String, Object> params = null;
+		try {
+			params = tdef.getParametersAsMap();
+		} catch (CreationException e) {
+			throw new ConfigurationException(Messages
+					.getString("PipelineDefinition.8"), e); //$NON-NLS-1$
+		}
+		return params;
 	}
 
 	/**
@@ -174,28 +214,27 @@
 	 * 
 	 * @return the set of attributes
 	 */
-	public Set getAttributes()
-	{
+	public Set<TypedValue> getAttributes() {
 		return attributes;
 	}
 
 	/**
 	 * Add a attribute to this configuration
 	 * 
-	 * @param attribute the attribute to add
+	 * @param attribute
+	 *            the attribute to add
 	 */
-	public void addAttribute(TypedValue attribute)
-	{
+	public void addAttribute(TypedValue attribute) {
 		attributes.add(attribute);
 	}
 
 	/**
 	 * Remove a attribute from the set of attributes
 	 * 
-	 * @param attribute the attribute to remove
+	 * @param attribute
+	 *            the attribute to remove
 	 */
-	public void removeAttribute(TypedValue attribute)
-	{
+	public void removeAttribute(TypedValue attribute) {
 		attributes.remove(attribute);
 	}
 
@@ -204,48 +243,46 @@
 	 * 
 	 * @return the list of transform definitions
 	 */
-	public List getTransformDefs()
-	{
+	public List<TransformDefinition> getTransformDefs() {
 		return transformDefs;
 	}
 
 	/**
 	 * Add a transform definition to this.
 	 * 
-	 * @param tdef the transform definition to add
+	 * @param tdef
+	 *            the transform definition to add
 	 */
-	public void addTransformDef(TransformDefinition tdef)
-	{
+	public void addTransformDef(TransformDefinition tdef) {
 		transformDefs.add(tdef);
 	}
 
 	/**
 	 * Remove a transform definition from this.
 	 * 
-	 * @param tdef the transform definition to remove
+	 * @param tdef
+	 *            the transform definition to remove
 	 */
-	public void removeTransformDef(TransformDefinition tdef)
-	{
+	public void removeTransformDef(TransformDefinition tdef) {
 		transformDefs.remove(tdef);
 	}
 
 	/**
-	 * Set whether to use an XSL declaration embedded in the XML file 
+	 * Set whether to use an XSL declaration embedded in the XML file
 	 * 
-	 * @param embedded true to use embedded
+	 * @param embedded
+	 *            true to use embedded
 	 */
-	public void setUseEmbedded(boolean embedded)
-	{
+	public void setUseEmbedded(boolean embedded) {
 		useEmbedded = embedded;
 	}
 
 	/**
-	 * Get whether to use an XSL declaration embedded in the XML file 
+	 * Get whether to use an XSL declaration embedded in the XML file
 	 * 
 	 * @return true if embedded
 	 */
-	public boolean useEmbedded()
-	{
+	public boolean useEmbedded() {
 		return useEmbedded;
 	}
 
@@ -253,10 +290,10 @@
 	 * Serialize this to a DOM Document.
 	 * 
 	 * @return the serialized document
-	 * @throws ParserConfigurationException if a problem occurs during serialization
+	 * @throws ParserConfigurationException
+	 *             if a problem occurs during serialization
 	 */
-	public Document toXML() throws ParserConfigurationException
-	{
+	public Document toXML() throws ParserConfigurationException {
 		Document doc = newDocument();
 		Element rootEl = doc.createElement("Pipeline"); //$NON-NLS-1$
 		rootEl.setAttribute("source", sourceURL); //$NON-NLS-1$
@@ -265,23 +302,21 @@
 
 		Element attributesEl = doc.createElement("Attributes"); //$NON-NLS-1$
 		rootEl.appendChild(attributesEl);
-		for (Iterator iter = attributes.iterator(); iter.hasNext();)
-		{
+		for (Iterator<TypedValue> iter = attributes.iterator(); iter.hasNext();) {
 			TypedValue attribute = (TypedValue) iter.next();
 			Element attributeEl = doc.createElement("Attribute"); //$NON-NLS-1$
-			attributeEl.setAttribute("name", attribute.uri); //$NON-NLS-1$
+			attributeEl.setAttribute("name", attribute.name); //$NON-NLS-1$
 			attributeEl.setAttribute("type", attribute.type); //$NON-NLS-1$
 			attributeEl.setAttribute("value", attribute.value); //$NON-NLS-1$
 			attributesEl.appendChild(attributeEl);
 		}
 
 		rootEl.setAttribute("useEmbedded", String.valueOf(useEmbedded)); //$NON-NLS-1$
-		if (!useEmbedded)
-		{
+		if (!useEmbedded) {
 			Element transformsEl = doc.createElement("Transforms"); //$NON-NLS-1$
 			rootEl.appendChild(transformsEl);
-			for (Iterator iter = transformDefs.iterator(); iter.hasNext();)
-			{
+			for (Iterator<TransformDefinition> iter = transformDefs.iterator(); iter
+					.hasNext();) {
 				TransformDefinition tdef = (TransformDefinition) iter.next();
 				Element tdefEl = tdef.asXML(doc);
 				transformsEl.appendChild(tdefEl);
@@ -291,8 +326,7 @@
 		return doc;
 	}
 
-	private static Document newDocument() throws ParserConfigurationException
-	{
+	private static Document newDocument() throws ParserConfigurationException {
 		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
 		DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
 		Document doc = docBuilder.newDocument();
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/TransformDefinition.java b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/TransformDefinition.java
index 8679d90..5849ad6 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/TransformDefinition.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/TransformDefinition.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2007,2010 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,15 +7,16 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (Intalio) - bug 213776 - URI Resolver
  *******************************************************************************/
 package org.eclipse.wst.xsl.jaxp.debug.invoker;
 
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
 
 import org.eclipse.wst.xsl.jaxp.debug.invoker.internal.CreationException;
 import org.w3c.dom.Document;
@@ -27,26 +28,30 @@
  * 
  * @author Doug Satchwell
  */
-public class TransformDefinition
-{
+public class TransformDefinition {
+	public static final String DEFAULT_CATALOG_RESOLVER = "org.apache.xml.resolver.tools.CatalogResolver"; //$NON-NLS-1$
 	private String stylesheetURL;
 	private String resolverClass;
 	private Properties outputProperties = new Properties();
-	private final Set parameters = new HashSet();
+	private final Set<TypedValue> parameters = new HashSet<TypedValue>();
+	
+	public TransformDefinition() {
+		this.resolverClass = DEFAULT_CATALOG_RESOLVER;
+	}
 
 	/**
-	 * Get the parameters as a map of name (<code>String</code>) v. value <code>TypedValue</code>.
+	 * Get the parameters as a map of name (<code>String</code>) v. value
+	 * <code>TypedValue</code>.
 	 * 
 	 * @return a map of names and values
-	 * @throws CreationException if an exception occurred during object creation
+	 * @throws CreationException
+	 *             if an exception occurred during object creation
 	 */
-	public Map getParametersAsMap() throws CreationException
-	{
-		Map m = new HashMap();
-		for (Iterator iter = parameters.iterator(); iter.hasNext();)
-		{
-			TypedValue tv = (TypedValue) iter.next();
-			String key = tv.uri;
+	public Map<String, Object> getParametersAsMap() throws CreationException {
+		Map<String, Object> m = new ConcurrentHashMap<String, Object>();
+		for (Iterator<TypedValue> iter = parameters.iterator(); iter.hasNext();) {
+			TypedValue tv = iter.next();
+			String key = tv.name;
 			Object value = tv.createValue();
 			m.put(key, value);
 		}
@@ -58,28 +63,27 @@
 	 * 
 	 * @return a set of <code>TypedValue</code>'s
 	 */
-	public Set getParameters()
-	{
+	public Set<TypedValue> getParameters() {
 		return parameters;
 	}
 
 	/**
 	 * Add a parameter to the set of parameters
 	 * 
-	 * @param parameter the parameter to add
+	 * @param parameter
+	 *            the parameter to add
 	 */
-	public void addParameter(TypedValue parameter)
-	{
+	public void addParameter(TypedValue parameter) {
 		parameters.add(parameter);
 	}
 
 	/**
 	 * Remove a parameter.
 	 * 
-	 * @param parameter the parameter to remove
+	 * @param parameter
+	 *            the parameter to remove
 	 */
-	public void removeParameter(TypedValue parameter)
-	{
+	public void removeParameter(TypedValue parameter) {
 		parameters.remove(parameter);
 	}
 
@@ -88,39 +92,40 @@
 	 * 
 	 * @return the output properties
 	 */
-	public Properties getOutputProperties()
-	{
+	public Properties getOutputProperties() {
 		return outputProperties;
 	}
 
 	/**
 	 * Set the output properties for this.
 	 * 
-	 * @param outputProperties the output properties to set
+	 * @param outputProperties
+	 *            the output properties to set
 	 */
-	public void setOutputProperties(Properties outputProperties)
-	{
+	public void setOutputProperties(Properties outputProperties) {
 		this.outputProperties = outputProperties;
 	}
 
 	/**
-	 * Set the value of a specific output property.
+	 * Set the value of a specific output property.  If the property
+	 * does not already exist, it will be created.
 	 * 
-	 * @param name the output property
-	 * @param value the value
+	 * @param name
+	 *            the output property
+	 * @param value
+	 *            the value
 	 */
-	public void setOutputProperty(String name, String value)
-	{
+	public void setOutputProperty(String name, String value) {
 		outputProperties.put(name, value);
 	}
 
 	/**
 	 * Remove an output property.
 	 * 
-	 * @param name the output property to remove
+	 * @param name
+	 *            the output property to remove
 	 */
-	public void removeOutputProperty(String name)
-	{
+	public void removeOutputProperty(String name) {
 		outputProperties.remove(name);
 	}
 
@@ -129,18 +134,17 @@
 	 * 
 	 * @return the resolver's class name
 	 */
-	public String getResolverClass()
-	{
+	public String getResolverClass() {
 		return resolverClass;
 	}
 
 	/**
 	 * Set the name of the <code>URIResolver</code> class to use.
 	 * 
-	 *  @param resolver the resolver's class name
+	 * @param resolver
+	 *            the resolver's class name
 	 */
-	public void setResolverClass(String resolver)
-	{
+	public void setResolverClass(String resolver) {
 		resolverClass = resolver;
 	}
 
@@ -149,38 +153,38 @@
 	 * 
 	 * @return the stylesheet URL
 	 */
-	public String getStylesheetURL()
-	{
+	public String getStylesheetURL() {
 		return stylesheetURL;
 	}
 
 	/**
 	 * Set the URL of the stylesheet.
 	 * 
-	 * @param stylesheet the stylesheet URL
+	 * @param stylesheet
+	 *            the stylesheet URL
 	 */
-	public void setStylesheetURL(String stylesheet)
-	{
+	public void setStylesheetURL(String stylesheet) {
 		stylesheetURL = stylesheet;
 	}
 
 	/**
 	 * Serialize this to a Document fragment.
 	 * 
-	 * @param doc the document to attach to
+	 * @param doc
+	 *            the document to attach to
 	 * @return the root element of the fragment
 	 */
-	public Element asXML(Document doc)
-	{
+	public Element asXML(Document doc) {
 		Element tdefEl = doc.createElement("Transform"); //$NON-NLS-1$
-		tdefEl.setAttribute(Messages.getString("TransformDefinition.1"), stylesheetURL); //$NON-NLS-1$
+		tdefEl.setAttribute(
+				Messages.getString("TransformDefinition.1"), stylesheetURL); //$NON-NLS-1$
 		if (resolverClass != null)
 			tdefEl.setAttribute("uriResolver", resolverClass); //$NON-NLS-1$
 		Element opEl = doc.createElement("OutputProperties"); //$NON-NLS-1$
 		tdefEl.appendChild(opEl);
-		for (Iterator iter = outputProperties.entrySet().iterator(); iter.hasNext();)
-		{
-			Map.Entry entry = (Map.Entry) iter.next();
+		for (Iterator<?> iter = outputProperties.entrySet().iterator(); iter
+				.hasNext();) {
+			Map.Entry<?, ?> entry = (Map.Entry<?, ?>) iter.next();
 			Element propEl = doc.createElement("Property"); //$NON-NLS-1$
 			propEl.setAttribute("name", (String) entry.getKey()); //$NON-NLS-1$
 			propEl.setAttribute("value", (String) entry.getValue()); //$NON-NLS-1$
@@ -188,11 +192,10 @@
 		}
 		Element paramsEl = doc.createElement("Parameters"); //$NON-NLS-1$
 		tdefEl.appendChild(paramsEl);
-		for (Iterator iter = parameters.iterator(); iter.hasNext();)
-		{
+		for (Iterator<TypedValue> iter = parameters.iterator(); iter.hasNext();) {
 			Element propEl = doc.createElement("Parameter"); //$NON-NLS-1$
-			TypedValue param = (TypedValue) iter.next();
-			propEl.setAttribute("name", param.uri); //$NON-NLS-1$
+			TypedValue param = iter.next();
+			propEl.setAttribute("name", param.name); //$NON-NLS-1$
 			propEl.setAttribute("type", param.type); //$NON-NLS-1$
 			propEl.setAttribute("value", param.value); //$NON-NLS-1$
 			paramsEl.appendChild(propEl);
@@ -203,23 +206,22 @@
 	/**
 	 * Create a new instance of this from its serialized form.
 	 * 
-	 * @param transformEl the element to create this from
+	 * @param transformEl
+	 *            the element to create this from
 	 * @return a new instance of this
 	 */
-	public static TransformDefinition fromXML(Element transformEl)
-	{
+	public static TransformDefinition fromXML(Element transformEl) {
 		TransformDefinition tdef = new TransformDefinition();
 		String url = transformEl.getAttribute("url"); //$NON-NLS-1$
 		tdef.setStylesheetURL(url);
 		String uriResolver = transformEl.getAttribute("uriResolver"); //$NON-NLS-1$
 		tdef.setResolverClass(uriResolver);
 
-		Element opEl = (Element) transformEl.getElementsByTagName("OutputProperties").item(0); //$NON-NLS-1$
-		if (opEl != null)
-		{
+		Element opEl = (Element) transformEl.getElementsByTagName(
+				"OutputProperties").item(0); //$NON-NLS-1$
+		if (opEl != null) {
 			NodeList propEls = opEl.getElementsByTagName("Property"); //$NON-NLS-1$
-			for (int i = 0; i < propEls.getLength(); i++)
-			{
+			for (int i = 0; i < propEls.getLength(); i++) {
 				Element propEl = (Element) propEls.item(i);
 				String name = propEl.getAttribute("name"); //$NON-NLS-1$
 				String value = propEl.getAttribute("value"); //$NON-NLS-1$
@@ -227,16 +229,19 @@
 			}
 		}
 
-		Element paramsEl = (Element) transformEl.getElementsByTagName(Messages.getString("TransformDefinition.18")).item(0); //$NON-NLS-1$
-		if (paramsEl != null)
-		{
-			NodeList paramEls = paramsEl.getElementsByTagName(Messages.getString("TransformDefinition.19")); //$NON-NLS-1$
-			for (int i = 0; i < paramEls.getLength(); i++)
-			{
+		Element paramsEl = (Element) transformEl.getElementsByTagName(
+				Messages.getString("TransformDefinition.18")).item(0); //$NON-NLS-1$
+		if (paramsEl != null) {
+			NodeList paramEls = paramsEl.getElementsByTagName(Messages
+					.getString("TransformDefinition.19")); //$NON-NLS-1$
+			for (int i = 0; i < paramEls.getLength(); i++) {
 				Element paramEl = (Element) paramEls.item(i);
-				String name = paramEl.getAttribute(Messages.getString("TransformDefinition.20")); //$NON-NLS-1$
-				String type = paramEl.getAttribute(Messages.getString("TransformDefinition.21")); //$NON-NLS-1$
-				String value = paramEl.getAttribute(Messages.getString("TransformDefinition.22")); //$NON-NLS-1$
+				String name = paramEl.getAttribute(Messages
+						.getString("TransformDefinition.20")); //$NON-NLS-1$
+				String type = paramEl.getAttribute(Messages
+						.getString("TransformDefinition.21")); //$NON-NLS-1$
+				String value = paramEl.getAttribute(Messages
+						.getString("TransformDefinition.22")); //$NON-NLS-1$
 				tdef.addParameter(new TypedValue(name, type, value));
 			}
 		}
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/TypedValue.java b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/TypedValue.java
index ad51c4d..ed27220 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/TypedValue.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/TypedValue.java
@@ -13,123 +13,99 @@
 import org.eclipse.wst.xsl.jaxp.debug.invoker.internal.CreationException;
 
 /**
- * A value that is to be instantiated from a particular type e.g. Double, Object.
+ * A value that is to be instantiated from a particular type e.g. Double,
+ * Object.
  * 
  * @author Doug Satchwell
  */
-public class TypedValue
-{
+public class TypedValue {
 	public static final String TYPE_STRING = "string"; //$NON-NLS-1$
-	private static final String TYPE_BOOLEAN = "boolean"; //$NON-NLS-1$
-	private static final String TYPE_INT = "int"; //$NON-NLS-1$
-	private static final String TYPE_DOUBLE = "double"; //$NON-NLS-1$
-	private static final String TYPE_FLOAT = "float"; //$NON-NLS-1$
-	private static final String TYPE_CLASS = "class"; //$NON-NLS-1$
-	private static final String TYPE_OBJECT = "object"; //$NON-NLS-1$
+	public static final String TYPE_BOOLEAN = "boolean"; //$NON-NLS-1$
+	public static final String TYPE_INT = "int"; //$NON-NLS-1$
+	public static final String TYPE_DOUBLE = "double"; //$NON-NLS-1$
+	public static final String TYPE_FLOAT = "float"; //$NON-NLS-1$
+	public static final String TYPE_CLASS = "class"; //$NON-NLS-1$
+	public static final String TYPE_OBJECT = "object"; //$NON-NLS-1$
 
-	final String uri;
+	final String name;
 	final String type;
 	final String value;
 
 	/**
-	 * Create a new instance of this from the given information. 
+	 * Create a new instance of this from the given information.
 	 * 
-	 * @param uri the URI
-	 * @param type the type of value
-	 * @param value the value
+	 * @param name
+	 *            the parameter name
+	 * @param type
+	 *            the type of value
+	 * @param value
+	 *            the value
 	 */
-	public TypedValue(String uri, String type, String value)
-	{
-		this.uri = uri;
+	public TypedValue(String name, String type, String value) {
+		this.name = name;
 		this.type = type;
 		this.value = value;
 	}
 
 	/**
-	 * Create the type of object defined by this. 
+	 * Create the type of object defined by this.
 	 * 
 	 * @return the value
-	 * @throws CreationException if a problem occurred
+	 * @throws CreationException
+	 *             if a problem occurred
 	 */
-	public Object createValue() throws CreationException
-	{
+	public Object createValue() throws CreationException {
 		Object o = null;
-		if (TYPE_STRING.equals(type))
-		{
+		if (TYPE_STRING.equals(type)) {
 			o = value;
-		}
-		else if (TYPE_BOOLEAN.equals(type))
-		{
+		} else if (TYPE_BOOLEAN.equals(type)) {
 			boolean b = "yes".equalsIgnoreCase(value) || "true".equalsIgnoreCase(value); //$NON-NLS-1$ //$NON-NLS-2$
-			o = new Boolean(b);
-		}
-		else if (TYPE_INT.equals(type))
-		{
-			try
-			{
+			o = Boolean.valueOf(b);
+		} else if (TYPE_INT.equals(type)) {
+			try {
 				o = new Integer(value);
+			} catch (NumberFormatException e) {
+				throw new CreationException(
+						Messages.getString("TypedValue.9") + value + Messages.getString("TypedValue.10"), e); //$NON-NLS-1$ //$NON-NLS-2$
 			}
-			catch (NumberFormatException e)
-			{
-				throw new CreationException(Messages.getString("TypedValue.9") + value + Messages.getString("TypedValue.10"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		else if (TYPE_DOUBLE.equals(type))
-		{
-			try
-			{
+		} else if (TYPE_DOUBLE.equals(type)) {
+			try {
 				o = new Double(value);
+			} catch (NumberFormatException e) {
+				throw new CreationException(
+						Messages.getString("TypedValue.11") + value + Messages.getString("TypedValue.12"), e); //$NON-NLS-1$ //$NON-NLS-2$
 			}
-			catch (NumberFormatException e)
-			{
-				throw new CreationException(Messages.getString("TypedValue.11") + value + Messages.getString("TypedValue.12"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		else if (TYPE_FLOAT.equals(type))
-		{
-			try
-			{
+		} else if (TYPE_FLOAT.equals(type)) {
+			try {
 				o = new Float(value);
+			} catch (NumberFormatException e) {
+				throw new CreationException(
+						Messages.getString("TypedValue.13") + value + Messages.getString("TypedValue.14"), e); //$NON-NLS-1$ //$NON-NLS-2$
 			}
-			catch (NumberFormatException e)
-			{
-				throw new CreationException(Messages.getString("TypedValue.13") + value + Messages.getString("TypedValue.14"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		else if (TYPE_CLASS.equals(type))
-		{
-			try
-			{
+		} else if (TYPE_CLASS.equals(type)) {
+			try {
 				o = Class.forName(value);
+			} catch (ClassNotFoundException e) {
+				throw new CreationException(
+						Messages.getString("TypedValue.15") + value + Messages.getString("TypedValue.16"), e); //$NON-NLS-1$ //$NON-NLS-2$
 			}
-			catch (ClassNotFoundException e)
-			{
-				throw new CreationException(Messages.getString("TypedValue.15") + value + Messages.getString("TypedValue.16"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		else if (TYPE_OBJECT.equals(type))
-		{
-			try
-			{
-				Class c = Class.forName(value);
+		} else if (TYPE_OBJECT.equals(type)) {
+			try {
+				Class<?> c = Class.forName(value);
 				o = c.newInstance();
+			} catch (ClassNotFoundException e) {
+				throw new CreationException(
+						Messages.getString("TypedValue.17") + value + Messages.getString("TypedValue.18"), e); //$NON-NLS-1$ //$NON-NLS-2$
+			} catch (InstantiationException e) {
+				throw new CreationException(
+						Messages.getString("TypedValue.19") + value + Messages.getString("TypedValue.20"), e); //$NON-NLS-1$ //$NON-NLS-2$
+			} catch (IllegalAccessException e) {
+				throw new CreationException(
+						Messages.getString("TypedValue.21") + value + Messages.getString("TypedValue.22"), e); //$NON-NLS-1$ //$NON-NLS-2$
 			}
-			catch (ClassNotFoundException e)
-			{
-				throw new CreationException(Messages.getString("TypedValue.17") + value + Messages.getString("TypedValue.18"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			catch (InstantiationException e)
-			{
-				throw new CreationException(Messages.getString("TypedValue.19") + value + Messages.getString("TypedValue.20"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			catch (IllegalAccessException e)
-			{
-				throw new CreationException(Messages.getString("TypedValue.21") + value + Messages.getString("TypedValue.22"), e); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		else
-		{
-			throw new CreationException(Messages.getString("TypedValue.23") + type + Messages.getString("TypedValue.24")); //$NON-NLS-1$ //$NON-NLS-2$
+		} else {
+			throw new CreationException(
+					Messages.getString("TypedValue.23") + type + Messages.getString("TypedValue.24")); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 		return o;
 	}
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/internal/JAXPSAXProcessorInvoker.java b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/internal/JAXPSAXProcessorInvoker.java
index 40c424c..28ec4cd 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/internal/JAXPSAXProcessorInvoker.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/internal/JAXPSAXProcessorInvoker.java
@@ -170,11 +170,11 @@
 		else {
 			reader.setContentHandler(newTh);
 			try {
-				reader.setProperty("http://xml.org/sax/properties/lexical-handler", newTh);
+				reader.setProperty("http://xml.org/sax/properties/lexical-handler", newTh); //$NON-NLS-1$
 			} catch (SAXNotRecognizedException ex) {
-				log.warn("Unable to set lexical content handler.  Comments and Processing instructions may be skipped");
+				log.warn(Messages.getString("JAXPSAXProcessorInvoker_4")); //$NON-NLS-1$
 			} catch (SAXNotSupportedException e) {
-				log.warn("Lexical property not supported.  Comments and Processing instructions may be skipped");
+				log.warn(Messages.getString("JAXPSAXProcessorInvoker_5")); //$NON-NLS-1$
 			}
 		}
 		th = newTh;
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/internal/messages.properties b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/internal/messages.properties
index ff8f9a1..2c5aeec 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/internal/messages.properties
+++ b/bundles/org.eclipse.wst.xsl.jaxp.debug/src/org/eclipse/wst/xsl/jaxp/debug/invoker/internal/messages.properties
@@ -1,3 +1,5 @@
+JAXPSAXProcessorInvoker_4=Unable to set lexical content handler.  Comments and Processing instructions may be skipped
+JAXPSAXProcessorInvoker_5=Lexical property not supported.  Comments and Processing instructions may be skipped
 JAXPSAXProcessorInvoker.0=Setting attribute '
 JAXPSAXProcessorInvoker.1=' to value 
 JAXPSAXProcessorInvoker.2=Setting parameter '
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xsl.jaxp.launching/.settings/org.eclipse.jdt.core.prefs
index c96ca37..8212296 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Tue Feb 10 05:25:45 GMT 2009
+#Thu Jun 11 01:37:28 GMT 2009
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
@@ -8,13 +8,36 @@
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
@@ -22,4 +45,43 @@
 org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.5
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.jaxp.launching/META-INF/MANIFEST.MF
index b9bbf16..b4bd5c8 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xsl.jaxp.launching;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.100.qualifier
 Bundle-Activator: org.eclipse.wst.xsl.jaxp.launching.internal.JAXPLaunchingPlugin
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.variables;bundle-version="[3.2.100,4.0.0)",
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/plugin.properties b/bundles/org.eclipse.wst.xsl.jaxp.launching/plugin.properties
index 872a2ca..cb66b25 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/plugin.properties
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/plugin.properties
@@ -1,4 +1,4 @@
-Bundle-Vendor.0 = Eclipse.org
+Bundle-Vendor.0 = Eclipse Web Tools Platform
 Bundle-Name.0 = XSL JAXP Launching
 launchDelegate.name.0 = Java
 processorType.label.1 = JRE Default
@@ -6,4 +6,4 @@
 debugger = debugger
 invoke = invoke
 processor = processor
-processorType = processorType
\ No newline at end of file
+processorType = processorType
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/JAXPLaunchConfigurationConstants.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/JAXPLaunchConfigurationConstants.java
index a1cf82d..7ffdfe1 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/JAXPLaunchConfigurationConstants.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/JAXPLaunchConfigurationConstants.java
@@ -20,7 +20,7 @@
 	public static final String ATTR_ATTRIBUTES = JAXPLaunchingPlugin.PLUGIN_ID + ".ATTR_ATTRIBUTES"; //$NON-NLS-1$
 	public static final String ATTR_DEFAULT_DEBUGGING_INSTALL_ID = JAXPLaunchingPlugin.PLUGIN_ID + ".ATTR_DEFAULT_DEBUGGING_INSTALL_ID"; //$NON-NLS-1$
 	public static final String ATTR_USE_DEFAULT_PROCESSOR = JAXPLaunchingPlugin.PLUGIN_ID + ".ATTR_USE_DEFAULT_PROCESSOR"; //$NON-NLS-1$
-	public static final String ATTR_TRANSFORMER_FACTORY = JAXPLaunchingPlugin.PLUGIN_ID + ".ATTR_TRANSFORMER_FACTORY";
+	public static final String ATTR_TRANSFORMER_FACTORY = JAXPLaunchingPlugin.PLUGIN_ID + ".ATTR_TRANSFORMER_FACTORY"; //$NON-NLS-1$
 
 	public static final String XALAN_TYPE_ID = "org.eclipse.wst.xsl.xalan.processorType"; //$NON-NLS-1$
 	public static final String SAXON_TYPE_ID = "org.eclipse.wst.xsl.saxon.processorType"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Attribute.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Attribute.java
index 15306b5..b7cacca 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Attribute.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Attribute.java
@@ -14,87 +14,69 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.wst.xsl.jaxp.launching.IAttribute;
 
-public class Attribute implements IAttribute, Comparable<Object>
-{
+public class Attribute implements IAttribute, Comparable<Object> {
 	private final String uri;
 	private final String description;
 	private final String type;
 
-	public Attribute(String uri, String type, String description)
-	{
+	public Attribute(String uri, String type, String description) {
 		this.uri = uri;
 		this.type = type;
 		this.description = description;
 	}
 
-	public String getDescription()
-	{
+	public String getDescription() {
 		return description;
 	}
 
-	public String getType()
-	{
+	public String getType() {
 		return type;
 	}
 
-	public String getURI()
-	{
+	public String getURI() {
 		return uri;
 	}
 
-	public IStatus validateValue(String value)
-	{
+	public IStatus validateValue(String value) {
 		IStatus status = null;
-		if (TYPE_BOOLEAN.equals(type))
-		{
+		if (TYPE_BOOLEAN.equals(type)) {
 			boolean valid = "true".equals(value) || "false".equals(value); //$NON-NLS-1$ //$NON-NLS-2$
 			if (!valid)
-				status = new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, 0, Messages.Attribute_2, null); 
-		}
-		else if (TYPE_INT.equals(type))
-		{
-			try
-			{
+				status = new Status(IStatus.ERROR,
+						JAXPLaunchingPlugin.PLUGIN_ID, 0, Messages.Attribute_2,
+						null);
+		} else if (TYPE_INT.equals(type)) {
+			try {
 				Integer.parseInt(value);
+			} catch (NumberFormatException e) {
+				status = new Status(IStatus.ERROR,
+						JAXPLaunchingPlugin.PLUGIN_ID, 0, Messages.Attribute_1,
+						null);
 			}
-			catch (NumberFormatException e)
-			{
-				status = new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, 0, Messages.Attribute_1, null); 
-			}
-		}
-		else if (TYPE_DOUBLE.equals(type))
-		{
-			try
-			{
+		} else if (TYPE_DOUBLE.equals(type)) {
+			try {
 				Double.parseDouble(value);
+			} catch (NumberFormatException e) {
+				status = new Status(IStatus.ERROR,
+						JAXPLaunchingPlugin.PLUGIN_ID, 0, Messages.Attribute_0,
+						null);
 			}
-			catch (NumberFormatException e)
-			{
-				status = new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, 0, Messages.Attribute_0, null); 
-			}
-		}
-		else if (TYPE_FLOAT.equals(type))
-		{
-			try
-			{
+		} else if (TYPE_FLOAT.equals(type)) {
+			try {
 				Float.parseFloat(value);
+			} catch (NumberFormatException e) {
+				status = new Status(IStatus.ERROR,
+						JAXPLaunchingPlugin.PLUGIN_ID, 0, Messages.Attribute_5,
+						null);
 			}
-			catch (NumberFormatException e)
-			{
-				status = new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, 0, Messages.Attribute_5, null); 
-			}
-		}
-		else if (TYPE_CLASS.equals(type) || TYPE_OBJECT.equals(type))
-		{
-			//status = JavaConventions.validateJavaTypeName(value);
+		} else if (TYPE_CLASS.equals(type) || TYPE_OBJECT.equals(type)) {
+			// status = JavaConventions.validateJavaTypeName(value);
 		}
 		return status;
 	}
 
-	public int compareTo(Object o)
-	{
-		if (o instanceof IAttribute)
-		{
+	public int compareTo(Object o) {
+		if (o instanceof IAttribute) {
 			IAttribute f = (IAttribute) o;
 			return f.getURI().compareTo(getURI());
 		}
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/JAXPJavaLaunchConfigurationDelegate.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/JAXPJavaLaunchConfigurationDelegate.java
index 3e06e3b..59a98aa 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/JAXPJavaLaunchConfigurationDelegate.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/JAXPJavaLaunchConfigurationDelegate.java
@@ -51,59 +51,66 @@
 import org.eclipse.wst.xsl.jaxp.launching.model.JAXPDebugTarget;
 import org.eclipse.wst.xsl.launching.model.IXSLConstants;
 
-public class JAXPJavaLaunchConfigurationDelegate extends JavaLaunchDelegate implements IDebugEventSetListener
-{
+public class JAXPJavaLaunchConfigurationDelegate extends JavaLaunchDelegate
+		implements IDebugEventSetListener {
 	private String mode;
 	LaunchHelper launchHelper;
-	
+
 	@Override
-	public synchronized void launch(ILaunchConfiguration configuration, final String mode, final ILaunch launch, IProgressMonitor monitor) throws CoreException
-	{
+	public synchronized void launch(ILaunchConfiguration configuration,
+			final String mode, final ILaunch launch, IProgressMonitor monitor)
+			throws CoreException {
 		this.mode = mode;
 		launchHelper.save(getLaunchConfigFile());
-		
+
 		// set the launch name
 		IProcessorInstall install = getProcessorInstall(configuration, mode);
 		String tfactory = getTransformerFactory(install);
 		String name = install.getName();
 		if (tfactory != null)
-			name += "[" + tfactory + "]";
-		launch.setAttribute("launchName", name);
+			name += "[" + tfactory + "]"; //$NON-NLS-1$//$NON-NLS-2$
+		launch.setAttribute("launchName", name); //$NON-NLS-1$
 
-		// the super.launch will add a Java source director if we set it to null here
+		// the super.launch will add a Java source director if we set it to null
+		// here
 		final ISourceLocator configuredLocator = launch.getSourceLocator();
 		launch.setSourceLocator(null);
 
 		super.launch(configuration, mode, launch, monitor);
-		
-		// now get the java source locator
-		final ISourceLocator javaSourceLookupDirector = launch.getSourceLocator();
-		// now add our own participant to the java director
-		launch.setSourceLocator(new ISourceLocator(){
 
-			public Object getSourceElement(IStackFrame stackFrame) 
-			{
+		// now get the java source locator
+		final ISourceLocator javaSourceLookupDirector = launch
+				.getSourceLocator();
+		// now add our own participant to the java director
+		launch.setSourceLocator(new ISourceLocator() {
+
+			public Object getSourceElement(IStackFrame stackFrame) {
 				// simply look at one and then the other
-				Object sourceElement = javaSourceLookupDirector.getSourceElement(stackFrame);
+				Object sourceElement = javaSourceLookupDirector
+						.getSourceElement(stackFrame);
 				if (sourceElement == null)
-					sourceElement = configuredLocator.getSourceElement(stackFrame);
+					sourceElement = configuredLocator
+							.getSourceElement(stackFrame);
 				return sourceElement;
-			}});
-		
-//		IJavaDebugTarget javaTarget = (IJavaDebugTarget)launch.getDebugTarget();
-//		launch.removeDebugTarget(javaTarget);
-		
+			}
+		});
+
+		// IJavaDebugTarget javaTarget =
+		// (IJavaDebugTarget)launch.getDebugTarget();
+		// launch.removeDebugTarget(javaTarget);
+
 		IDebugTarget javaTarget = launch.getDebugTarget();
-		IDebugTarget xslTarget = new JAXPDebugTarget(launch, launch.getProcesses()[0], launchHelper);
-		
+		IDebugTarget xslTarget = new JAXPDebugTarget(launch, launch
+				.getProcesses()[0], launchHelper);
+
 		// remove java as the primary target and make xsl the primary target
 		launch.removeDebugTarget(javaTarget);
 		launch.addDebugTarget(xslTarget);
 		// add this here to make java the non-primary target
-	//	launch.addDebugTarget(javaTarget);
-		
-	//	launch.addDebugTarget(new JavaXSLDebugTarget(launch, launch.getProcesses()[0], launchHelper, javaTarget));
-		
+		// launch.addDebugTarget(javaTarget);
+
+		// launch.addDebugTarget(new JavaXSLDebugTarget(launch,
+		// launch.getProcesses()[0], launchHelper, javaTarget));
 
 	}
 
@@ -111,77 +118,111 @@
 	 * Get the Java breakpoint and the XSL breakpoints
 	 */
 	@Override
-	protected IBreakpoint[] getBreakpoints(ILaunchConfiguration configuration)
-	{
-		IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
+	protected IBreakpoint[] getBreakpoints(ILaunchConfiguration configuration) {
+		IBreakpointManager breakpointManager = DebugPlugin.getDefault()
+				.getBreakpointManager();
 		if (!breakpointManager.isEnabled())
 			return null;
-		
+
 		IBreakpoint[] javaBreakpoints = super.getBreakpoints(configuration);
-		IBreakpoint[] xslBreakpoints = breakpointManager.getBreakpoints(IXSLConstants.ID_XSL_DEBUG_MODEL);
-		IBreakpoint[] breakpoints = new IBreakpoint[javaBreakpoints.length+xslBreakpoints.length];
-		System.arraycopy(javaBreakpoints, 0, breakpoints, 0, javaBreakpoints.length);
-		System.arraycopy(xslBreakpoints, 0, breakpoints, javaBreakpoints.length, xslBreakpoints.length);
-		
+		IBreakpoint[] xslBreakpoints = breakpointManager
+				.getBreakpoints(IXSLConstants.ID_XSL_DEBUG_MODEL);
+		IBreakpoint[] breakpoints = new IBreakpoint[javaBreakpoints.length
+				+ xslBreakpoints.length];
+		System.arraycopy(javaBreakpoints, 0, breakpoints, 0,
+				javaBreakpoints.length);
+		System.arraycopy(xslBreakpoints, 0, breakpoints,
+				javaBreakpoints.length, xslBreakpoints.length);
+
 		return breakpoints;
 	}
 
 	@Override
-	public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException
-	{
+	public boolean preLaunchCheck(ILaunchConfiguration configuration,
+			String mode, IProgressMonitor monitor) throws CoreException {
 		this.launchHelper = new LaunchHelper(configuration);
-		if (mode.equals(ILaunchManager.DEBUG_MODE))
-		{
-			// TODO don't like having UI code in the launching plugin...where else can it go?
-			final IProcessorInstall install = getProcessorInstall(configuration, ILaunchManager.RUN_MODE);
-			if (install.getDebugger() == null)
-			{
-				final boolean[] result = new boolean[]
-				{ false };
+		if (mode.equals(ILaunchManager.DEBUG_MODE)) {
+			// TODO don't like having UI code in the launching plugin...where
+			// else can it go?
+			final IProcessorInstall install = getProcessorInstall(
+					configuration, ILaunchManager.RUN_MODE);
+			if (install.getDebugger() == null) {
+				final boolean[] result = new boolean[] { false };
 				// open a dialog for choosing a different install that does have
 				// an associated debugger
-				PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable()
-				{
-					public void run()
-					{
-						String debuggingInstallId = JAXPLaunchingPlugin.getDefault().getPluginPreferences().getString(JAXPLaunchConfigurationConstants.ATTR_DEFAULT_DEBUGGING_INSTALL_ID);
-						IProcessorInstall processor = JAXPRuntime.getProcessor(debuggingInstallId);
+				PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() {
+					public void run() {
+						String debuggingInstallId = JAXPLaunchingPlugin
+								.getDefault()
+								.getPluginPreferences()
+								.getString(
+										JAXPLaunchConfigurationConstants.ATTR_DEFAULT_DEBUGGING_INSTALL_ID);
+						IProcessorInstall processor = JAXPRuntime
+								.getProcessor(debuggingInstallId);
 
-						IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-						
-						String title = Messages.XSLTLaunchConfigurationDelegate_0; 
-						String message = Messages.XSLTLaunchConfigurationDelegate_1 + install.getName() + Messages.XSLTLaunchConfigurationDelegate_2
-								+ Messages.XSLTLaunchConfigurationDelegate_3 + processor.getName() + Messages.XSLTLaunchConfigurationDelegate_4;
-						
-						MessageDialog dialog = new MessageDialog(dw.getShell(), title, null, message, MessageDialog.QUESTION,
-								new String[] { IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL }, 0); // yes is the default
-						
-				        result[0] = dialog.open() == 0;
+						IWorkbenchWindow dw = PlatformUI.getWorkbench()
+								.getActiveWorkbenchWindow();
+
+						String title = Messages.XSLTLaunchConfigurationDelegate_0;
+						String message = Messages.XSLTLaunchConfigurationDelegate_1
+								+ install.getName()
+								+ Messages.XSLTLaunchConfigurationDelegate_2
+								+ Messages.XSLTLaunchConfigurationDelegate_3
+								+ processor.getName()
+								+ Messages.XSLTLaunchConfigurationDelegate_4;
+
+						MessageDialog dialog = new MessageDialog(dw.getShell(),
+								title, null, message, MessageDialog.QUESTION,
+								new String[] { IDialogConstants.OK_LABEL,
+										IDialogConstants.CANCEL_LABEL }, 0); // yes
+																				// is
+																				// the
+																				// default
+
+						result[0] = dialog.open() == 0;
 					}
 				});
 				return result[0];
-			}
-			else
-			{
-				String debuggerTF = install.getDebugger().getTransformerFactory();
-				String installTF = launchHelper.getTransformerFactory() == null ? null : launchHelper.getTransformerFactory().getFactoryClass();
-				if (!debuggerTF.equals(installTF))
-				{
-					PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable()
-					{
-						public void run()
-						{
-							IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-							
-							String title = "Change Transformer Factory";
-							String message = install.getName() + " must use the " + launchHelper.getTransformerFactory().getName() + " transformer factory when debugging.\n"
-									+ "Be aware that this may give different results to the " + launchHelper.getTransformerFactory().getName() + " transformer factory configured for this launch configuration.";
-							
-							MessageDialog dialog = new MessageDialog(dw.getShell(), title, null, message, MessageDialog.WARNING,
-									new String[] { IDialogConstants.OK_LABEL, IDialogConstants.CANCEL_LABEL }, 0); // yes is the default
-							dialog.open();
-						}
-					});
+			} else {
+				String debuggerTF = install.getDebugger()
+						.getTransformerFactory();
+				String installTF = launchHelper.getTransformerFactory() == null ? null
+						: launchHelper.getTransformerFactory()
+								.getFactoryClass();
+				if (!debuggerTF.equals(installTF)) {
+					PlatformUI.getWorkbench().getDisplay().syncExec(
+							new Runnable() {
+								public void run() {
+									IWorkbenchWindow dw = PlatformUI
+											.getWorkbench()
+											.getActiveWorkbenchWindow();
+
+									String title = Messages.JAXPJavaLaunchConfigurationDelegate_0;
+									String message = install.getName()
+											+ Messages.JAXPJavaLaunchConfigurationDelegate_1
+											+ launchHelper
+													.getTransformerFactory()
+													.getName()
+											+ Messages.JAXPJavaLaunchConfigurationDelegate_2
+											+ Messages.JAXPJavaLaunchConfigurationDelegate_3
+											+ launchHelper
+													.getTransformerFactory()
+													.getName()
+											+ Messages.JAXPJavaLaunchConfigurationDelegate_4;
+
+									MessageDialog dialog = new MessageDialog(
+											dw.getShell(),
+											title,
+											null,
+											message,
+											MessageDialog.WARNING,
+											new String[] {
+													IDialogConstants.OK_LABEL,
+													IDialogConstants.CANCEL_LABEL },
+											0); // yes is the default
+									dialog.open();
+								}
+							});
 				}
 			}
 		}
@@ -189,58 +230,68 @@
 	}
 
 	@Override
-	public IVMRunner getVMRunner(ILaunchConfiguration configuration, String mode) throws CoreException
-	{
-		// comment this out in order to get java debugging as well as XSL debugging
-//		if (ILaunchManager.DEBUG_MODE.equals(mode))
-//			return super.getVMRunner(configuration, ILaunchManager.RUN_MODE);
+	public IVMRunner getVMRunner(ILaunchConfiguration configuration, String mode)
+			throws CoreException {
+		// comment this out in order to get java debugging as well as XSL
+		// debugging
+		// if (ILaunchManager.DEBUG_MODE.equals(mode))
+		// return super.getVMRunner(configuration, ILaunchManager.RUN_MODE);
 		return super.getVMRunner(configuration, mode);
 	}
 
-	private File getLaunchConfigFile()
-	{
-		IPath launchPath = Platform.getStateLocation(JAXPLaunchingPlugin.getDefault().getBundle()).append("launch"); //$NON-NLS-1$
+	private File getLaunchConfigFile() {
+		IPath launchPath = Platform.getStateLocation(
+				JAXPLaunchingPlugin.getDefault().getBundle()).append("launch"); //$NON-NLS-1$
 		File launchDir = launchPath.toFile();
-		if (!launchDir.exists())
-			launchDir.mkdir();
+		if (!launchDir.exists()) {
+			 launchDir.mkdir();
+		}
 		File file = new File(launchDir, "launch.xml"); //$NON-NLS-1$
 		return file;
 	}
 
 	@Override
-	public IPath getWorkingDirectoryPath(ILaunchConfiguration configuration) throws CoreException
-	{
+	public IPath getWorkingDirectoryPath(ILaunchConfiguration configuration)
+			throws CoreException {
 		return launchHelper.getWorkingDir();
 	}
 
-	private IProcessorInvoker getProcessorInvokerDescriptor(ILaunchConfiguration configuration) throws CoreException
-	{
-		String invokerId = configuration.getAttribute(JAXPLaunchConfigurationConstants.INVOKER_DESCRIPTOR, "org.eclipse.wst.xsl.launching.jaxp.invoke");
+	private IProcessorInvoker getProcessorInvokerDescriptor(
+			ILaunchConfiguration configuration) throws CoreException {
+		String invokerId = configuration.getAttribute(
+				JAXPLaunchConfigurationConstants.INVOKER_DESCRIPTOR,
+				Messages.JAXPJavaLaunchConfigurationDelegate_5);
 		return JAXPRuntime.getProcessorInvoker(invokerId);
 	}
 
-	public static IProcessorInstall getProcessorInstall(ILaunchConfiguration configuration, String mode) throws CoreException
-	{
-		IProcessorInstall install = LaunchHelper.getProcessorInstall(configuration);
-		if (mode.equals(ILaunchManager.DEBUG_MODE) && install.getDebugger() == null)
-		{
-			String debuggingInstallId = JAXPLaunchingPlugin.getDefault().getPluginPreferences().getString(JAXPLaunchConfigurationConstants.ATTR_DEFAULT_DEBUGGING_INSTALL_ID);
+	public static IProcessorInstall getProcessorInstall(
+			ILaunchConfiguration configuration, String mode)
+			throws CoreException {
+		IProcessorInstall install = LaunchHelper
+				.getProcessorInstall(configuration);
+		if (mode.equals(ILaunchManager.DEBUG_MODE)
+				&& install.getDebugger() == null) {
+			String debuggingInstallId = JAXPLaunchingPlugin
+					.getDefault()
+					.getPluginPreferences()
+					.getString(
+							JAXPLaunchConfigurationConstants.ATTR_DEFAULT_DEBUGGING_INSTALL_ID);
 			install = JAXPRuntime.getProcessor(debuggingInstallId);
 		}
 		return install;
 	}
 
 	@Override
-	public String getMainTypeName(ILaunchConfiguration configuration) throws CoreException
-	{
+	public String getMainTypeName(ILaunchConfiguration configuration)
+			throws CoreException {
 		if (ILaunchManager.DEBUG_MODE.equals(mode))
 			return "org.eclipse.wst.xsl.jaxp.debug.debugger.DebugRunner"; //$NON-NLS-1$
 		return "org.eclipse.wst.xsl.jaxp.debug.invoker.internal.Main"; //$NON-NLS-1$
 	}
 
 	@Override
-	public String getProgramArguments(ILaunchConfiguration configuration) throws CoreException
-	{
+	public String getProgramArguments(ILaunchConfiguration configuration)
+			throws CoreException {
 		// classname, sourceurl, output file
 		IProcessorInvoker invoker = getProcessorInvokerDescriptor(configuration);
 		String clazz = invoker.getInvokerClassName();
@@ -253,11 +304,9 @@
 		sb.append("\"" + launchHelper.getSource() + "\""); //$NON-NLS-1$ //$NON-NLS-2$
 		sb.append(" "); //$NON-NLS-1$
 		sb.append("\"" + launchHelper.getTarget().getAbsolutePath() + "\""); //$NON-NLS-1$ //$NON-NLS-2$
-		if (ILaunchManager.DEBUG_MODE.equals(mode))
-		{
+		if (ILaunchManager.DEBUG_MODE.equals(mode)) {
 			IProcessorInstall install = getProcessorInstall(configuration, mode);
-			if (install.getDebugger() != null)
-			{
+			if (install.getDebugger() != null) {
 				IDebugger debugger = install.getDebugger();
 				String className = debugger.getClassName();
 				sb.append(" -debug ").append(className).append(" "); //$NON-NLS-1$ //$NON-NLS-2$
@@ -271,26 +320,24 @@
 	}
 
 	@Override
-	public String[] getClasspath(ILaunchConfiguration configuration) throws CoreException
-	{
+	public String[] getClasspath(ILaunchConfiguration configuration)
+			throws CoreException {
 		// get the classpath defined by the user
 		String[] userClasspath = super.getClasspath(configuration);
 
 		// get the classpath required for the transformation
 		IProcessorInvoker invoker = getProcessorInvokerDescriptor(configuration);
 		List<String> invokerCP = new ArrayList<String>();
-		for (String entry : invoker.getClasspathEntries())
-		{
+		for (String entry : invoker.getClasspathEntries()) {
 			invokerCP.add(entry);
 		}
 
 		// add the debugger...
 		IProcessorInstall install = getProcessorInstall(configuration, mode);
-		if (ILaunchManager.DEBUG_MODE.equals(mode) && install.getDebugger() != null)
-		{
+		if (ILaunchManager.DEBUG_MODE.equals(mode)
+				&& install.getDebugger() != null) {
 			String[] jars = install.getDebugger().getClassPath();
-			for (String jar : jars)
-			{
+			for (String jar : jars) {
 				invokerCP.add(jar);
 			}
 		}
@@ -298,28 +345,28 @@
 		String[] invokerClasspath = invokerCP.toArray(new String[0]);
 
 		// add them together
-		String[] classpath = new String[userClasspath.length + invokerClasspath.length];
-		System.arraycopy(invokerClasspath, 0, classpath, 0, invokerClasspath.length);
-		System.arraycopy(userClasspath, 0, classpath, invokerClasspath.length, userClasspath.length);
+		String[] classpath = new String[userClasspath.length
+				+ invokerClasspath.length];
+		System.arraycopy(invokerClasspath, 0, classpath, 0,
+				invokerClasspath.length);
+		System.arraycopy(userClasspath, 0, classpath, invokerClasspath.length,
+				userClasspath.length);
 
 		return classpath;
 	}
 
 	@Override
-	public String getVMArguments(ILaunchConfiguration configuration) throws CoreException
-	{
+	public String getVMArguments(ILaunchConfiguration configuration)
+			throws CoreException {
 		String vmargs = super.getVMArguments(configuration);
 
 		IProcessorInstall install = getProcessorInstall(configuration, mode);
-		if (install != null && !install.getProcessorType().isJREDefault())
-		{
+		if (install != null && !install.getProcessorType().isJREDefault()) {
 			// clear the endorsed dir
 			File tempDir = getEndorsedDir();
-			if (tempDir.exists())
-			{
+			if (tempDir.exists()) {
 				File[] children = tempDir.listFiles();
-				for (File child : children)
-				{
+				for (File child : children) {
 					child.delete();
 				}
 				tempDir.delete();
@@ -328,45 +375,48 @@
 
 			// move the required jars to the endorsed dir
 			IProcessorJar[] jars = install.getProcessorJars();
-			for (int i = 0; i < jars.length; i++)
-			{
+			for (int i = 0; i < jars.length; i++) {
 				URL entry = jars[i].asURL();
 				if (entry == null)
-					throw new CoreException(new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR, Messages.XSLTLaunchConfigurationDelegate_23 + jars[i], null)); 
+					throw new CoreException(new Status(IStatus.ERROR,
+							JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR,
+							Messages.XSLTLaunchConfigurationDelegate_23
+									+ jars[i], null));
 				File file = new File(tempDir, "END_" + i + ".jar"); //$NON-NLS-1$ //$NON-NLS-2$
 				moveFile(entry, file);
 			}
 			// add the endorsed dir
 			vmargs += " -Djava.endorsed.dirs=\"" + tempDir.getAbsolutePath() + "\""; //$NON-NLS-1$ //$NON-NLS-2$
-			
+
 			String tfactory = getTransformerFactory(install);
 			if (tfactory != null)
 				vmargs += " -Djavax.xml.transform.TransformerFactory=" + tfactory; //$NON-NLS-1$
-			
-//			if (ILaunchManager.DEBUG_MODE.equals(mode))
-//			{
-//				// in debug mode, set the logging to ERROR. This prevents the console from popping up on top of the result view!
-//				try
-//				{
-//					URL url = FileLocator.resolve(FileLocator.find(Platform.getBundle(JAXPLaunchingPlugin.PLUGIN_ID), new Path("/log4j.debug.properties"), null));
-//					vmargs += " -Dlog4j.configuration=\""+url.toExternalForm()+"\""; //$NON-NLS-1$
-//				}
-//				catch (IOException e)
-//				{
-//					JAXPLaunchingPlugin.log(e);
-//				}
-//			}
+
+			// if (ILaunchManager.DEBUG_MODE.equals(mode))
+			// {
+			// // in debug mode, set the logging to ERROR. This prevents the
+			// console from popping up on top of the result view!
+			// try
+			// {
+			// URL url =
+			// FileLocator.resolve(FileLocator.find(Platform.getBundle(JAXPLaunchingPlugin.PLUGIN_ID),
+			// new Path("/log4j.debug.properties"), null));
+			//					vmargs += " -Dlog4j.configuration=\""+url.toExternalForm()+"\""; //$NON-NLS-1$
+			// }
+			// catch (IOException e)
+			// {
+			// JAXPLaunchingPlugin.log(e);
+			// }
+			// }
 		}
 		return vmargs;
 	}
-	
-	private String getTransformerFactory(IProcessorInstall install)
-	{
+
+	private String getTransformerFactory(IProcessorInstall install) {
 		String tfactory = null;
 		if (ILaunchManager.DEBUG_MODE.equals(mode))
 			tfactory = install.getDebugger().getTransformerFactory();
-		else
-		{
+		else {
 			ITransformerFactory t = launchHelper.getTransformerFactory();
 			if (t != null)
 				tfactory = t.getFactoryClass();
@@ -374,22 +424,20 @@
 		return tfactory;
 	}
 
-	private File getEndorsedDir()
-	{
-		IPath tempLocation = Platform.getStateLocation(JAXPLaunchingPlugin.getDefault().getBundle()).append("endorsed"); //$NON-NLS-1$
+	private File getEndorsedDir() {
+		IPath tempLocation = Platform.getStateLocation(
+				JAXPLaunchingPlugin.getDefault().getBundle())
+				.append("endorsed"); //$NON-NLS-1$
 		return tempLocation.toFile();
 	}
 
-	private static void moveFile(URL src, File target) throws CoreException
-	{
+	private static void moveFile(URL src, File target) throws CoreException {
 		BufferedOutputStream bos = null;
 		BufferedInputStream bis = null;
-		try
-		{
+		try {
 			bos = new BufferedOutputStream(new FileOutputStream(target));
 			bis = new BufferedInputStream(src.openStream());
-			while (bis.available() > 0)
-			{
+			while (bis.available() > 0) {
 				int size = bis.available();
 				if (size > 1024)
 					size = 1024;
@@ -397,32 +445,24 @@
 				bis.read(b, 0, b.length);
 				bos.write(b);
 			}
-		}
-		catch (IOException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR, Messages.XSLTLaunchConfigurationDelegate_7 + src + Messages.XSLTLaunchConfigurationDelegate_31 + target, e)); 
-		}
-		finally
-		{
-			if (bis != null)
-			{
-				try
-				{
+		} catch (IOException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR,
+					Messages.XSLTLaunchConfigurationDelegate_7 + src
+							+ Messages.XSLTLaunchConfigurationDelegate_31
+							+ target, e));
+		} finally {
+			if (bis != null) {
+				try {
 					bis.close();
-				}
-				catch (IOException e)
-				{
+				} catch (IOException e) {
 					JAXPLaunchingPlugin.log(e);
 				}
 			}
-			if (bos != null)
-			{
-				try
-				{
+			if (bos != null) {
+				try {
 					bos.close();
-				}
-				catch (IOException e)
-				{
+				} catch (IOException e) {
 					JAXPLaunchingPlugin.log(e);
 				}
 			}
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/JAXPLaunchingPlugin.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/JAXPLaunchingPlugin.java
index 6eaac30..3896bc6 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/JAXPLaunchingPlugin.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/JAXPLaunchingPlugin.java
@@ -12,7 +12,7 @@
 public class JAXPLaunchingPlugin extends Plugin {
 
 	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.jaxp.launching";
+	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.jaxp.launching"; //$NON-NLS-1$
 
 	// The shared instance
 	private static JAXPLaunchingPlugin plugin;
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/LaunchHelper.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/LaunchHelper.java
index 2d65a2b..3dc9dea 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/LaunchHelper.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/LaunchHelper.java
@@ -44,61 +44,57 @@
 import org.eclipse.wst.xsl.launching.config.PreferenceUtil;
 import org.w3c.dom.Document;
 
-public class LaunchHelper extends BaseLaunchHelper
-{
+public class LaunchHelper extends BaseLaunchHelper {
 	private final LaunchAttributes attributes;
 	private final LaunchProperties outputProperties;
 	private final ITransformerFactory transformerFactory;
 
-	public LaunchHelper(ILaunchConfiguration configuration) throws CoreException
-	{
+	public LaunchHelper(ILaunchConfiguration configuration)
+			throws CoreException {
 		super(configuration);
 		attributes = hydrateAttributes(configuration);
 		outputProperties = hydrateOutputProperties(configuration);
 		transformerFactory = hydrateTransformerFactory(configuration);
 	}
 
-	public LaunchProperties getProperties()
-	{
+	public LaunchProperties getProperties() {
 		return outputProperties;
 	}
 
-	public LaunchAttributes getAttributes()
-	{
+	public LaunchAttributes getAttributes() {
 		return attributes;
 	}
 
-	public void save(File file) throws CoreException
-	{
+	public void save(File file) throws CoreException {
 		BufferedWriter writer = null;
-		try
-		{
+		try {
 			// ensure it exists
 			file.createNewFile();
 			writer = new BufferedWriter(new FileWriter(file));
 			PipelineDefinition pdef = new PipelineDefinition();
-			for (Iterator<?> iter = attributes.getAttributes().iterator(); iter.hasNext();)
-			{
+			for (Iterator<?> iter = attributes.getAttributes().iterator(); iter
+					.hasNext();) {
 				LaunchAttribute att = (LaunchAttribute) iter.next();
-				pdef.addAttribute(new TypedValue(att.uri, TypedValue.TYPE_STRING, att.value));
+				pdef.addAttribute(new TypedValue(att.uri,
+						TypedValue.TYPE_STRING, att.value));
 			}
-			for (Iterator<?> iter = pipeline.getTransformDefs().iterator(); iter.hasNext();)
-			{
+			for (Iterator<?> iter = pipeline.getTransformDefs().iterator(); iter
+					.hasNext();) {
 				LaunchTransform lt = (LaunchTransform) iter.next();
 				TransformDefinition tdef = new TransformDefinition();
 				URL url = pathToURL(lt.getLocation());
 				tdef.setStylesheetURL(url.toExternalForm());
 				tdef.setResolverClass(lt.getResolver());
-				for (Iterator<?> iterator = lt.getParameters().iterator(); iterator.hasNext();)
-				{
+				for (Iterator<?> iterator = lt.getParameters().iterator(); iterator
+						.hasNext();) {
 					LaunchAttribute att = (LaunchAttribute) iterator.next();
-					tdef.addParameter(new TypedValue(att.uri, TypedValue.TYPE_STRING, att.getResolvedValue()));
+					tdef.addParameter(new TypedValue(att.uri,
+							TypedValue.TYPE_STRING, att.getResolvedValue()));
 				}
 				// set the output props for the LAST transform only
-				if (!iter.hasNext())
-				{
-					for (Map.Entry<String, String> entry : outputProperties.getProperties().entrySet())
-					{
+				if (!iter.hasNext()) {
+					for (Map.Entry<String, String> entry : outputProperties
+							.getProperties().entrySet()) {
 						String name = entry.getKey();
 						String value = entry.getValue();
 						if (name != null && value != null)
@@ -111,134 +107,133 @@
 			Document doc = pdef.toXML();
 			String s = PreferenceUtil.serializeDocument(doc);
 			writer.write(s);
-		}
-		catch (FileNotFoundException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR, Messages.LaunchHelper_0, e)); 
-		}
-		catch (IOException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR, Messages.LaunchHelper_1, e)); 
-		}
-		catch (ParserConfigurationException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR, "ParserConfigurationException", e)); //$NON-NLS-1$
-		}
-		catch (TransformerException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR, "TransformerException", e)); //$NON-NLS-1$
-		}
-		finally
-		{
-			if (writer != null)
-			{
-				try
-				{
+		} catch (FileNotFoundException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR,
+					Messages.LaunchHelper_0, e));
+		} catch (IOException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR,
+					Messages.LaunchHelper_1, e));
+		} catch (ParserConfigurationException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR,
+					"ParserConfigurationException", e)); //$NON-NLS-1$
+		} catch (TransformerException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					JAXPLaunchingPlugin.PLUGIN_ID, IStatus.ERROR,
+					"TransformerException", e)); //$NON-NLS-1$
+		} finally {
+			if (writer != null) {
+				try {
 					writer.close();
-				}
-				catch (IOException e)
-				{
+				} catch (IOException e) {
 					JAXPLaunchingPlugin.log(e);
 				}
 			}
 		}
 	}
 
-	public static LaunchProperties hydrateOutputProperties(ILaunchConfiguration configuration) throws CoreException
-	{
+	public static LaunchProperties hydrateOutputProperties(
+			ILaunchConfiguration configuration) throws CoreException {
 		LaunchProperties properties = new LaunchProperties();
-		boolean usePreferenceProperties = false; //configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_USE_PROPERTIES_FROM_PREFERENCES, true);
-		IProcessorType pt = getProcessorInstall(configuration).getProcessorType();
-		if (usePreferenceProperties)
-		{
-			for (Map.Entry<String, String> entry : pt.getOutputPropertyValues().entrySet())
-			{
+		boolean usePreferenceProperties = false; // configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_USE_PROPERTIES_FROM_PREFERENCES,
+													// true);
+		IProcessorType pt = getProcessorInstall(configuration)
+				.getProcessorType();
+		if (usePreferenceProperties) {
+			for (Map.Entry<String, String> entry : pt.getOutputPropertyValues()
+					.entrySet()) {
 				String name = entry.getKey();
 				String value = entry.getValue();
 				properties.setProperty(name, value);
 			}
-		}
-		else
-		{
-			String s = configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_OUTPUT_PROPERTIES, (String) null);
-			if (s != null && s.length() > 0)
-			{
-				ByteArrayInputStream inputStream = new ByteArrayInputStream(s.getBytes());
+		} else {
+			String s = configuration.getAttribute(
+					JAXPLaunchConfigurationConstants.ATTR_OUTPUT_PROPERTIES,
+					(String) null);
+			if (s != null && s.length() > 0) {
+				ByteArrayInputStream inputStream = new ByteArrayInputStream(s
+						.getBytes());
 				properties = LaunchProperties.fromXML(inputStream);
 			}
 		}
 		return properties;
 	}
 
-	private static LaunchAttributes hydrateAttributes(ILaunchConfiguration configuration) throws CoreException
-	{
-		LaunchAttributes attributes  = new LaunchAttributes();
-		boolean useDefaultAttributes = false; //configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_USE_FEATURES_FROM_PREFERENCES, true);
-		if (useDefaultAttributes)
-		{
-			IProcessorType pt = getProcessorInstall(configuration).getProcessorType();
+	private static LaunchAttributes hydrateAttributes(
+			ILaunchConfiguration configuration) throws CoreException {
+		LaunchAttributes attributes = new LaunchAttributes();
+		boolean useDefaultAttributes = false; // configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_USE_FEATURES_FROM_PREFERENCES,
+												// true);
+		if (useDefaultAttributes) {
+			IProcessorType pt = getProcessorInstall(configuration)
+					.getProcessorType();
 			Map<String, String> fvals = pt.getAttributeValues();
-			for (Map.Entry<String, String> entry : fvals.entrySet())
-			{
+			for (Map.Entry<String, String> entry : fvals.entrySet()) {
 				String uri = entry.getKey();
-				IAttribute attribute = getAttribute(pt.getAttributes(), uri);
-				attributes.addAttribute(new LaunchAttribute(uri, "string", entry.getValue()));
+				getAttribute(pt.getAttributes(), uri);
+				attributes.addAttribute(new LaunchAttribute(uri,
+						"string", entry.getValue())); //$NON-NLS-1$
 			}
-		}
-		else
-		{
-			String s = configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_ATTRIBUTES, (String) null);
-			if (s != null && s.length() > 0)
-			{
-				ByteArrayInputStream inputStream = new ByteArrayInputStream(s.getBytes());
+		} else {
+			String s = configuration.getAttribute(
+					JAXPLaunchConfigurationConstants.ATTR_ATTRIBUTES,
+					(String) null);
+			if (s != null && s.length() > 0) {
+				ByteArrayInputStream inputStream = new ByteArrayInputStream(s
+						.getBytes());
 				attributes = LaunchAttributes.fromXML(inputStream);
 			}
 		}
 		return attributes;
 	}
 
-	private static IAttribute getAttribute(IAttribute[] attributes, String uri)
-	{
-		for (IAttribute attribute : attributes)
-		{
+	private static IAttribute getAttribute(IAttribute[] attributes, String uri) {
+		for (IAttribute attribute : attributes) {
 			if (attribute.getURI().equals(uri))
 				return attribute;
 		}
 		return null;
 	}
 
-
-	public static IProcessorInstall getProcessorInstall(ILaunchConfiguration configuration) throws CoreException
-	{
-		boolean useDefaultProcessor = configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, true);
+	public static IProcessorInstall getProcessorInstall(
+			ILaunchConfiguration configuration) throws CoreException {
+		boolean useDefaultProcessor = configuration.getAttribute(
+				JAXPLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR,
+				true);
 		if (useDefaultProcessor)
 			return JAXPRuntime.getDefaultProcessor();
-		String processorId = configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_PROCESSOR, ""); //$NON-NLS-1$
+		String processorId = configuration.getAttribute(
+				JAXPLaunchConfigurationConstants.ATTR_PROCESSOR, ""); //$NON-NLS-1$
 		IProcessorInstall processor = JAXPRuntime.getProcessor(processorId);
 		return processor;
 	}
 
-	private static ITransformerFactory hydrateTransformerFactory(ILaunchConfiguration configuration) throws CoreException
-	{
-		IProcessorType type = getProcessorInstall(configuration).getProcessorType();
-		boolean useDefaultFactory = configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, true);
+	private static ITransformerFactory hydrateTransformerFactory(
+			ILaunchConfiguration configuration) throws CoreException {
+		IProcessorType type = getProcessorInstall(configuration)
+				.getProcessorType();
+		boolean useDefaultFactory = configuration.getAttribute(
+				JAXPLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR,
+				true);
 		if (useDefaultFactory)
 			return type.getDefaultTransformerFactory();
-		
-		String factoryId = configuration.getAttribute(JAXPLaunchConfigurationConstants.ATTR_TRANSFORMER_FACTORY, (String)null);
+
+		String factoryId = configuration.getAttribute(
+				JAXPLaunchConfigurationConstants.ATTR_TRANSFORMER_FACTORY,
+				(String) null);
 		if (factoryId == null)
 			return null;
-		
-		for (ITransformerFactory factory : type.getTransformerFactories())
-		{
+
+		for (ITransformerFactory factory : type.getTransformerFactories()) {
 			if (factory.getFactoryClass().equals(factoryId))
 				return factory;
 		}
 		return null;
 	}
 
-	public ITransformerFactory getTransformerFactory()
-	{
+	public ITransformerFactory getTransformerFactory() {
 		return transformerFactory;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Messages.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Messages.java
index e3acd91..1304051 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Messages.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Messages.java
@@ -40,6 +40,18 @@
 	public static String AbstractRegistryReader_7;
 	public static String AbstractRegistryReader_8;
 	public static String AbstractRegistryReader_9;
+
+	public static String JAXPJavaLaunchConfigurationDelegate_0;
+
+	public static String JAXPJavaLaunchConfigurationDelegate_1;
+
+	public static String JAXPJavaLaunchConfigurationDelegate_2;
+
+	public static String JAXPJavaLaunchConfigurationDelegate_3;
+
+	public static String JAXPJavaLaunchConfigurationDelegate_4;
+
+	public static String JAXPJavaLaunchConfigurationDelegate_5;
     public static String LaunchHelper_0;
     public static String LaunchHelper_1;
 	
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorInvokerDescriptor.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorInvokerDescriptor.java
index f0ac933..038fa9e 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorInvokerDescriptor.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorInvokerDescriptor.java
@@ -20,62 +20,53 @@
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.wst.xsl.jaxp.launching.IProcessorInvoker;
 
-public class ProcessorInvokerDescriptor implements IProcessorInvoker
-{
+public class ProcessorInvokerDescriptor implements IProcessorInvoker {
 
 	private final String invokerClass;
 	private final String[] classpath;
 	private final String id;
 	private final String bundleId;
 
-	public ProcessorInvokerDescriptor(String id, String bundleId, String invokerClass, String[] classpath)
-	{
+	public ProcessorInvokerDescriptor(String id, String bundleId,
+			String invokerClass, String[] classpath) {
 		this.id = id;
 		this.bundleId = bundleId;
 		this.invokerClass = invokerClass;
 		this.classpath = classpath;
 	}
 
-	public String[] getClasspathEntries()
-	{
-		return createEntries(bundleId,classpath);
+	public String[] getClasspathEntries() {
+		return createEntries(bundleId, classpath);
 	}
-	
-	public static String[] createEntries(String bundleId, String[] classpath)
-	{
+
+	public static String[] createEntries(String bundleId, String[] classpath) {
 		List<String> entries = new ArrayList<String>();
 		try {
 			// if in dev mode, use the bin dir
 			if (Platform.inDevelopmentMode())
 				entries.add(Utils.getFileLocation(bundleId, "/bin")); //$NON-NLS-1$
-			for (String jar : classpath)
-			{
+			for (String jar : classpath) {
 				String entry = null;
 				if (jar.startsWith("${eclipse_orbit:") && jar.endsWith("}")) //$NON-NLS-1$ //$NON-NLS-2$
 				{
 					jar = jar.substring("${eclipse_orbit:".length()); //$NON-NLS-1$
-					jar = jar.substring(0,jar.length()-1);
-					try
-					{
-						File bundleFile = FileLocator.getBundleFile(Platform.getBundle(jar));
+					jar = jar.substring(0, jar.length() - 1);
+					try {
+						File bundleFile = FileLocator.getBundleFile(Platform
+								.getBundle(jar));
 						if (bundleFile.isDirectory())
-							entry = Utils.getPluginLocation(jar) + "/bin";
+							entry = Utils.getPluginLocation(jar) + "/bin"; //$NON-NLS-1$
 						else
 							entry = Utils.getPluginLocation(jar);
+					} catch (IOException e) {
 					}
-					catch (IOException e)
-					{}
+				} else {
+					entry = Utils.getFileLocation(bundleId, jar);
 				}
-				else
-				{
-					entry = Utils.getFileLocation(bundleId,jar);
-				}
-				if (entry!=null)
+				if (entry != null)
 					entries.add(entry);
 			}
-		} 
-		catch (CoreException e) 
-		{
+		} catch (CoreException e) {
 			JAXPLaunchingPlugin.log(e);
 		}
 		return entries.toArray(new String[0]);
@@ -84,13 +75,11 @@
 	/**
 	 * The name of the class that implements IProcessorInvoker
 	 */
-	public String getInvokerClassName()
-	{
+	public String getInvokerClassName() {
 		return invokerClass;
 	}
 
-	public String getId()
-	{
+	public String getId() {
 		return id;
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorJar.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorJar.java
index fe1c76a..d43d9cb 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorJar.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorJar.java
@@ -18,47 +18,39 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.wst.xsl.jaxp.launching.IProcessorJar;
 
-public class ProcessorJar implements IProcessorJar
-{
+public class ProcessorJar implements IProcessorJar {
 	private final IPath path;
 
-	public ProcessorJar(IPath path)
-	{
+	public ProcessorJar(IPath path) {
 		this.path = path;
 	}
 
-	public URL asURL()
-	{
+	public URL asURL() {
 		URL url = null;
-		try
-		{
+		try {
 			// first try to resolve as workspace-relative path
-			IPath rootPath = ResourcesPlugin.getWorkspace().getRoot().getLocation();
+			IPath rootPath = ResourcesPlugin.getWorkspace().getRoot()
+					.getLocation();
 			File file = new File(rootPath.append(path).toOSString());
 			if (file.exists())
-				url = file.toURL();
-			else
-			{
+				url = file.toURI().toURL();
+			else {
 				// now try to resolve as an absolute path
 				file = new File(path.toOSString());
-				url = file.toURL();
+				url = file.toURI().toURL();
 			}
-		}
-		catch (MalformedURLException e)
-		{
+		} catch (MalformedURLException e) {
 			JAXPLaunchingPlugin.log(e);
 		}
 		return url;
 	}
 
-	public IPath getPath()
-	{
+	public IPath getPath() {
 		return path;
 	}
 
 	@Override
-	public String toString()
-	{
+	public String toString() {
 		return path.toString();
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorType.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorType.java
index 59793b5..cbbc5a8 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorType.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/ProcessorType.java
@@ -28,8 +28,7 @@
 import org.eclipse.wst.xsl.jaxp.launching.ITransformerFactory;
 import org.eclipse.wst.xsl.jaxp.launching.JAXPRuntime;
 
-public class ProcessorType implements IProcessorType
-{
+public class ProcessorType implements IProcessorType {
 	private static final String DESC_SUFFIX = ".DESC"; //$NON-NLS-1$
 	private static final String TYPE_SUFFIX = ".TYPE"; //$NON-NLS-1$
 
@@ -44,8 +43,10 @@
 	private Map<String, String> outputPropertyValues;
 	private Map<String, String> attributeValues;
 
-	public ProcessorType(String id, String name, URL attributePropertiesURL, URL outputPropertiesURL, Map<String, String> attributeValues, Map<String, String> outputPropertyValues, ITransformerFactory[] transformerFactories)
-	{
+	public ProcessorType(String id, String name, URL attributePropertiesURL,
+			URL outputPropertiesURL, Map<String, String> attributeValues,
+			Map<String, String> outputPropertyValues,
+			ITransformerFactory[] transformerFactories) {
 		this.id = id;
 		this.name = name;
 		this.attributePropertiesURL = attributePropertiesURL;
@@ -55,25 +56,20 @@
 		this.outputPropertyValues = outputPropertyValues;
 	}
 
-	public String getId()
-	{
+	public String getId() {
 		return id;
 	}
 
-	public String getLabel()
-	{
+	public String getLabel() {
 		return name;
 	}
 
-	public Map<String, String> getAttributeValues()
-	{
+	public Map<String, String> getAttributeValues() {
 		return attributeValues;
 	}
 
-	public IAttribute[] getAttributes()
-	{
-		if (attributes == null)
-		{
+	public IAttribute[] getAttributes() {
+		if (attributes == null) {
 			if (attributePropertiesURL != null)
 				attributes = loadAttributes();
 			else
@@ -82,32 +78,26 @@
 		return attributes;
 	}
 
-	public Map<String,String> getOutputPropertyValues()
-	{
+	public Map<String, String> getOutputPropertyValues() {
 		return outputPropertyValues;
 	}
 
-	public boolean isJREDefault()
-	{
+	public boolean isJREDefault() {
 		return JAXPRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID.equals(id);
 	}
 
-	public ITransformerFactory[] getTransformerFactories()
-	{
+	public ITransformerFactory[] getTransformerFactories() {
 		return transformerFactories;
 	}
-	
-	public ITransformerFactory getDefaultTransformerFactory()
-	{
+
+	public ITransformerFactory getDefaultTransformerFactory() {
 		if (transformerFactories.length > 0)
 			return transformerFactories[0];
 		return null;
 	}
 
-	public IOutputProperty[] getOutputProperties()
-	{
-		if (outputProperties == null)
-		{
+	public IOutputProperty[] getOutputProperties() {
+		if (outputProperties == null) {
 			if (outputPropertiesURL != null)
 				outputProperties = loadOutputProperties();
 			else
@@ -116,51 +106,39 @@
 		return outputProperties;
 	}
 
-	private IOutputProperty[] loadOutputProperties()
-	{
+	private IOutputProperty[] loadOutputProperties() {
 		BufferedInputStream is = null;
 		List<OutputProperty> outputs = new ArrayList<OutputProperty>();
 		Properties props = new Properties();
-		try
-		{
+		try {
 
 			is = new BufferedInputStream(outputPropertiesURL.openStream());
 			props.load(is);
-			for (Object element : props.keySet())
-			{
+			for (Object element : props.keySet()) {
 				String key = (String) element;
-				if (!key.endsWith(DESC_SUFFIX))
-				{
+				if (!key.endsWith(DESC_SUFFIX)) {
 					String name = key;
 					String uri = props.getProperty(key);
 					String desc = props.getProperty(key + DESC_SUFFIX);
-					if (uri != null && name != null && desc != null)
-					{
-						OutputProperty prop = new OutputProperty(uri.trim(), desc);
+					if (uri != null && name != null && desc != null) {
+						OutputProperty prop = new OutputProperty(uri.trim(),
+								desc);
 						outputs.add(prop);
-					}
-					else
-					{
-						JAXPLaunchingPlugin.log(new CoreException(new Status(IStatus.WARNING, JAXPLaunchingPlugin.PLUGIN_ID, Messages.ProcessorType_2 + outputPropertiesURL 
-								+ Messages.ProcessorType_3 + key))); 
+					} else {
+						JAXPLaunchingPlugin.log(new CoreException(new Status(
+								IStatus.WARNING, JAXPLaunchingPlugin.PLUGIN_ID,
+								Messages.ProcessorType_2 + outputPropertiesURL
+										+ Messages.ProcessorType_3 + key)));
 					}
 				}
 			}
-		}
-		catch (IOException e)
-		{
+		} catch (IOException e) {
 			JAXPLaunchingPlugin.log(e);
-		}
-		finally
-		{
-			if (is != null)
-			{
-				try
-				{
+		} finally {
+			if (is != null) {
+				try {
 					is.close();
-				}
-				catch (IOException e)
-				{
+				} catch (IOException e) {
 					JAXPLaunchingPlugin.log(e);
 				}
 			}
@@ -168,52 +146,41 @@
 		return outputs.toArray(new IOutputProperty[0]);
 	}
 
-	private IAttribute[] loadAttributes()
-	{
+	private IAttribute[] loadAttributes() {
 		BufferedInputStream is = null;
 		List<Attribute> attributesList = new ArrayList<Attribute>();
-		try
-		{
+		try {
 			is = new BufferedInputStream(attributePropertiesURL.openStream());
 			Properties props = new Properties();
 			props.load(is);
 
-			for (Object element : props.keySet())
-			{
+			for (Object element : props.keySet()) {
 				String key = (String) element;
-				if (!key.endsWith(DESC_SUFFIX) && !key.endsWith(TYPE_SUFFIX))
-				{
+				if (!key.endsWith(DESC_SUFFIX) && !key.endsWith(TYPE_SUFFIX)) {
 					String uri = props.getProperty(key);
 					String type = props.getProperty(key + TYPE_SUFFIX);
 					String desc = props.getProperty(key + DESC_SUFFIX);
-					if (uri != null && type != null && desc != null)
-					{
-						Attribute attribute = new Attribute(uri.trim(), type.trim(), desc);
+					if (uri != null && type != null && desc != null) {
+						Attribute attribute = new Attribute(uri.trim(), type
+								.trim(), desc);
 						attributesList.add(attribute);
-					}
-					else
-					{
-						JAXPLaunchingPlugin.log(new CoreException(new Status(IStatus.WARNING, JAXPLaunchingPlugin.PLUGIN_ID, Messages.ProcessorType_4 + attributePropertiesURL
-								+ Messages.ProcessorType_5 + key))); 
+					} else {
+						JAXPLaunchingPlugin.log(new CoreException(new Status(
+								IStatus.WARNING, JAXPLaunchingPlugin.PLUGIN_ID,
+								Messages.ProcessorType_4
+										+ attributePropertiesURL
+										+ Messages.ProcessorType_5 + key)));
 					}
 				}
 			}
 
-		}
-		catch (IOException e)
-		{
+		} catch (IOException e) {
 			JAXPLaunchingPlugin.log(e);
-		}
-		finally
-		{
-			if (is != null)
-			{
-				try
-				{
+		} finally {
+			if (is != null) {
+				try {
 					is.close();
-				}
-				catch (IOException e)
-				{
+				} catch (IOException e) {
 					JAXPLaunchingPlugin.log(e);
 				}
 			}
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Utils.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Utils.java
index d58e9c0..829976f 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Utils.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/Utils.java
@@ -39,7 +39,7 @@
 		String location = null;
 		try
 		{
-			URL url = new URL("platform:/plugin/"+bundleId);
+			URL url = new URL("platform:/plugin/"+bundleId); //$NON-NLS-1$
 			if (url != null)
 			{
 				URL fileUrl = FileLocator.toFileURL(url);
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/messages.properties b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/messages.properties
index fb7ee3d..71ccc04 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/messages.properties
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/messages.properties
@@ -33,6 +33,12 @@
 AbstractRegistryReader_7=Required sub element '
 AbstractRegistryReader_8=' not defined
 AbstractRegistryReader_9=Unknown extension tag found: 
+JAXPJavaLaunchConfigurationDelegate_0=Change Transformer Factory
+JAXPJavaLaunchConfigurationDelegate_1=\ must use the 
+JAXPJavaLaunchConfigurationDelegate_2=\ transformer factory when debugging.\n
+JAXPJavaLaunchConfigurationDelegate_3=Be aware that this may give different results to the 
+JAXPJavaLaunchConfigurationDelegate_4=\ transformer factory configured for this launch configuration.
+JAXPJavaLaunchConfigurationDelegate_5=org.eclipse.wst.xsl.launching.jaxp.invoke
 
 LaunchHelper_0=File not found
 LaunchHelper_1=IO Exception
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/registry/ProcessorTypeRegistryReader.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/registry/ProcessorTypeRegistryReader.java
index 201e2f6..e030c40 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/registry/ProcessorTypeRegistryReader.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/internal/registry/ProcessorTypeRegistryReader.java
@@ -22,9 +22,9 @@
 	public static final String ATT_LABEL = "label"; //$NON-NLS-1$
 	public static final String ATT_OUTPUT_PROPERTIES = "outputProperties"; //$NON-NLS-1$
 	public static final String ATT_ATTRIBUTE_PROPERTIES = "attributeProperties"; //$NON-NLS-1$
-	public static final String EL_TRANSFORMER_FACTORY = "transformerFactory";
-	public static final String ATT_TRANSFORMER_FACTORY_NAME = "name";
-	public static final String ATT_TRANSFORMER_FACTORY_CLASS = "factoryClass";
+	public static final String EL_TRANSFORMER_FACTORY = "transformerFactory"; //$NON-NLS-1$
+	public static final String ATT_TRANSFORMER_FACTORY_NAME = "name"; //$NON-NLS-1$
+	public static final String ATT_TRANSFORMER_FACTORY_CLASS = "factoryClass"; //$NON-NLS-1$
 
 	private ProcessorTypeRegistry registry;
 
diff --git a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/model/JAXPDebugTarget.java b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/model/JAXPDebugTarget.java
index 979133d..4670642 100644
--- a/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/model/JAXPDebugTarget.java
+++ b/bundles/org.eclipse.wst.xsl.jaxp.launching/src/org/eclipse/wst/xsl/jaxp/launching/model/JAXPDebugTarget.java
@@ -60,8 +60,8 @@
 	private final byte[] VALUE_MAP_LOCK = new byte[0];
 	private final byte[] WRITE_LOCK = new byte[0];
 
-	private final int CONNECT_ATTEMPTS = 60;
-	private final int CONNECT_WAIT = 1000;
+	private static final int CONNECT_ATTEMPTS = 60;
+	private static final int CONNECT_WAIT = 1000;
 
 	private final IProcess process;
 	private final ILaunch launch;
@@ -167,7 +167,7 @@
 
 	public String getName() throws DebugException {
 		if (name == null) {
-			name = launch.getAttribute("launchName");
+			name = launch.getAttribute("launchName"); //$NON-NLS-1$
 		}
 		return name;
 	}
diff --git a/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.jdt.core.prefs
index 2286d8a..51760c2 100644
--- a/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Tue Feb 10 05:25:23 GMT 2009
+#Thu Jun 11 01:37:54 GMT 2009
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
@@ -8,13 +8,36 @@
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
@@ -22,4 +45,43 @@
 org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
 org.eclipse.jdt.core.compiler.source=1.5
diff --git a/bundles/org.eclipse.wst.xsl.launching/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.launching/META-INF/MANIFEST.MF
index e36703b..d843989 100644
--- a/bundles/org.eclipse.wst.xsl.launching/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.launching/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xsl.launching;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.100.qualifier
 Bundle-Activator: org.eclipse.wst.xsl.internal.launching.LaunchingPlugin
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.0,4.0.0)",
diff --git a/bundles/org.eclipse.wst.xsl.launching/plugin.properties b/bundles/org.eclipse.wst.xsl.launching/plugin.properties
index b8fa505..5f902d2 100644
--- a/bundles/org.eclipse.wst.xsl.launching/plugin.properties
+++ b/bundles/org.eclipse.wst.xsl.launching/plugin.properties
@@ -6,4 +6,4 @@
 extension-point.name.1 = XSLT Processor Type
 extension-point.name.2 = XSLT Processor
 extension-point.name.3 = XSLT Debugger
-Bundle-Vendor.0 = Eclipse.org
\ No newline at end of file
+Bundle-Vendor.0 = Eclipse Web Tools Platform
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/Utils.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/Utils.java
index 014425a..29b8010 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/Utils.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/Utils.java
@@ -39,7 +39,7 @@
 		String location = null;
 		try
 		{
-			URL url = new URL("platform:/plugin/"+bundleId);
+			URL url = new URL("platform:/plugin/"+bundleId); //$NON-NLS-1$
 			if (url != null)
 			{
 				URL fileUrl = FileLocator.toFileURL(url);
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/XSLTRuntime.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/XSLTRuntime.java
index 24c76da..1164cbd 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/XSLTRuntime.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/XSLTRuntime.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2007, 2010 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (Intalio) - clean up find bugs
  *******************************************************************************/
 package org.eclipse.wst.xsl.launching;
 
@@ -17,34 +18,28 @@
 import org.eclipse.core.variables.VariablesPlugin;
 import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
 
-public class XSLTRuntime
-{
-	private static byte[] NEXT_ID_LOCK = new byte[0];
-	private static byte[] REGISTRY_LOCK = new byte[0];
-
-	private static int lastStandinID;
-	
-	private static void savePreferences()
-	{
+public class XSLTRuntime {
+	private static void savePreferences() {
 		LaunchingPlugin.getDefault().savePluginPreferences();
 	}
 
-	private static Preferences getPreferences()
-	{
+	private static Preferences getPreferences() {
 		return LaunchingPlugin.getDefault().getPluginPreferences();
 	}
 
 	/**
 	 * Creates a default Output File for the given input file string.
+	 * 
 	 * @return Returns an IPath for the Output File.
 	 * @since 1.0
 	 */
-	public static IPath defaultOutputFileForInputFile(String inputFileExpression) throws CoreException
-	{
-		String file = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(inputFileExpression);
+	public static IPath defaultOutputFileForInputFile(String inputFileExpression)
+			throws CoreException {
+		String file = VariablesPlugin.getDefault().getStringVariableManager()
+				.performStringSubstitution(inputFileExpression);
 		IPath inputFilePath = new Path(file);
 		inputFilePath = inputFilePath.removeFileExtension();
-		inputFilePath = inputFilePath.addFileExtension("out.xml");
+		inputFilePath = inputFilePath.addFileExtension("out.xml"); //$NON-NLS-1$
 		return inputFilePath;
 	}
 
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/BaseLaunchHelper.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/BaseLaunchHelper.java
index c8b8f79..8c2eb6e 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/BaseLaunchHelper.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/BaseLaunchHelper.java
@@ -31,8 +31,7 @@
 /**
  * @since 1.0
  */
-public class BaseLaunchHelper
-{
+public class BaseLaunchHelper {
 	private final URL source;
 	private final File target;
 	protected final LaunchPipeline pipeline;
@@ -43,123 +42,126 @@
 	private final boolean formatFileOnCompletion;
 	private final IPath workingDir;
 
-	public BaseLaunchHelper(ILaunchConfiguration configuration) throws CoreException
-	{
+	public BaseLaunchHelper(ILaunchConfiguration configuration)
+			throws CoreException {
 		workingDir = hydrateWorkingDir(configuration);
 		source = hydrateSourceFileURL(configuration);
 		target = hydrateOutputFile(configuration);
 		pipeline = hydratePipeline(configuration);
-		openFileOnCompletion = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
-		formatFileOnCompletion = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_FORMAT_FILE, false);
+		openFileOnCompletion = configuration.getAttribute(
+				XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
+		formatFileOnCompletion = configuration.getAttribute(
+				XSLLaunchConfigurationConstants.ATTR_FORMAT_FILE, false);
 	}
 
-	public int getRequestPort()
-	{
+	public int getRequestPort() {
 		if (requestPort == -1)
 			requestPort = findFreePort();
 		return requestPort;
 	}
 
-	public int getEventPort()
-	{
+	public int getEventPort() {
 		if (eventPort == -1)
 			eventPort = findFreePort();
 		return eventPort;
 	}
 
-	public int getGeneratePort()
-	{
+	public int getGeneratePort() {
 		if (generatePort == -1)
 			generatePort = findFreePort();
 		return generatePort;
 	}
 
-	public LaunchPipeline getPipeline()
-	{
+	public LaunchPipeline getPipeline() {
 		return pipeline;
 	}
 
-	public URL getSource()
-	{
+	public URL getSource() {
 		return source;
 	}
 
-	public File getTarget()
-	{
+	public File getTarget() {
 		return target;
 	}
-	
-	public IPath getWorkingDir()
-	{
+
+	public IPath getWorkingDir() {
 		return workingDir;
 	}
 
-	private static LaunchPipeline hydratePipeline(ILaunchConfiguration configuration) throws CoreException
-	{
+	private static LaunchPipeline hydratePipeline(
+			ILaunchConfiguration configuration) throws CoreException {
 		LaunchPipeline pipeline = null;
-		String s = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PIPELINE, (String) null);
-		if (s != null && s.length() > 0)
-		{
-			ByteArrayInputStream inputStream = new ByteArrayInputStream(s.getBytes());
+		String s = configuration.getAttribute(
+				XSLLaunchConfigurationConstants.ATTR_PIPELINE, (String) null);
+		if (s != null && s.length() > 0) {
+			ByteArrayInputStream inputStream = new ByteArrayInputStream(s
+					.getBytes());
 			pipeline = LaunchPipeline.fromXML(inputStream);
 		}
 		return pipeline;
 	}
 
-	public static URL hydrateSourceFileURL(ILaunchConfiguration configuration) throws CoreException
-	{
+	public static URL hydrateSourceFileURL(ILaunchConfiguration configuration)
+			throws CoreException {
 		IPath sourceFile = hydrateSourceFile(configuration);
 		return pathToURL(sourceFile);
 	}
-	
-	private static IPath hydrateWorkingDir(ILaunchConfiguration configuration) throws CoreException
-	{
-		String expr = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_WORKING_DIR, (String) null);
+
+	private static IPath hydrateWorkingDir(ILaunchConfiguration configuration)
+			throws CoreException {
+		String expr = configuration
+				.getAttribute(XSLLaunchConfigurationConstants.ATTR_WORKING_DIR,
+						(String) null);
 		return getSubstitutedPath(expr);
 	}
 
-	private static IPath hydrateSourceFile(ILaunchConfiguration configuration) throws CoreException
-	{
-		String sourceFileExpr = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null);
+	private static IPath hydrateSourceFile(ILaunchConfiguration configuration)
+			throws CoreException {
+		String sourceFileExpr = configuration.getAttribute(
+				XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null);
 		return getSubstitutedPath(sourceFileExpr);
 	}
 
-	protected static URL pathToURL(IPath sourceFile) throws CoreException
-	{
+	protected static URL pathToURL(IPath sourceFile) throws CoreException {
 		URL url = null;
-		try
-		{
-			url = sourceFile.toFile().toURL();
-		}
-		catch (MalformedURLException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, sourceFile.toString(), e));
+		try {
+			url = sourceFile.toFile().toURI().toURL();
+		} catch (MalformedURLException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, sourceFile
+							.toString(), e));
 		}
 		return url;
 	}
 
-	public static File hydrateOutputFile(ILaunchConfiguration configuration) throws CoreException
-	{
+	public static File hydrateOutputFile(ILaunchConfiguration configuration)
+			throws CoreException {
 		IPath outputFile = null;
-		boolean useDefaultOutputFile = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, true);
-		if (!useDefaultOutputFile)
-		{
-			String outputFileName = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILENAME, (String) null);
-			String outputFolderExpr = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FOLDER, (String) null);
-			outputFile = getSubstitutedPath(outputFolderExpr).append(outputFileName);
-		}
-		else
-		{
-			outputFile = XSLTRuntime.defaultOutputFileForInputFile(configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null));
+		boolean useDefaultOutputFile = configuration.getAttribute(
+				XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE,
+				true);
+		if (!useDefaultOutputFile) {
+			String outputFileName = configuration.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILENAME,
+					(String) null);
+			String outputFolderExpr = configuration.getAttribute(
+					XSLLaunchConfigurationConstants.ATTR_OUTPUT_FOLDER,
+					(String) null);
+			outputFile = getSubstitutedPath(outputFolderExpr).append(
+					outputFileName);
+		} else {
+			outputFile = XSLTRuntime
+					.defaultOutputFileForInputFile(configuration.getAttribute(
+							XSLLaunchConfigurationConstants.ATTR_INPUT_FILE,
+							(String) null));
 		}
 		return outputFile.toFile();
 	}
 
-	private static IPath getSubstitutedPath(String path) throws CoreException
-	{
-		if (path != null)
-		{
-			path = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(path);
+	private static IPath getSubstitutedPath(String path) throws CoreException {
+		if (path != null) {
+			path = VariablesPlugin.getDefault().getStringVariableManager()
+					.performStringSubstitution(path);
 			return new Path(path);
 		}
 		return null;
@@ -172,28 +174,18 @@
 	 * @return a free port number on localhost, or -1 if unable to find a free
 	 *         port
 	 */
-	public static int findFreePort()
-	{
+	public static int findFreePort() {
 		ServerSocket socket = null;
-		try
-		{
+		try {
 			socket = new ServerSocket(0);
 			return socket.getLocalPort();
-		}
-		catch (IOException e)
-		{
+		} catch (IOException e) {
 			LaunchingPlugin.log(e);
-		}
-		finally
-		{
-			if (socket != null)
-			{
-				try
-				{
+		} finally {
+			if (socket != null) {
+				try {
 					socket.close();
-				}
-				catch (IOException e)
-				{
+				} catch (IOException e) {
 					LaunchingPlugin.log(e);
 				}
 			}
@@ -201,14 +193,11 @@
 		return -1;
 	}
 
-	public boolean getOpenFileOnCompletion()
-	{
+	public boolean getOpenFileOnCompletion() {
 		return openFileOnCompletion;
 	}
-	
 
-	public boolean getFormatFileOnCompletion()
-	{
+	public boolean getFormatFileOnCompletion() {
 		return formatFileOnCompletion;
 	}
 
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchPipeline.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchPipeline.java
index fe4ca39..c3533dc 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchPipeline.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchPipeline.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2007, 2010 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (Intalio) - clean up find bugs
  *******************************************************************************/
 package org.eclipse.wst.xsl.launching.config;
 
@@ -30,55 +31,45 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
-public class LaunchPipeline
-{
+public class LaunchPipeline {
 	private List<LaunchTransform> transformDefs = new ArrayList<LaunchTransform>();
 	private final Properties outputProperties = new Properties();
 
-	public Properties getOutputProperties()
-	{
+	public Properties getOutputProperties() {
 		return outputProperties;
 	}
 
-	public void addOutputProperty(String name, String value)
-	{
+	public void addOutputProperty(String name, String value) {
 		outputProperties.put(name, value);
 	}
 
-	public List<LaunchTransform> getTransformDefs()
-	{
+	public List<LaunchTransform> getTransformDefs() {
 		return transformDefs;
 	}
 
-	public void setTransformDefs(List<LaunchTransform> transforms)
-	{
+	public void setTransformDefs(List<LaunchTransform> transforms) {
 		transformDefs = transforms;
 	}
 
-	public void addTransformDef(LaunchTransform tdef)
-	{
+	public void addTransformDef(LaunchTransform tdef) {
 		tdef.setPipeline(this);
 		transformDefs.add(tdef);
 	}
 
-	public void removeTransformDef(LaunchTransform tdef)
-	{
+	public void removeTransformDef(LaunchTransform tdef) {
 		transformDefs.remove(tdef);
 	}
 
-	public String toXML() throws CoreException
-	{
+	public String toXML() throws CoreException {
 		String xml = null;
-		try
-		{
+		try {
 			Document doc = PreferenceUtil.getDocument();
 			Element rootEl = doc.createElement("Pipeline"); //$NON-NLS-1$
 			doc.appendChild(rootEl);
 
 			Element opEl = doc.createElement("OutputProperties"); //$NON-NLS-1$
 			rootEl.appendChild(opEl);
-			for (Object element : outputProperties.entrySet())
-			{
+			for (Object element : outputProperties.entrySet()) {
 				Map.Entry entry = (Map.Entry) element;
 				Element propEl = doc.createElement("Property"); //$NON-NLS-1$
 				propEl.setAttribute("name", (String) entry.getKey()); //$NON-NLS-1$
@@ -86,48 +77,43 @@
 				opEl.appendChild(propEl);
 			}
 
-			for (Iterator<LaunchTransform> iter = transformDefs.iterator(); iter.hasNext();)
-			{
+			for (Iterator<LaunchTransform> iter = transformDefs.iterator(); iter
+					.hasNext();) {
 				LaunchTransform tdef = iter.next();
 				Element tdefEl = tdef.asXML(doc);
 				rootEl.appendChild(tdefEl);
 			}
 
 			xml = PreferenceUtil.serializeDocument(doc);
-		}
-		catch (DOMException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, 0, e.getMessage(), e));
-		}
-		catch (ParserConfigurationException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, 0, e.getMessage(), e));
-		}
-		catch (IOException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, 0, e.getMessage(), e));
-		}
-		catch (TransformerException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, 0, e.getMessage(), e));
+		} catch (DOMException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					LaunchingPlugin.PLUGIN_ID, 0, e.getMessage(), e));
+		} catch (ParserConfigurationException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					LaunchingPlugin.PLUGIN_ID, 0, e.getMessage(), e));
+		} catch (IOException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					LaunchingPlugin.PLUGIN_ID, 0, e.getMessage(), e));
+		} catch (TransformerException e) {
+			throw new CoreException(new Status(IStatus.ERROR,
+					LaunchingPlugin.PLUGIN_ID, 0, e.getMessage(), e));
 		}
 		return xml;
 	}
 
-	public static LaunchPipeline fromXML(InputStream inputStream) throws CoreException
-	{
+	public static LaunchPipeline fromXML(InputStream inputStream)
+			throws CoreException {
 		Document doc = PreferenceUtil.getDocument(inputStream);
 
 		LaunchPipeline pdef = new LaunchPipeline();
 
 		Element rootEl = doc.getDocumentElement();
 
-		Element opEl = (Element) rootEl.getElementsByTagName("OutputProperties").item(0); //$NON-NLS-1$
-		if (opEl != null)
-		{
+		Element opEl = (Element) rootEl
+				.getElementsByTagName("OutputProperties").item(0); //$NON-NLS-1$
+		if (opEl != null) {
 			NodeList propEls = opEl.getElementsByTagName("Property"); //$NON-NLS-1$
-			for (int i = 0; i < propEls.getLength(); i++)
-			{
+			for (int i = 0; i < propEls.getLength(); i++) {
 				Element propEl = (Element) propEls.item(i);
 				String name = propEl.getAttribute("name"); //$NON-NLS-1$
 				String value = propEl.getAttribute("value"); //$NON-NLS-1$
@@ -136,8 +122,7 @@
 		}
 
 		NodeList transformEls = rootEl.getElementsByTagName("Transform"); //$NON-NLS-1$
-		for (int i = 0; i < transformEls.getLength(); i++)
-		{
+		for (int i = 0; i < transformEls.getLength(); i++) {
 			Element transformEl = (Element) transformEls.item(i);
 			LaunchTransform tdef = LaunchTransform.fromXML(transformEl);
 			pdef.addTransformDef(tdef);
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/NodeListVariable.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/NodeListVariable.java
index 4571a17..4887ab2 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/NodeListVariable.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/NodeListVariable.java
@@ -36,9 +36,9 @@
 
 	public String getName() throws DebugException {
 		// TODO Auto-generated method stub
-		String nodeName = "";
+		String nodeName = ""; //$NON-NLS-1$
 		if (node.getPrefix() != null) {
-			nodeName = nodeName + node.getPrefix() + ":";
+			nodeName = nodeName + node.getPrefix() + ":"; //$NON-NLS-1$
 		}
 		if (node.getNodeName() != null) {
 			nodeName = nodeName + node.getNodeName();
@@ -52,12 +52,7 @@
 	}
 
 	public IValue getValue() throws DebugException {
-		String nodeValue = "";
-		if (node.getNodeValue() != null) {
-		   nodeValue = node.getNodeValue();
-		}
-		//IValue value = new XSLValue(debugTarget, "string", nodeValue);
-		IValue value = new XSLValue(debugTarget, "string", node);
+		IValue value = new XSLValue(debugTarget, "string", node); //$NON-NLS-1$
 		return value;
 	}
 
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLDebugElement.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLDebugElement.java
index 6f09f2f..3eb2e04 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLDebugElement.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLDebugElement.java
@@ -28,7 +28,6 @@
 		return IXSLConstants.ID_XSL_DEBUG_MODEL;
 	}
 	
-	@SuppressWarnings("unchecked") 
 	@Override
 	public Object getAdapter(Class adapter) {
 		if (adapter == ITerminate.class) {
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLLineBreakpoint.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLLineBreakpoint.java
index 9ef5581..d1c6934 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLLineBreakpoint.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLLineBreakpoint.java
@@ -43,8 +43,8 @@
 				marker.setAttribute(IMarker.MESSAGE, Messages.XSLLineBreakpoint_0 + resource.getName() + " [line: " + lineNumber + "]"); //$NON-NLS-1$ //$NON-NLS-2$ 
 
 				marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
-				marker.setAttribute(IMarker.CHAR_START, new Integer(charStart));
-				marker.setAttribute(IMarker.CHAR_END, new Integer(charEnd));
+				marker.setAttribute(IMarker.CHAR_START, Integer.valueOf(charStart));
+				marker.setAttribute(IMarker.CHAR_END, Integer.valueOf(charEnd));
 
 				register(true);
 			}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLValue.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLValue.java
index ee26faf..c007f0b 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLValue.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLValue.java
@@ -34,6 +34,8 @@
 
 public class XSLValue extends XSLDebugElement implements IValue
 {
+	private static final String NODESET = "nodeset"; //$NON-NLS-1$
+	private static final String EMPTY_NODESET = "<EMPTY NODESET>"; //$NON-NLS-1$
 	private String fValue;
 	private String type;
 	private boolean hasVariables;
@@ -45,7 +47,7 @@
 	public XSLValue(IDebugTarget target, String type, Node node) {
 		super(target);
 		actualNode = node;
-		String value = "";
+		String value = ""; //$NON-NLS-1$
 		if (node.getNodeValue() != null) {
 			value = node.getNodeValue();
 		}
@@ -90,7 +92,7 @@
 			}
 			variableList.addAll(getNodeListVariables(actualNode.getChildNodes()));
 		}
-		if (type.equals("nodeset") && !(fValue.equals("<EMPTY NODESET>"))) {
+		if (type.equals(NODESET) && !(fValue.equals(EMPTY_NODESET))) { 
 			createNodeSetVariables(variableList);
 		}
 		IVariable[] variables = new IVariable[variableList.size()];
@@ -102,7 +104,7 @@
 		NodeList nodeList = null;
 		try {
 			DocumentBuilder builder = builderFactory.newDocumentBuilder();
-			String nodeSet = "<nodeset>" + fValue + "</nodeset>";
+			String nodeSet = "<nodeset>" + fValue + "</nodeset>"; //$NON-NLS-1$ //$NON-NLS-2$
 			InputStream is = new ByteArrayInputStream(nodeSet.getBytes());
 			Document doc = builder.parse(is);
 			Node firstChild = doc.getFirstChild();
@@ -118,13 +120,9 @@
 	}
 	private List<IVariable> getNodeListVariables(NodeList nodeList) {
 		List<IVariable> variableList = new ArrayList<IVariable>();
-		IVariable[] returnVars = new IVariable[nodeList.getLength()];
 		if (nodeList != null) {
 			for (int i = 0; i < nodeList.getLength(); i++) {
 				Node node = nodeList.item(i);
-//				if (node.hasAttributes()) {
-//					getAttributes(variableList, node);
-//				}
 				IVariable variable = new NodeListVariable(getDebugTarget(), node);
 				variableList.add(variable);
 			}
@@ -145,12 +143,12 @@
 		hasVariables = false;
 		if (actualNode != null) {
 			hasVariables = actualNode.hasChildNodes();
-		} else 	if (type.equals("nodeset")) {
+		} else 	if (type.equals(NODESET)) { 
 			hasVariables = true;
 		} else {
 			hasVariables = false;
 		}
-		if (fValue.equals("<EMPTY NODESET>")) {
+		if (fValue.equals(EMPTY_NODESET)) {
 			hasVariables = false;
 		}
 		
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLVariable.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLVariable.java
index 0b7a469..2c8d094 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLVariable.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLVariable.java
@@ -14,7 +14,6 @@
 import org.eclipse.debug.core.model.IDebugTarget;
 import org.eclipse.debug.core.model.IValue;
 import org.eclipse.debug.core.model.IVariable;
-import org.w3c.dom.NodeList;
 
 public class XSLVariable extends XSLDebugElement implements IVariable
 {
@@ -25,8 +24,6 @@
 	private final int id;
 	private String fName;
 	private String scope;
-	private String type;
-	private NodeList nodeList;
 
 	public XSLVariable(IDebugTarget target, int id)
 	{
diff --git a/bundles/org.eclipse.wst.xsl.saxon/.project b/bundles/org.eclipse.wst.xsl.saxon/.project
index f884eee..43a6584 100644
--- a/bundles/org.eclipse.wst.xsl.saxon/.project
+++ b/bundles/org.eclipse.wst.xsl.saxon/.project
@@ -20,9 +20,15 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
 	</natures>
 </projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.saxon/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.saxon/META-INF/MANIFEST.MF
index c12d9e1..d384048 100644
--- a/bundles/org.eclipse.wst.xsl.saxon/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.saxon/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xsl.saxon;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.100.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.4
 Bundle-Localization: plugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/bundles/org.eclipse.wst.xsl.saxon/plugin.properties b/bundles/org.eclipse.wst.xsl.saxon/plugin.properties
index 7aec9e4..6fb3cd7 100644
--- a/bundles/org.eclipse.wst.xsl.saxon/plugin.properties
+++ b/bundles/org.eclipse.wst.xsl.saxon/plugin.properties
@@ -2,6 +2,6 @@
 Bundle-Name.0 = XSL Saxon Support
 processorType.label.0 = Saxon (XSLT 2.0)
 processorType.label.1 = Saxon (XSLT 1.0)
-Bundle-Vendor.0 = Eclipse.org
+Bundle-Vendor.0 = Eclipse Web Tools Platform
 transformerFactorySaxon6 = Saxon 6
-transformerSaxonXSLT2 = Saxon 7
\ No newline at end of file
+transformerSaxonXSLT2 = Saxon 7
diff --git a/bundles/org.eclipse.wst.xsl.ui/.classpath b/bundles/org.eclipse.wst.xsl.ui/.classpath
index fd14010..696b2f3 100644
--- a/bundles/org.eclipse.wst.xsl.ui/.classpath
+++ b/bundles/org.eclipse.wst.xsl.ui/.classpath
@@ -8,7 +8,9 @@
 	</classpathentry>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
 		<accessrules>
-			<accessrule kind="accessible" pattern="**/xsl/core/**"/>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/xsl/core/**"/>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/sse/**"/>
+			<accessrule kind="accessible" pattern="org/eclipse/wst/xml/**"/>
 		</accessrules>
 	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.wst.xsl.ui/.settings/.api_filters b/bundles/org.eclipse.wst.xsl.ui/.settings/.api_filters
new file mode 100644
index 0000000..7792fbb
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/.settings/.api_filters
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<component id="org.eclipse.wst.xsl.ui" version="2">
+    <resource path="src/org/eclipse/wst/xsl/ui/provisional/contentassist/CustomCompletionProposal.java" type="org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal">
+        <filter id="576720909">
+            <message_arguments>
+                <message_argument value="CustomCompletionProposal"/>
+                <message_argument value="CustomCompletionProposal"/>
+            </message_arguments>
+        </filter>
+    </resource>
+</component>
diff --git a/bundles/org.eclipse.wst.xsl.ui/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.wst.xsl.ui/.settings/org.eclipse.pde.prefs
index ade4019..71ca16a 100644
--- a/bundles/org.eclipse.wst.xsl.ui/.settings/org.eclipse.pde.prefs
+++ b/bundles/org.eclipse.wst.xsl.ui/.settings/org.eclipse.pde.prefs
@@ -1,4 +1,4 @@
-#Fri Sep 05 23:58:31 GMT 2008
+#Tue Sep 22 02:22:18 GMT 2009
 compilers.f.unresolved-features=1
 compilers.f.unresolved-plugins=1
 compilers.incompatible-environment=1
@@ -7,6 +7,9 @@
 compilers.p.discouraged-class=1
 compilers.p.internal=1
 compilers.p.missing-packages=2
+compilers.p.missing-version-export-package=2
+compilers.p.missing-version-import-package=2
+compilers.p.missing-version-require-bundle=2
 compilers.p.no-required-att=0
 compilers.p.not-externalized-att=1
 compilers.p.unknown-attribute=1
diff --git a/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF
index 3465f09..600c390 100644
--- a/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.wst.xsl.ui;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.1.0.qualifier
 Bundle-Activator: org.eclipse.wst.xsl.ui.internal.XSLUIPlugin
 Bundle-Localization: plugin
 Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
@@ -31,13 +31,17 @@
  org.eclipse.wst.xsl.ui.internal.contentassist;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.contentassist.href;x-internal:=true,
+ org.eclipse.wst.xsl.ui.internal.contentoutline;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.doubleclick;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.editor;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.handlers;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.preferences;x-internal:=true,
+ org.eclipse.wst.xsl.ui.internal.quickassist;x-internal:=true,
+ org.eclipse.wst.xsl.ui.internal.registry;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.style;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.templates;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.util;x-internal:=true,
  org.eclipse.wst.xsl.ui.internal.validation;x-internal:=true,
- org.eclipse.wst.xsl.ui.internal.wizards;x-internal:=true
+ org.eclipse.wst.xsl.ui.internal.wizards;x-internal:=true,
+ org.eclipse.wst.xsl.ui.provisional.contentassist
 Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.wst.xsl.ui/build.properties b/bundles/org.eclipse.wst.xsl.ui/build.properties
index 60e64be..2f3d491 100644
--- a/bundles/org.eclipse.wst.xsl.ui/build.properties
+++ b/bundles/org.eclipse.wst.xsl.ui/build.properties
@@ -7,4 +7,11 @@
                plugin.properties,\
                templates/,\
                about.html,\
-               xslfiles/
+               xslfiles/,\
+               schema/
+src.includes = schema/,\
+               src/,\
+               xslfiles/,\
+               templates/,\
+               icons/,\
+               plugin.xml
diff --git a/bundles/org.eclipse.wst.xsl.ui/icons/full/alphab_sort_co.gif b/bundles/org.eclipse.wst.xsl.ui/icons/full/alphab_sort_co.gif
new file mode 100644
index 0000000..6311cc0
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/icons/full/alphab_sort_co.gif
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsl.ui/icons/full/hierarchy.gif b/bundles/org.eclipse.wst.xsl.ui/icons/full/hierarchy.gif
new file mode 100644
index 0000000..7c7dca8
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/icons/full/hierarchy.gif
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsl.ui/icons/full/templatenamed_obj.gif b/bundles/org.eclipse.wst.xsl.ui/icons/full/templatenamed_obj.gif
new file mode 100644
index 0000000..7d24707
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/icons/full/templatenamed_obj.gif
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsl.ui/icons/full/xslattribute-set.gif b/bundles/org.eclipse.wst.xsl.ui/icons/full/xslattribute-set.gif
new file mode 100644
index 0000000..f2e6ec6
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/icons/full/xslattribute-set.gif
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsl.ui/plugin.properties b/bundles/org.eclipse.wst.xsl.ui/plugin.properties
index bd50aaf..a71e726 100644
--- a/bundles/org.eclipse.wst.xsl.ui/plugin.properties
+++ b/bundles/org.eclipse.wst.xsl.ui/plugin.properties
@@ -1,5 +1,5 @@
 ###############################################################################
-# Copyright (c) 2005, 2009 Orangevolt (www.orangevolt.com)
+# Copyright (c) 2005, 2010 Orangevolt (www.orangevolt.com)
 # All rights reserved. This program and the accompanying materials
 # are made available under the terms of the Eclipse Public License v1.0
 # which accompanies this distribution, and is available at
@@ -11,7 +11,7 @@
 #     
 ###############################################################################
 
-providerName=Eclipse.org
+providerName=Eclipse Web Tools Platform
 pluginName=XSL Editor and Validation
 page.name.0 = XSL
 
@@ -27,8 +27,11 @@
 commandTooltipNewDTDFile = New DTD File
 commandTooltipNewXSDFile = New XML Schema File
 commandTooltipNewXSLFile = New XSL File
-viewNameStylesheet = Stylesheet
+viewNameStylesheet = Stylesheet Model
 pageSyntaxColoring = Syntax Coloring
 XSL_Property_validation = XSLT Validation
 
-specification.label.0 = Override
\ No newline at end of file
+specification.label.0 = Override
+XSLContentAssistExtension = XSL Content Assistance
+contextTypeXSLTag = XSL Tag
+contextTypeXSLAttr = XSL Attribute
diff --git a/bundles/org.eclipse.wst.xsl.ui/plugin.xml b/bundles/org.eclipse.wst.xsl.ui/plugin.xml
index 0d99ac6..3d04b15 100644
--- a/bundles/org.eclipse.wst.xsl.ui/plugin.xml
+++ b/bundles/org.eclipse.wst.xsl.ui/plugin.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?>
 <plugin>
+   <extension-point id="contentAssistProcessor" name="%XSLContentAssistExtension" schema="/schema/contentAssistProcessor.exsd"/>
 
 	<extension point="org.eclipse.ui.editors">
 		<editor name="%editorName" 
@@ -30,6 +31,13 @@
 			class="org.eclipse.wst.xsl.ui.internal.StructuredTextViewerConfigurationXSL"
 			target="org.eclipse.wst.xml.core.xslsource">
 		</sourceViewerConfiguration>
+		<contentOutlineConfiguration
+        class="org.eclipse.wst.xsl.ui.internal.contentoutline.XSLContentOutlineConfiguration"
+        target="org.eclipse.wst.xml.core.xslsource">
+		</contentOutlineConfiguration>
+		<quickOutlineConfiguration
+			class="org.eclipse.wst.xml.ui.internal.quickoutline.XMLQuickOutlineConfiguration"
+			target="org.eclipse.core.runtime.xml, org.eclipse.wst.xml.core.xmlsource, org.eclipse.wst.core.xslsource" />
 	    <doubleClickStrategy
            class="org.eclipse.wst.xsl.ui.internal.doubleclick.XSLDoubleClickStrategy"
            target="org.eclipse.wst.xsl.XSL_XPATH">
@@ -64,6 +72,15 @@
 			class="org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL"
 			id="xsl_new" name="%contextTypeNewXSL">
 		</contextType>
+		<contextType
+			class="org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL"
+			id="xsl_tag" name="%contextTypeXSLTag">
+		</contextType>
+		<contextType
+			class="org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL"
+			id="xsl_attr" name="%contextTypeXSLAttr">
+		</contextType>
+		
 		<include file="templates/file_templates.xml" />
 	</extension>
 
@@ -145,16 +162,17 @@
   <extension
         point="org.eclipse.ui.views">
      <view
-           class="org.eclipse.wst.xsl.ui.internal.StylesheetView"
+           category="org.eclipse.wst.xml"
+           class="org.eclipse.wst.xsl.ui.internal.views.stylesheet.StylesheetModelView"
+           icon="icons/full/hierarchy.gif"
            id="org.eclipse.wst.xsl.ui.view.outline"
            name="%viewNameStylesheet"
-           category="org.eclipse.wst.xml"
            restorable="true">
      </view>
   </extension>
   <extension point="org.eclipse.core.runtime.adapters">		
 		<factory 
-            class="org.eclipse.wst.xsl.ui.internal.XSLModelAdapterFactory" 
+            class="org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLModelAdapterFactory" 
             adaptableType="org.eclipse.wst.xsl.core.model.XSLModelObject">
             <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>
 		</factory>
@@ -246,10 +264,63 @@
      </menuContribution>
   </extension>
 
- <extension point="org.eclipse.ui.navigator.navigatorContent">
-	<commonWizard type="new" wizardId="org.eclipse.wst.xsl.ui.internal.wizards.NewStylesheetWizard">
+ <extension point="org.eclipse.ui.navigator.navigatorContent" >
+	<commonWizard type="new" wizardId="org.eclipse.wst.xsl.ui.internal.wizards.NewStylesheetWizard"  menuGroupId="org.eclipse.wst.xml.new.menuGroup">
 		<enablement>
+			<instanceof value="org.eclipse.core.resources.IResource"/>
+			<with variable="activeWorkbenchWindow.activePerspective">
+			   <equals value="org.eclipse.wst.xml.ui.perspective"/>
+			</with>
 		</enablement>
 	</commonWizard>
  </extension>
+ <extension
+       point="org.eclipse.wst.xsl.ui.contentAssistProcessor">
+    <processor
+          class="org.eclipse.wst.xml.ui.internal.contentassist.XMLContentAssistProcessor"/>
+    <processor
+          class="org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateContentAssistProcessor"/>
+    <processor
+          class="org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistProcessor"/>
+ </extension>
+	<extension
+		point="org.eclipse.wst.sse.ui.adapterFactoryDescription">
+		<adapterFactoryDescription
+			class="org.eclipse.wst.xsl.ui.internal.registry.AdapterFactoryProviderForXSL">
+			<contentType id="org.eclipse.wst.xml.core.xslsource" />
+		</adapterFactoryDescription>
+	</extension>
+ <extension
+       point="org.eclipse.wst.sse.ui.semanticHighlighting">
+    <highlighting
+          class="org.eclipse.wst.xsl.ui.internal.style.XSLTagNameSemanticHighlighting"
+          target="org.eclipse.core.runtime.xml, org.eclipse.wst.xml.core.xslsource"
+          styleStringKey="xsltagName">
+    </highlighting>
+ </extension>
+ <extension
+       point="org.eclipse.wst.sse.ui.semanticHighlighting">
+    <highlighting
+          class="org.eclipse.wst.xsl.ui.internal.style.XSLAttrNameSemanticHighlighting"
+          target="org.eclipse.core.runtime.xml, org.eclipse.wst.xml.core.xslsource"
+          styleStringKey="xsltagAttributeName">
+    </highlighting>
+ </extension>
+<extension
+       point="org.eclipse.wst.sse.ui.semanticHighlighting">
+    <highlighting
+          class="org.eclipse.wst.xsl.ui.internal.style.XSLAttrValueSemanticHighlighting"
+          target="org.eclipse.core.runtime.xml, org.eclipse.wst.xml.core.xslsource"
+          styleStringKey="xsltagAttributeValue">
+    </highlighting>
+ </extension>
+ <extension
+       point="org.eclipse.wst.sse.ui.semanticHighlighting">
+    <highlighting
+          class="org.eclipse.wst.xsl.ui.internal.style.XSLTagDelimsSemanticHighlighting"
+          target="org.eclipse.core.runtime.xml, org.eclipse.wst.xml.core.xslsource"
+          styleStringKey="xsltagBorder">
+    </highlighting>
+ </extension>
+  
 </plugin>
diff --git a/bundles/org.eclipse.wst.xsl.ui/schema/contentAssistProcessor.exsd b/bundles/org.eclipse.wst.xsl.ui/schema/contentAssistProcessor.exsd
new file mode 100644
index 0000000..ceddaf2
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/schema/contentAssistProcessor.exsd
@@ -0,0 +1,113 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.wst.xsl.ui" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appinfo>
+         <meta.schema plugin="org.eclipse.wst.xsl.ui" id="contentAssistProcessor" name="XSL Content Assistance"/>
+      </appinfo>
+      <documentation>
+         XSL Content Asisstance processor extension point, allows for the contribution of adopter defined XSL processor extensions.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appinfo>
+            <meta.element />
+         </appinfo>
+      </annotation>
+      <complexType>
+         <sequence>
+            <element ref="processor" minOccurs="1" maxOccurs="unbounded"/>
+         </sequence>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  A unique ID for this extension point
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  Extension point name
+               </documentation>
+               <appinfo>
+                  <meta.attribute translatable="true"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="processor">
+      <annotation>
+         <documentation>
+            Processor that provides content assistance
+         </documentation>
+      </annotation>
+      <complexType>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  The class that implements the content assistant processor.
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="since"/>
+      </appinfo>
+      <documentation>
+         1.1
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="examples"/>
+      </appinfo>
+      <documentation>
+         &lt;p&gt;&amp;lt;extension
+       point=&quot;org.eclipse.wst.xsl.ui.contentAssistProcessor&quot;&gt;&lt;/p&gt;
+&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;lt;processor
+          class=&quot;org.eclipse.wst.xml.ui.internal.contentassist.XMLContentAssistProcessor&quot;&gt;&lt;/p&gt;
+&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;lt;/processor&gt;&lt;/p&gt;
+&lt;p&gt;&amp;lt;/extension&gt;&lt;/p&gt;
+      </documentation>
+   </annotation>
+
+
+
+   <annotation>
+      <appinfo>
+         <meta.section type="copyright"/>
+      </appinfo>
+      <documentation>
+*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - initial API and implementation
+ ******************************************************************************
+      </documentation>
+   </annotation>
+
+</schema>
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/StructuredTextViewerConfigurationXSL.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/StructuredTextViewerConfigurationXSL.java
index 4d42727..5ba9168 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/StructuredTextViewerConfigurationXSL.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/StructuredTextViewerConfigurationXSL.java
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     David Carver - STAR - bug 213849 - initial API and implementation
+ *     David Carver - Intalio - general clean up of unused imports.
  *******************************************************************************/
 
 package org.eclipse.wst.xsl.ui.internal;
@@ -23,7 +24,7 @@
 import org.eclipse.wst.xml.ui.internal.contentassist.NoRegionContentAssistProcessor;
 import org.eclipse.wst.xsl.core.internal.text.IXSLPartitions;
 import org.eclipse.wst.xsl.core.internal.text.rules.StructuredTextPartitionerForXSL;
-import org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistProcessor;
+import org.eclipse.wst.xsl.ui.internal.contentassist.ContentAssistProcessorFactory;
 import org.eclipse.wst.xsl.ui.internal.editor.XSLHyperlinkDetector;
 import org.eclipse.wst.xsl.ui.internal.style.LineStyleProviderForXSL;
 
@@ -59,7 +60,7 @@
 		if ((partitionType.equals(IStructuredPartitions.DEFAULT_PARTITION))
 				|| (partitionType.equals(IXMLPartitions.XML_DEFAULT))
 				|| (partitionType.equals(IXSLPartitions.XSL_XPATH))) {
-			processors = new IContentAssistProcessor[] { new XSLContentAssistProcessor() };
+				processors = ContentAssistProcessorFactory.createProcessors();		
 		} else if (partitionType.equals(IStructuredPartitions.UNKNOWN_PARTITION)) {
 			processors = new IContentAssistProcessor[] { new NoRegionContentAssistProcessor() };
 		}
@@ -106,15 +107,15 @@
 		return fConfiguredContentTypes;
 	}
 
-	@Override
-	public LineStyleProvider[] getLineStyleProviders(
-			ISourceViewer sourceViewer, String partitionType) {
-		LineStyleProvider[] providers = null;
-        if (isXMLPartition(partitionType)) {
-    		providers = new LineStyleProvider[] {getLineStyleProviderForXSL()};
-		}
-		return providers;
-	}
+//	@Override
+//	public LineStyleProvider[] getLineStyleProviders(
+//			ISourceViewer sourceViewer, String partitionType) {
+//		LineStyleProvider[] providers = null;
+//        if (isXMLPartition(partitionType)) {
+//    		providers = new LineStyleProvider[] {getLineStyleProviderForXSL()};
+//		}
+//		return providers;
+//	}
 
 	private boolean isXMLPartition(String partitionType) {
 		return partitionType.equals(IXMLPartitions.XML_DEFAULT)
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLUIPlugin.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLUIPlugin.java
index 086b0ad..aa26a07 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLUIPlugin.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLUIPlugin.java
@@ -24,6 +24,7 @@
 import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry;
 import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 
@@ -130,7 +131,9 @@
 		if (fContextTypeRegistry == null)
 		{
 			ContributionContextTypeRegistry registry = new ContributionContextTypeRegistry();
-			registry.addContextType("xsl_new"); //$NON-NLS-1$
+			registry.addContextType(TemplateContextTypeXSL.XSL_NEW);
+			registry.addContextType(TemplateContextTypeXSL.XSL_TAG);
+			registry.addContextType(TemplateContextTypeXSL.XSL_ATTR);
 			fContextTypeRegistry = registry;
 		}
 		return fContextTypeRegistry;
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLWorkbenchAdapter.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLWorkbenchAdapter.java
deleted file mode 100644
index d11c0ef..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLWorkbenchAdapter.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.wst.xsl.ui.internal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.wst.xsl.core.model.Import;
-import org.eclipse.wst.xsl.core.model.Include;
-import org.eclipse.wst.xsl.core.model.Stylesheet;
-import org.eclipse.wst.xsl.core.model.Template;
-import org.eclipse.wst.xsl.core.model.Variable;
-import org.eclipse.wst.xsl.core.model.XSLModelObject;
-
-class XSLWorkbenchAdapter implements IWorkbenchAdapter {
-	private final Object[] EMPTY = new Object[0];
-
-	public Object[] getChildren(Object o) {
-		XSLModelObject obj = (XSLModelObject) o;
-		switch (obj.getModelType()) {
-		case STYLESHEET:
-			Stylesheet stylesheet = (Stylesheet) obj;
-			return new Object[] {
-					new ListWorkbenchAdapter(stylesheet, null, stylesheet
-							.getVersion(), "icons/full/xslt_launch.gif"), //$NON-NLS-1$
-					new ListWorkbenchAdapter(stylesheet, stylesheet
-							.getImports(), "Imports", "icons/full/imports.gif"), //$NON-NLS-1$ //$NON-NLS-2$
-					new ListWorkbenchAdapter(stylesheet, stylesheet
-							.getIncludes(), "Includes", //$NON-NLS-1$
-							"icons/full/imports.gif"), //$NON-NLS-1$
-					new ListWorkbenchAdapter(stylesheet, stylesheet
-							.getGlobalVariables(), "Variables", null), //$NON-NLS-1$
-					new ListWorkbenchAdapter(stylesheet, stylesheet
-							.getTemplates(), "Templates", null) }; //$NON-NLS-1$
-		}
-		return EMPTY;
-	}
-
-	public ImageDescriptor getImageDescriptor(Object object) {
-		XSLModelObject obj = (XSLModelObject) object;
-		String path = null;
-		switch (obj.getModelType()) {
-		case STYLESHEET:
-			path = "icons/full/xslt_launch.gif"; //$NON-NLS-1$
-			break;
-		case IMPORT:
-		case INCLUDE:
-			path = "icons/full/import.gif"; //$NON-NLS-1$
-			break;
-		case TEMPLATE:
-			path = "icons/full/methdef_obj.gif"; //$NON-NLS-1$
-			break;
-		case VARIABLE:
-			path = "icons/full/field_default_obj.gif"; //$NON-NLS-1$
-			break;
-		}
-		return path == null ? null : AbstractUIPlugin.imageDescriptorFromPlugin(
-				XSLUIPlugin.PLUGIN_ID, path);
-	}
-
-	public String getLabel(Object o) {
-		String label = null;
-		XSLModelObject obj = (XSLModelObject) o;
-		switch (obj.getModelType()) {
-		case STYLESHEET:
-			Stylesheet stylesheet = (Stylesheet) obj;
-			label = stylesheet.getVersion() == null ? "?" : stylesheet //$NON-NLS-1$
-					.getVersion();
-			break;
-		case IMPORT:
-			Import imp = (Import) obj;
-			label = imp.getHref();
-			break;
-		case INCLUDE:
-			Include inc = (Include) obj;
-			label = inc.getHref();
-			break;
-		case TEMPLATE:
-			Template t = (Template) obj;
-			StringBuffer sb = new StringBuffer();
-			if (t.getName() != null)
-				sb.append(t.getName()).append(" "); //$NON-NLS-1$
-			if (t.getMatch() != null)
-				sb.append(t.getMatch()).append(" "); //$NON-NLS-1$
-			if (t.getMode() != null)
-				sb.append("(").append(t.getMode()).append(")");  //$NON-NLS-1$//$NON-NLS-2$
-			label = sb.toString();
-			break;
-		case VARIABLE:
-			Variable v = (Variable) obj;
-			label = v.getName();
-			break;
-		}
-		return label;
-	}
-
-	public Object getParent(Object o) {
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AttributeContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AttributeContentAssist.java
new file mode 100644
index 0000000..ec54127
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AttributeContentAssist.java
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ *Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ *All rights reserved. This program and the accompanying materials
+ *are made available under the terms of the Eclipse Public License v1.0
+ *which accompanies this distribution, and is available at
+ *http://www.eclipse.org/legal/epl-v10.html
+ *
+ *Contributors:
+ *    David Carver (STAR) - bug 294079 - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentassist;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+/**
+ * This class provides content assistance for attributes that contain the "{" character attribute.
+ *  
+ * @author dcarver
+ * @since 1.1
+ */
+public class AttributeContentAssist extends SelectAttributeContentAssist {
+
+	/**
+	 * Constructor for the XSL content assistance for the test attribute.
+	 * 
+	 * @param node
+	 * @param documentRegion
+	 * @param completionRegion
+	 * @param begin
+	 * @param length
+	 * @param filter
+	 * @param textViewer
+	 */
+	public AttributeContentAssist(Node node, 
+			IStructuredDocumentRegion documentRegion,
+			ITextRegion completionRegion, int begin, int length, String filter,
+			ITextViewer textViewer) {
+		super(node, documentRegion, completionRegion, begin, length, filter,
+				textViewer);
+	}
+	
+	/** 
+	 * (non-Javadoc)
+	 * @see org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist#getCompletionProposals()
+	 */
+	@Override
+	public ArrayList<ICompletionProposal> getCompletionProposals() {
+				
+		int offset = getReplacementBeginPosition();
+		
+		IDOMAttr attrNode = getAttributeAtOffset(offset);
+	    
+	    if (attrNode == null || !matchString.contains("{")) { //$NON-NLS-1$
+	    	return getAllCompletionProposals();
+	    }
+	    
+		adjustXPathStart(attrNode.getLocalName());
+		offset = getReplacementBeginPosition();
+		
+		matchString = extractXPathMatchString(attrNode, getRegion(), getReplacementBeginPosition());
+		
+	    addSelectProposals((Element)getNode().getParentNode(), offset);
+
+		return getAllCompletionProposals();
+    }
+
+	private IDOMAttr getAttributeAtOffset(int offset) {
+		Node node = getNode();
+		if (node == null) {
+			return null;
+		}
+		NamedNodeMap nodeMap = node.getAttributes();
+		IDOMAttr attrNode = null;
+		
+		for (int i = 0; i < nodeMap.getLength(); i++) {
+			IDOMAttr tmpAttr = (IDOMAttr) nodeMap.item(i);
+			int start = tmpAttr.getStartOffset();
+			int end = tmpAttr.getEndOffset();
+			if (start <= offset ||
+				end  > offset) {
+				attrNode = tmpAttr;
+				break;
+			}	
+		}
+		return attrNode;
+	}
+	
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/CallTemplateContentAssistRequest.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/CallTemplateContentAssistRequest.java
index bf4dc8c..e13b1ce 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/CallTemplateContentAssistRequest.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/CallTemplateContentAssistRequest.java
@@ -28,6 +28,7 @@
 import org.eclipse.wst.xsl.ui.internal.Messages;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest;
 import org.w3c.dom.Node;
 
 /**
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/ContentAssistProcessorFactory.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/ContentAssistProcessorFactory.java
new file mode 100644
index 0000000..0992168
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/ContentAssistProcessorFactory.java
@@ -0,0 +1,69 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentassist;
+
+import java.util.ArrayList;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionPoint;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
+
+/**
+ * A factory class that reads an eclipse extension point for Content Assist
+ * Processors.
+ * @author dcarver
+ * @since 1.1
+ */
+public class ContentAssistProcessorFactory {
+	private static IContentAssistProcessor[] processors = null;
+	
+	/**
+	 * Creates the necessary Content Assist Processors that have been
+	 * Contributed to the XSL Editor configuration.
+	 * @return
+	 */
+	public static IContentAssistProcessor[] createProcessors() {
+		IExtensionPoint point = getExtensionPoint();
+		if (point == null) {
+			return processors;
+		}
+		getProcessors(point);
+		return processors;
+	}
+
+	private static void getProcessors(IExtensionPoint point) {
+		ArrayList<Object> eprocessors = new ArrayList<Object>();
+		IConfigurationElement[] configElems = point.getConfigurationElements();
+		
+		for (IConfigurationElement processor : configElems) {
+			try {
+				final Object o = processor.createExecutableExtension("class"); //$NON-NLS-1$
+				eprocessors.add(o);
+			} catch (CoreException ex) {
+				
+			}
+		}
+		if (!eprocessors.isEmpty()) {
+			processors = new IContentAssistProcessor[eprocessors.size()];
+			eprocessors.toArray(processors);
+		}
+	}
+
+	private static IExtensionPoint getExtensionPoint() {
+		IExtensionRegistry pluginRegistry = Platform.getExtensionRegistry();
+		IExtensionPoint point = pluginRegistry.getExtensionPoint(XSLUIPlugin.PLUGIN_ID, "contentAssistProcessor"); //$NON-NLS-1$
+		return point;
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/ExcludeResultPrefixesContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/ExcludeResultPrefixesContentAssist.java
index 6a4eba1..c5353b3 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/ExcludeResultPrefixesContentAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/ExcludeResultPrefixesContentAssist.java
@@ -26,6 +26,7 @@
 import org.eclipse.wst.xsl.ui.internal.Messages;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest;
 import org.w3c.dom.Node;
 
 /**
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/SelectAttributeContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/SelectAttributeContentAssist.java
index 85658ae..1dcee8d 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/SelectAttributeContentAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/SelectAttributeContentAssist.java
@@ -9,6 +9,7 @@
  *    David Carver (STAR) - bug 240170 - initial API and implementation
  *                          bug 259575 - fixed replacement issue and XPath tokenizer
  *                                       position adjuster for matchString.
+ *                          bug 281420 - fixed variable replacement offsets.
  *******************************************************************************/
 package org.eclipse.wst.xsl.ui.internal.contentassist;
 
@@ -17,12 +18,10 @@
 
 import javax.xml.transform.TransformerException;
 
-import org.apache.xpath.compiler.XPathParser;
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.contentassist.ICompletionProposal;
 import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.xsl.ui.internal.contentassist.CustomCompletionProposal;
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
 import org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper;
@@ -31,20 +30,23 @@
 import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 
-
 /**
  * This class provides content assistance for the XSL select attribute.
  * 
  * @author dcarver
- *
+ * @since 1.1
  */
-public class SelectAttributeContentAssist extends AbstractXSLContentAssistRequest {
-	
-	private static final String SELECT_ATTRIBUTE = "select"; //$NON-NLS-1$
+public class SelectAttributeContentAssist extends
+		AbstractXSLContentAssistRequest {
+
+	protected static final String SELECT_ATTRIBUTE = "select"; //$NON-NLS-1$
 
 	private static final String XPATH_GLOBAL_VARIABLES = "/xsl:stylesheet/xsl:variable"; //$NON-NLS-1$
 
@@ -68,9 +70,10 @@
 	private static final byte[] XPATH_LOCK = new byte[0];
 
 	/**
-	 * Handles Content Assistance requests for Select Attributes.  This is called an instantiated
-	 * through the use of the computeProposals method from the XSLContentAssistProcessor.  It will
-	 * calculate the available proposals that are available for the XSL select attribute.
+	 * Handles Content Assistance requests for Select Attributes. This is called
+	 * an instantiated through the use of the computeProposals method from the
+	 * XSLContentAssistProcessor. It will calculate the available proposals that
+	 * are available for the XSL select attribute.
 	 * 
 	 * @param node
 	 * @param documentRegion
@@ -84,126 +87,126 @@
 			IStructuredDocumentRegion documentRegion,
 			ITextRegion completionRegion, int begin, int length, String filter,
 			ITextViewer textViewer) {
-		super(node, documentRegion, completionRegion, begin, length, filter, textViewer);
+		super(node, documentRegion, completionRegion, begin, length, filter,
+				textViewer);
 		// TODO Auto-generated constructor stub
 	}
 
-	
-	/** 
+	/**
 	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.wst.xml.ui.internal.contentassist.ContentAssistRequest#getCompletionProposals()
 	 */
 	@Override
 	public ArrayList<ICompletionProposal> getCompletionProposals() {
 		proposals.clear();
-		
-		adjustXPathStart();
-		
+
+		adjustXPathStart(SELECT_ATTRIBUTE);
+
 		int offset = getReplacementBeginPosition();
-		IDOMAttr attrNode = getAttribute(SELECT_ATTRIBUTE); 
-		
-		this.matchString = extractXPathMatchString(attrNode, getRegion(), getReplacementBeginPosition());
-		
-	    addSelectProposals((Element)getNode().getParentNode(), offset);
+		IDOMAttr attrNode = getAttribute(SELECT_ATTRIBUTE);
 
-		return  getAllCompletionProposals();
-    }
+		this.matchString = extractXPathMatchString(attrNode, getRegion(),
+				getReplacementBeginPosition());
 
+		addSelectProposals((Element) getNode().getParentNode(), offset);
 
-	private IDOMAttr getAttribute(String attrName) {
-		return (IDOMAttr)((IDOMElement)getNode()).getAttributeNode(attrName);
+		return getAllCompletionProposals();
 	}
-	
-	
+
+	protected IDOMAttr getAttribute(String attrName) {
+		return (IDOMAttr) ((IDOMElement) getNode()).getAttributeNode(attrName);
+	}
 
 	/**
-	 *  This needs to setup the content assistance correctly. Here is what needs to happen:
-	 *  1. Adjust the matchString (This should have been calculated earlier) 
-	 *  2. Get the current tokens offset position..this will be the starting offset.
-	 *  3. Get the replacement length...this is the difference between the token offset and the next token or end of the string
+	 * This needs to setup the content assistance correctly. Here is what needs
+	 * to happen: 1. Adjust the matchString (This should have been calculated
+	 * earlier) 2. Get the current tokens offset position..this will be the
+	 * starting offset. 3. Get the replacement length...this is the difference
+	 * between the token offset and the next token or end of the string
+	 * 
+	 * @param attrName
+	 *            The name of the attribute to use as the starting node.
 	 */
-	protected void adjustXPathStart() {
-	    IDOMElement elem = (IDOMElement)getNode();
-	    IDOMAttr xpathNode = (IDOMAttr)elem.getAttributeNode(SELECT_ATTRIBUTE);
-	    if (xpathNode == null) {
-	    	return;
-	    }
-	    
+	protected void adjustXPathStart(String attrName) {
+		IDOMElement elem = (IDOMElement) getNode();
+		IDOMAttr xpathNode = (IDOMAttr) elem.getAttributeNode(attrName);
+		if (xpathNode == null) {
+			return;
+		}
+
 		String xpathString = xpathNode.getValue();
 		if (xpathString.length() == 0) {
 			return;
 		}
-		
+
 		int startOffset = xpathNode.getValueRegionStartOffset();
-		int tokenOffset = getReplacementBeginPosition() - xpathNode.getValueRegionStartOffset();
-		int tokenPosition = getXPathSeperatorPos(tokenOffset - 1, xpathString);
-		int newStartOffset = startOffset + tokenPosition;
-		
+
 		replacementLength = getReplacementBeginPosition() - startOffset;
 	}
-		
-	protected String extractXPathMatchString(IDOMAttr node, ITextRegion aRegion, int offset) {
-		if (node == null || node.getValue().length() == 0)	return ""; //$NON-NLS-1$
-		
+
+	protected String extractXPathMatchString(IDOMAttr node,
+			ITextRegion aRegion, int offset) {
+		if (node == null || node.getValue().length() == 0)
+			return ""; //$NON-NLS-1$
+
 		if (matchString.length() < 1) {
 			return matchString;
 		}
-		
+
 		int column = offset - node.getValueRegionStartOffset() - 1;
 		String nodeValue = node.getValue();
 
 		int seperatorPos = getXPathSeperatorPos(column, nodeValue);
-		
+
 		if (seperatorPos >= column) {
 			return ""; //$NON-NLS-1$
 		}
-				
+
 		return node.getValue().substring(seperatorPos, column);
 	}
 
-
 	protected int getXPathSeperatorPos(int column, String nodeValue) {
-		char [] keyTokens = { '/', '[', ']', '(', ')', ',', ' '};
-		
+		char[] keyTokens = { '{', '/', '[', ']', '(', ')', ',', ' ', };
+
 		int seperatorPos = 0;
-		
+
 		String potentialMatchString = nodeValue.substring(0, column);
-		
+
 		for (int cnt = 0; cnt < keyTokens.length; cnt++) {
 			int keyPos = potentialMatchString.lastIndexOf(keyTokens[cnt]);
 			if (keyPos >= 0 && keyPos <= column - 1) {
 				seperatorPos = keyPos + 1;
 			}
 		}
-		
+
 		int axisPos = nodeValue.indexOf("::"); //$NON-NLS-1$
-		if (axisPos > seperatorPos && axisPos <= column -1) {
+		if (axisPos > seperatorPos && axisPos <= column - 1) {
 			seperatorPos = axisPos + 1;
 		}
 		return seperatorPos;
 	}
 
-
 	protected void addSelectProposals(Element rootElement, int offset) {
-			addContentModelProposals(offset);
-			addGlobalProposals(rootElement, offset);
-			addLocalProposals(getNode(), offset);
-			addTemplates(TemplateContextTypeIdsXPath.AXIS, offset);
-			addTemplates(TemplateContextTypeIdsXPath.XPATH, offset);
-			addTemplates(TemplateContextTypeIdsXPath.CUSTOM, offset);
-			addTemplates(TemplateContextTypeIdsXPath.OPERATOR, offset);
+		addContentModelProposals(offset);
+		addGlobalProposals(rootElement, offset - getMatchString().length());
+		addLocalProposals(getNode(), offset - getMatchString().length());
+		addTemplates(TemplateContextTypeIdsXPath.AXIS, offset);
+		addTemplates(TemplateContextTypeIdsXPath.XPATH, offset);
+		addTemplates(TemplateContextTypeIdsXPath.CUSTOM, offset);
+		addTemplates(TemplateContextTypeIdsXPath.OPERATOR, offset);
 	}
 
-
 	private void addContentModelProposals(int offset) {
-		AbstractXMLElementContentAssistRequest xpathXMLproposals =
-			new XPathElementContentAssist(node, documentRegion, getRegion(), offset - getMatchString().length(), getReplacementLength(), getMatchString(), textViewer);
-		ArrayList<ICompletionProposal> xmlProposals = xpathXMLproposals.getCompletionProposals();
+		AbstractXMLElementContentAssistRequest xpathXMLproposals = new XPathElementContentAssist(
+				node, documentRegion, getRegion(), offset
+						- getMatchString().length(), getReplacementLength(),
+				getMatchString(), textViewer);
+		ArrayList<ICompletionProposal> xmlProposals = xpathXMLproposals
+				.getCompletionProposals();
 		proposals.addAll(xmlProposals);
 	}
-	
-	
-	
+
 	/**
 	 * Adds XPath related templates to the list of proposals
 	 * 
@@ -212,45 +215,43 @@
 	 * @param startOffset
 	 */
 	protected void addTemplates(String context, int startOffset) {
+		if (fTemplateContexts.contains(context)
+				|| getTemplateCompletionProcessor() == null) {
+			return;
+		}
+		XPathTemplateCompletionProcessor processor = getTemplateCompletionProcessor();
 
-		if (!fTemplateContexts.contains(context)) {
-			fTemplateContexts.add(context);
-			
-			if (getTemplateCompletionProcessor() != null) {
-				getTemplateCompletionProcessor().setContextType(context);
-				ICompletionProposal[] proposals = getTemplateCompletionProcessor()
-						.computeCompletionProposals(textViewer, startOffset);
-				for (int i = 0; i < proposals.length; ++i) {
-					ICompletionProposal proposal = proposals[i];
-					if (matchString.length() > 0) {
-						if (proposal.getDisplayString().startsWith(matchString) ) {
-							addProposal(proposals[i]);
-						}
-					} else {
-						addProposal(proposals[i]);
-					}
+		fTemplateContexts.add(context);
+
+		processor.setContextType(context);
+		ICompletionProposal[] proposals = processor.computeCompletionProposals(
+				textViewer, startOffset);
+		for (int i = 0; i < proposals.length; ++i) {
+			ICompletionProposal proposal = proposals[i];
+			if (matchString.length() > 0) {
+				if (proposal.getDisplayString().startsWith(matchString)) {
+					addProposal(proposals[i]);
 				}
+			} else {
+				addProposal(proposals[i]);
 			}
 		}
 	}
-	
-
 
 	private void addLocalProposals(Node xpathnode, int offset) {
 		addVariablesProposals(XPATH_LOCAL_VARIABLES, xpathnode, offset);
-		addVariablesProposals(XPATH_LOCAL_PARAMS, xpathnode, offset);
+		addVariablesProposals(XPATH_LOCAL_PARAMS, xpathnode, offset );
 	}
 
 	private void addGlobalProposals(Node xpathnode, int offset) {
-		addVariablesProposals(XPATH_GLOBAL_VARIABLES, xpathnode, offset);
+		addVariablesProposals(XPATH_GLOBAL_VARIABLES, xpathnode, offset );
 		addVariablesProposals(XPATH_GLOBAL_PARAMS, xpathnode, offset);
 	}
 
 	/**
-	 * Adds Parameter and Variables as proposals. This
-	 * information is selected based on the XPath statement that is sent to it
-	 * and the input Node passed. It uses a custom composer to XSL Variable
-	 * proposal.
+	 * Adds Parameter and Variables as proposals. This information is selected
+	 * based on the XPath statement that is sent to it and the input Node
+	 * passed. It uses a custom composer to XSL Variable proposal.
 	 * 
 	 * @param xpath
 	 * @param xpathnode
@@ -260,26 +261,33 @@
 	private void addVariablesProposals(String xpath, Node xpathnode, int offset) {
 		synchronized (XPATH_LOCK) {
 			try {
-				NodeList nodes = XSLTXPathHelper.selectNodeList(xpathnode, xpath);
+				NodeList nodes = XSLTXPathHelper.selectNodeList(xpathnode,
+						xpath);
+				if (!hasNodes(nodes)) {
+					return;
+				}
+				
 				int startLength = getCursorPosition() - offset;
 
-				if (hasNodes(nodes)) {
-					for (int nodecnt = 0; nodecnt < nodes.getLength(); nodecnt++) {
-						Node node = nodes.item(nodecnt);
-						
-						String variableName = "$" + node.getAttributes().getNamedItem("name").getNodeValue(); //$NON-NLS-1$ //$NON-NLS-2$
-						CustomCompletionProposal proposal = new CustomCompletionProposal(
-								variableName, offset, 0, startLength + variableName.length(),
-								XSLPluginImageHelper.getInstance().getImage(XSLPluginImages.IMG_VARIABLES),
-								variableName, null, null, 0);
-						
-						if (matchString.length() > 0) {
-							if (proposal.getDisplayString().startsWith(matchString)) {
-								addProposal(proposal);
-							}
-						} else {
+				for (int nodecnt = 0; nodecnt < nodes.getLength(); nodecnt++) {
+					Node node = nodes.item(nodecnt);
+
+					String variableName = "$" + node.getAttributes().getNamedItem("name").getNodeValue(); //$NON-NLS-1$ //$NON-NLS-2$
+					
+					CustomCompletionProposal proposal = new CustomCompletionProposal(
+							variableName, offset, 0, startLength
+									+ variableName.length(),
+							XSLPluginImageHelper.getInstance().getImage(
+									XSLPluginImages.IMG_VARIABLES),
+							variableName, null, null, 0);
+
+					if (matchString.length() > 0) {
+						if (proposal.getDisplayString().startsWith(
+								matchString)) {
 							addProposal(proposal);
 						}
+					} else {
+						addProposal(proposal);
 					}
 				}
 
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TemplateModeAttributeContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TemplateModeAttributeContentAssist.java
index 982d93e..0ac1ff2 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TemplateModeAttributeContentAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TemplateModeAttributeContentAssist.java
@@ -24,6 +24,7 @@
 import org.eclipse.wst.xsl.core.model.XSLAttribute;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest;
 import org.w3c.dom.Node;
 
 /**
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TemplateNameAttributeContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TemplateNameAttributeContentAssist.java
index 6fd954f..a1ceca5 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TemplateNameAttributeContentAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TemplateNameAttributeContentAssist.java
@@ -22,6 +22,7 @@
 import org.eclipse.wst.xsl.core.model.StylesheetModel;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest;
 import org.w3c.dom.Node;
 
 /**
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TestAttributeContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TestAttributeContentAssist.java
index 54a76a6..0c52954 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TestAttributeContentAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/TestAttributeContentAssist.java
@@ -25,7 +25,7 @@
  * This class provides content assistance for the xsl <emphasis>test</emphais> attribute.
  *  
  * @author dcarver
- *
+ * @since 1.1
  */
 public class TestAttributeContentAssist extends SelectAttributeContentAssist {
 
@@ -56,7 +56,7 @@
 	@Override
 	public ArrayList<ICompletionProposal> getCompletionProposals() {
 		
-		adjustXPathStart();
+		adjustXPathStart(ATTR_TEST);
 		
 		int offset = getReplacementBeginPosition();
 		IDOMAttr attrNode = (IDOMAttr)((IDOMElement)getNode()).getAttributeNode(ATTR_TEST);
@@ -68,25 +68,4 @@
 		return getAllCompletionProposals();
     }
 	
-	/**
-	 *  This needs to setup the content assistance correctly. Here is what needs to happen:
-	 *  1. Adjust the matchString (This should have been calculated earlier) 
-	 *  2. Get the current tokens offset position..this will be the starting offset.
-	 *  3. Get the replacement length...this is the difference between the token offset and the next token or end of the string
-	 */
-	@Override
-	protected void adjustXPathStart() {
-	    IDOMElement elem = (IDOMElement)getNode();
-	    IDOMAttr xpathNode = (IDOMAttr)elem.getAttributeNode(ATTR_TEST);
-		
-		if (xpathNode != null) {
-			String xpathString = xpathNode.getValue();
-			int startOffset = xpathNode.getValueRegionStartOffset();
-			int tokenOffset = getReplacementBeginPosition() - xpathNode.getValueRegionStartOffset();
-			int tokenPosition = getXPathSeperatorPos(tokenOffset, xpathString);
-			int newStartOffset = startOffset + tokenPosition - 1;
-			
-			replacementLength = getReplacementBeginPosition() - startOffset;
-		}
-	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XPathElementContentAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XPathElementContentAssist.java
index d488a7e..763fd31 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XPathElementContentAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XPathElementContentAssist.java
@@ -26,6 +26,7 @@
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
 import org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper;
 import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest;
 import org.w3c.dom.Node;
 
 /**
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistProcessor.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistProcessor.java
index 6b150ec..d63ec97 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistProcessor.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistProcessor.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 Standards for Technology in Automotive Retail and others.
+ * Copyright (c) 2008, 2010 Standards for Technology in Automotive Retail and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -11,7 +11,7 @@
  *                                        the DOM Document for the current editor
  *     David Carver - STAR - bug 240170 - refactored code to help with narrowing of
  *                                        results and easier maintenance.
- *     
+ *     David Carver (Intalio) - bug 289498 - Added additional context types.     
  *******************************************************************************/
 package org.eclipse.wst.xsl.ui.internal.contentassist;
 
@@ -22,17 +22,14 @@
 import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
 import org.eclipse.jface.text.contentassist.IContextInformation;
 import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
-import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
 import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
-import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
-import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
-import org.eclipse.wst.xml.ui.internal.contentassist.AbstractContentAssistProcessor;
-import org.eclipse.wst.xml.ui.internal.contentassist.XMLContentAssistProcessor;
 import org.eclipse.wst.xsl.core.XSLCore;
 import org.eclipse.wst.xsl.ui.internal.Messages;
-import org.w3c.dom.Node;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest;
+import org.w3c.dom.NamedNodeMap;
 
 /**
  * The XSL Content Assist Processor provides content assistance for various
@@ -42,20 +39,14 @@
  * @author David Carver
  * @since 1.0
  */
-public class XSLContentAssistProcessor implements IContentAssistProcessor {
+public class XSLContentAssistProcessor extends AbstractXSLContentAssistProcessor implements IContentAssistProcessor {
+	
+	private static final String attributeXpath = "{"; //$NON-NLS-1$
 
-	private String errorMessage = ""; //$NON-NLS-1$
-	private ITextViewer textViewer = null;
 	private ArrayList<ICompletionProposal> xslProposals;
 	private ArrayList<ICompletionProposal> additionalProposals;
-	private IndexedRegion treeNode;
-	private Node node;
-	private IDOMNode xmlNode;
-	private IStructuredDocumentRegion sdRegion;
-	private ITextRegion completionRegion;
-	private String matchString;
-	private int cursorPosition;
-
+	private ArrayList<ICompletionProposal> attributeProposals;
+	private ArrayList<String> namespaces;
 	/**
 	 * Provides an XSL Content Assist Processor class that is XSL aware and XML
 	 * aware.
@@ -64,6 +55,8 @@
 		super();
 		xslProposals = new ArrayList<ICompletionProposal>();
 		additionalProposals = new ArrayList<ICompletionProposal>();
+		namespaces = new ArrayList<String>();
+		namespaces.add(XSLCore.XSL_NAMESPACE_URI);
 	}
 
 	/**
@@ -82,17 +75,19 @@
 	public ICompletionProposal[] computeCompletionProposals(
 			ITextViewer textViewer, int documentPosition) {
 		initializeProposalVariables(textViewer, documentPosition);
-
-		ICompletionProposal[] xmlProposals = getXMLProposals();
+		
+		
 
 		additionalProposals = getAdditionalXSLElementProposals();
 
 		xslProposals = getXSLNamespaceProposals();
+		
+		attributeProposals = getAttributeProposals();
 
 		ArrayList<ICompletionProposal> proposalList = new ArrayList<ICompletionProposal>();
-		addProposals(xmlProposals, proposalList);
 		proposalList.addAll(additionalProposals);
 		proposalList.addAll(xslProposals);
+		proposalList.addAll(attributeProposals);
 
 		ICompletionProposal[] combinedProposals = combineProposals(proposalList);
 
@@ -103,22 +98,6 @@
 		return combinedProposals;
 	}
 
-	/**
-	 * @param textViewer
-	 * @param documentPosition
-	 */
-	private void initializeProposalVariables(ITextViewer textViewer,
-			int documentPosition) {
-		this.textViewer = textViewer;
-		cursorPosition = documentPosition;
-		treeNode = ContentAssistUtils.getNodeAt(textViewer, cursorPosition);
-		node = getActualDOMNode((Node) treeNode);
-		xmlNode = (IDOMNode) node;
-		sdRegion = getStructuredDocumentRegion();
-		completionRegion = getCompletionRegion(cursorPosition, node);
-		matchString = getMatchString(sdRegion, completionRegion, cursorPosition);
-	}
-
 	private ArrayList<ICompletionProposal> getXSLNamespaceProposals() {
 		if (XSLCore.isXSLNamespace(xmlNode)) {
 			XSLContentAssistRequestFactory requestFactory = new XSLContentAssistRequestFactory(
@@ -140,22 +119,11 @@
 		}
 		return additionalProposals;
 	}
-
-	private ICompletionProposal[] getXMLProposals() {
-		AbstractContentAssistProcessor processor = new XMLContentAssistProcessor();
-
-		ICompletionProposal proposals[] = processor.computeCompletionProposals(
-				textViewer, cursorPosition);
-		return proposals;
-	}
-
-	private void addProposals(ICompletionProposal[] proposals,
-			ArrayList<ICompletionProposal> proposalList) {
-		if (proposals != null) {
-			for (int cnt = 0; cnt < proposals.length; cnt++) {
-				proposalList.add(proposals[cnt]);
-			}
-		}
+	
+	private ArrayList<ICompletionProposal> getAttributeProposals() {
+		attributeProposals = new AttributeContentAssist(xmlNode,
+				sdRegion, completionRegion, cursorPosition, 0, matchString, textViewer).getCompletionProposals();
+		return attributeProposals;
 	}
 
 	private ICompletionProposal[] combineProposals(
@@ -167,228 +135,6 @@
 	}
 
 	/**
-	 * @param node
-	 * @return
-	 */
-	private Node getActualDOMNode(Node node) {
-		while ((node != null) && (node.getNodeType() == Node.TEXT_NODE)
-				&& (node.getParentNode() != null)) {
-			node = node.getParentNode();
-		}
-		return node;
-	}
-
-	/**
-	 * StructuredTextViewer must be set before using this.
-	 * 
-	 * @param pos
-	 * @return
-	 */
-	private IStructuredDocumentRegion getStructuredDocumentRegion() {
-		return ContentAssistUtils.getStructuredDocumentRegion(textViewer,
-				cursorPosition);
-	}
-
-	/**
-	 * Return the region whose content's require completion. This is something
-	 * of a misnomer as sometimes the user wants to be prompted for contents of
-	 * a non-existent ITextRegion, such as for enumerated attribute values
-	 * following an '=' sign.
-	 * 
-	 * Copied from AbstractContentAssist Processor.
-	 */
-	protected ITextRegion getCompletionRegion(int documentPosition, Node domnode) {
-		if (domnode == null) {
-			return null;
-		}
-
-		ITextRegion region = null;
-		int offset = documentPosition;
-		IStructuredDocumentRegion flatNode = null;
-		IDOMNode node = (IDOMNode) domnode;
-
-		if (node.getNodeType() == Node.DOCUMENT_NODE) {
-			if (node.getStructuredDocument().getLength() == 0) {
-				return null;
-			}
-			ITextRegion result = node.getStructuredDocument()
-					.getRegionAtCharacterOffset(offset)
-					.getRegionAtCharacterOffset(offset);
-			while (result == null) {
-				offset--;
-				result = node.getStructuredDocument()
-						.getRegionAtCharacterOffset(offset)
-						.getRegionAtCharacterOffset(offset);
-			}
-			return result;
-		}
-
-		IStructuredDocumentRegion startTag = node
-				.getStartStructuredDocumentRegion();
-		IStructuredDocumentRegion endTag = node
-				.getEndStructuredDocumentRegion();
-
-		if ((startTag != null) && (startTag.getStartOffset() <= offset)
-				&& (offset < startTag.getStartOffset() + startTag.getLength())) {
-			flatNode = startTag;
-		} else if ((endTag != null) && (endTag.getStartOffset() <= offset)
-				&& (offset < endTag.getStartOffset() + endTag.getLength())) {
-			flatNode = endTag;
-		}
-
-		if (flatNode != null) {
-			region = getCompletionRegion(offset, flatNode);
-		} else {
-			flatNode = node.getStructuredDocument().getRegionAtCharacterOffset(
-					offset);
-			if ((flatNode.getStartOffset() <= documentPosition)
-					&& (flatNode.getEndOffset() >= documentPosition)) {
-				if ((offset == flatNode.getStartOffset())
-						&& (flatNode.getPrevious() != null)
-						&& (((flatNode
-								.getRegionAtCharacterOffset(documentPosition) != null) && (flatNode
-								.getRegionAtCharacterOffset(documentPosition)
-								.getType() != DOMRegionContext.XML_CONTENT))
-								|| (flatNode.getPrevious().getLastRegion()
-										.getType() == DOMRegionContext.XML_TAG_OPEN) || (flatNode
-								.getPrevious().getLastRegion().getType() == DOMRegionContext.XML_END_TAG_OPEN))) {
-					region = flatNode.getPrevious().getLastRegion();
-				} else if (flatNode.getEndOffset() == documentPosition) {
-					region = flatNode.getLastRegion();
-				} else {
-					region = flatNode.getFirstRegion();
-				}
-			} else {
-				region = flatNode.getLastRegion();
-			}
-		}
-
-		return region;
-	}
-
-	protected ITextRegion getCompletionRegion(int offset,
-			IStructuredDocumentRegion sdRegion) {
-		ITextRegion region = sdRegion.getRegionAtCharacterOffset(offset);
-		if (region == null) {
-			return null;
-		}
-
-		if (sdRegion.getStartOffset(region) == offset) {
-			// The offset is at the beginning of the region
-			if ((sdRegion.getStartOffset(region) == sdRegion.getStartOffset())
-					&& (sdRegion.getPrevious() != null)
-					&& (!sdRegion.getPrevious().isEnded())) {
-				region = sdRegion.getPrevious().getRegionAtCharacterOffset(
-						offset - 1);
-			} else {
-				// Is there no separating whitespace from the previous region?
-				// If not,
-				// then that region is the important one
-				ITextRegion previousRegion = sdRegion
-						.getRegionAtCharacterOffset(offset - 1);
-				if ((previousRegion != null)
-						&& (previousRegion != region)
-						&& (previousRegion.getTextLength() == previousRegion
-								.getLength())) {
-					region = previousRegion;
-				}
-			}
-		} else {
-			// The offset is NOT at the beginning of the region
-			if (offset > sdRegion.getStartOffset(region)
-					+ region.getTextLength()) {
-				// Is the offset within the whitespace after the text in this
-				// region?
-				// If so, use the next region
-				ITextRegion nextRegion = sdRegion
-						.getRegionAtCharacterOffset(sdRegion
-								.getStartOffset(region)
-								+ region.getLength());
-				if (nextRegion != null) {
-					region = nextRegion;
-				}
-			} else {
-				// Is the offset within the important text for this region?
-				// If so, then we've already got the right one.
-			}
-		}
-
-		// valid WHITE_SPACE region handler (#179924)
-		if ((region != null)
-				&& (region.getType() == DOMRegionContext.WHITE_SPACE)) {
-			ITextRegion previousRegion = sdRegion
-					.getRegionAtCharacterOffset(sdRegion.getStartOffset(region) - 1);
-			if (previousRegion != null) {
-				region = previousRegion;
-			}
-		}
-
-		return region;
-	}
-
-	private String getMatchString(IStructuredDocumentRegion parent,
-			ITextRegion aRegion, int offset) {
-		String matchString = ""; //$NON-NLS-1$
-		
-		if (isNotMatchStringRegion(parent, aRegion, offset)) {
-			return matchString; 
-		}
-
-		if (hasMatchString(parent, aRegion, offset)) {
-			matchString = extractMatchString(parent, aRegion, offset);
-		}
-		return matchString;
-	}
-
-	private boolean isNotMatchStringRegion(IStructuredDocumentRegion parent, ITextRegion aRegion, int offset) {
-		if (aRegion == null || parent == null)
-			return true;
-		
-		String regionType = aRegion.getType();
-		int totalRegionOffset = parent.getStartOffset(aRegion)
-				+ aRegion.getTextLength();
-		return (isCloseRegion(aRegion)
-				|| hasNoMatchString(offset, regionType, totalRegionOffset));
-	}
-
-	private boolean isCloseRegion(ITextRegion region) {
-		String type = region.getType();
-		return ((type == DOMRegionContext.XML_PI_CLOSE)
-				|| (type == DOMRegionContext.XML_TAG_CLOSE)
-				|| (type == DOMRegionContext.XML_EMPTY_TAG_CLOSE)
-				|| (type == DOMRegionContext.XML_CDATA_CLOSE)
-				|| (type == DOMRegionContext.XML_COMMENT_CLOSE)
-				|| (type == DOMRegionContext.XML_ATTLIST_DECL_CLOSE)
-				|| (type == DOMRegionContext.XML_ELEMENT_DECL_CLOSE)
-				|| (type == DOMRegionContext.XML_DOCTYPE_DECLARATION_CLOSE) || (type == DOMRegionContext.XML_DECLARATION_CLOSE));
-	}
-
-	private boolean hasMatchString(IStructuredDocumentRegion parent,
-			ITextRegion aRegion, int offset) {
-		return (parent.getText(aRegion).length() > 0)
-				&& (parent.getStartOffset(aRegion) < offset);
-	}
-
-	private boolean hasNoMatchString(int offset, String regionType,
-			int totalRegionOffset) {
-		return regionType.equals(DOMRegionContext.XML_CONTENT)
-				|| regionType.equals(DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS)
-				|| regionType.equals(DOMRegionContext.XML_TAG_OPEN)
-				|| offset > totalRegionOffset;
-	}
-
-	private String extractMatchString(IStructuredDocumentRegion parent,
-			ITextRegion aRegion, int offset) {
-		String matchString;
-		matchString = parent.getText(aRegion).substring(0,
-				offset - parent.getStartOffset(aRegion));
-		if (matchString.startsWith("\"")) { //$NON-NLS-1$
-			matchString = matchString.substring(1);
-		}
-		return matchString;
-	}
-
-	/**
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#computeContextInformation(org.eclipse.jface.text.ITextViewer,
@@ -400,21 +146,6 @@
 	}
 
 	/**
-	 * Returns the characters which when entered by the user should
-	 * automatically trigger the presentation of possible completions.
-	 * 
-	 * the auto activation characters for completion proposal or
-	 * <code>null</code> if no auto activation is desired
-	 * 
-	 * @return an array of activation characters
-	 */
-	public char[] getCompletionProposalAutoActivationCharacters() {
-		char[] completionProposals = { '"', '\'', ':', '[', '{', '<' };
-
-		return completionProposals;
-	}
-
-	/**
 	 * (non-Javadoc)
 	 * 
 	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationAutoActivationCharacters()
@@ -432,22 +163,30 @@
 		return null;
 	}
 
-	/**
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getErrorMessage()
-	 */
-	public String getErrorMessage() {
-		return errorMessage;
+	public String getMaximumVersion() {
+		return "2.0"; //$NON-NLS-1$
 	}
 
-	/**
-	 * Sets the error message for why content assistance didn't complete.
-	 * 
-	 * @param errorMessage
-	 */
-	public void setErrorMessage(String errorMessage) {
-		this.errorMessage = errorMessage;
+	public String getMinimumVersion() {
+		return "1.0"; //$NON-NLS-1$
 	}
 
-}
+	public ArrayList<String> getNamespaces() {
+		return null;
+	}
+
+	protected boolean assistanceOnAttribute(IDOMNode node, ITextRegion aRegion) {
+		NamedNodeMap nodeMap = node.getAttributes();
+		for (int i = 0; i < nodeMap.getLength(); i++) {
+			IDOMAttr attrNode = (IDOMAttr) nodeMap.item(i);
+			if (attrNode.getValueRegion() != null &&
+				attrNode.getValueRegion().getStart() == aRegion.getStart()) {
+				if (attrNode.getValue().contains(attributeXpath)) {
+					return true;
+				}
+			}
+		}
+		return false;
+	}
+}	
+
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistRequestFactory.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistRequestFactory.java
index ae677fa..42061ba 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistRequestFactory.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLContentAssistRequestFactory.java
@@ -17,6 +17,8 @@
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
 import org.eclipse.wst.xsl.ui.internal.contentassist.href.HrefContentAssistRequest;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.NullContentAssistRequest;
 import org.w3c.dom.NamedNodeMap;
 
 /**
@@ -145,11 +147,11 @@
 					textViewer);
 		}
 
-		if (hasAttributeAtTextRegion(ATTR_MATCH, nodeMap, completionRegion)) {
-			return new SelectAttributeContentAssist(xmlNode, sdRegion,
-					completionRegion, documentPosition, 0, matchString,
-					textViewer);
-		}
+//		if (hasAttributeAtTextRegion(ATTR_MATCH, nodeMap, completionRegion)) {
+//			return new SelectAttributeContentAssist(xmlNode, sdRegion,
+//					completionRegion, documentPosition, 0, matchString,
+//					textViewer);
+//		}
 
 		if (hasAttributeAtTextRegion(ATTR_TEST, nodeMap, completionRegion)) {
 			return new TestAttributeContentAssist(xmlNode, sdRegion,
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLElementContentAssistRequest.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLElementContentAssistRequest.java
index 8157e2a..f046eba 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLElementContentAssistRequest.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLElementContentAssistRequest.java
@@ -12,7 +12,6 @@
 package org.eclipse.wst.xsl.ui.internal.contentassist;
 
 import java.util.ArrayList;
-import java.util.Collections;
 
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.contentassist.ICompletionProposal;
@@ -21,6 +20,7 @@
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
 import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
 import org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel.XSLContentModelGenerator;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest;
 import org.w3c.dom.Node;
  
 
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLTemplateCompletionProcessor.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLTemplateCompletionProcessor.java
new file mode 100755
index 0000000..da86f32
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLTemplateCompletionProcessor.java
@@ -0,0 +1,182 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - Based on XMLTemplateCompletionatProposal
+ *     David Carver (Intalio) - bug 289498 - Added additional context types.     
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentassist;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.IRegion;
+import org.eclipse.jface.text.ITextSelection;
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.Region;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.templates.ContextTypeRegistry;
+import org.eclipse.jface.text.templates.Template;
+import org.eclipse.jface.text.templates.TemplateCompletionProcessor;
+import org.eclipse.jface.text.templates.TemplateContext;
+import org.eclipse.jface.text.templates.TemplateContextType;
+import org.eclipse.jface.text.templates.TemplateException;
+import org.eclipse.jface.text.templates.TemplateProposal;
+import org.eclipse.jface.text.templates.persistence.TemplateStore;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.wst.xml.ui.internal.contentassist.ReplaceNameTemplateContext;
+import org.eclipse.wst.xml.xpath.ui.internal.contentassist.CustomTemplateProposal;
+import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
+import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
+import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+
+
+/**
+ * Completion processor for XML Templates. Most of the work is already done by
+ * the XML Content Assist processor, so by the time the
+ * XMLTemplateCompletionProcessor is asked for content assist proposals, the
+ * XML content assist processor has already set the context type for
+ * templates.
+ */
+class XSLTemplateCompletionProcessor extends TemplateCompletionProcessor {
+	private static final class ProposalComparator implements Comparator, Serializable {
+		
+		private static final long serialVersionUID = 4678061726393872083L;
+
+		public int compare(Object o1, Object o2) {
+			return ((TemplateProposal) o2).getRelevance() - ((TemplateProposal) o1).getRelevance();
+		}
+	}
+
+	private static final Comparator fgProposalComparator = new ProposalComparator();
+	private String fContextTypeId = null;
+
+	/*
+	 * Copied from super class except instead of calling createContext(viewer,
+	 * region) call createContext(viewer, region, offset) instead
+	 */
+	@Override
+	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int offset) {
+
+		ITextSelection selection = (ITextSelection) viewer.getSelectionProvider().getSelection();
+
+		// adjust offset to end of normalized selection
+		if (selection.getOffset() == offset) {
+			offset = selection.getOffset() + selection.getLength();
+		}
+
+		String prefix = extractPrefix(viewer, offset);
+		Region region = new Region(offset - prefix.length(), prefix.length());
+		TemplateContext context = createContext(viewer, region, offset);
+		if (context == null) {
+			return new ICompletionProposal[0];
+		}
+
+		// name of the selection variables {line, word}_selection
+		context.setVariable("selection", selection.getText()); //$NON-NLS-1$
+
+		Template[] templates = getTemplates(context.getContextType().getId());
+
+		List matches = new ArrayList();
+		for (int i = 0; i < templates.length; i++) {
+			Template template = templates[i];
+			try {
+				context.getContextType().validate(template.getPattern());
+			}
+			catch (TemplateException e) {
+				continue;
+			}
+			if (template.matches(prefix, context.getContextType().getId())) {
+				matches.add(createProposal(template, context, (IRegion) region, getRelevance(template, prefix)));
+			}
+		}
+
+		Collections.sort(matches, fgProposalComparator);
+
+		return (ICompletionProposal[]) matches.toArray(new ICompletionProposal[matches.size()]);
+	}
+
+	/**
+	 * Creates a concrete template context for the given region in the
+	 * document. This involves finding out which context type is valid at the
+	 * given location, and then creating a context of this type. The default
+	 * implementation returns a <code>SmartReplaceTemplateContext</code> for
+	 * the context type at the given location. This takes the offset at which
+	 * content assist was invoked into consideration.
+	 * 
+	 * @param viewer
+	 *            the viewer for which the context is created
+	 * @param region
+	 *            the region into <code>document</code> for which the
+	 *            context is created
+	 * @param offset
+	 *            the original offset where content assist was invoked
+	 * @return a template context that can handle template insertion at the
+	 *         given location, or <code>null</code>
+	 */
+	private TemplateContext createContext(ITextViewer viewer, IRegion region, int offset) {
+		// pretty much same code as super.createContext except create
+		// SmartReplaceTemplateContext
+		TemplateContextType contextType = getContextType(viewer, region);
+		if (contextType != null) {
+			IDocument document = viewer.getDocument();
+			return new ReplaceNameTemplateContext(contextType, document, region.getOffset(), region.getLength(), offset);
+		}
+		return null;
+	}
+
+	@Override
+	protected ICompletionProposal createProposal(Template template, TemplateContext context, IRegion region, int relevance) {
+		return new CustomTemplateProposal(template, context, region, getImage(template), relevance);
+	}
+
+	@Override
+	protected TemplateContextType getContextType(ITextViewer viewer, IRegion region) {
+		TemplateContextType type = null;
+
+		ContextTypeRegistry registry = getTemplateContextRegistry();
+		if (registry != null) {
+			type = registry.getContextType(fContextTypeId);
+		}
+
+		return type;
+	}
+
+	@Override
+	protected Image getImage(Template template) {
+		// just return the same image for now
+		return XSLPluginImageHelper.getInstance().getImage(XSLPluginImages.IMG_XPATH_FUNCTION);
+	}
+
+	private ContextTypeRegistry getTemplateContextRegistry() {
+		return XSLUIPlugin.getDefault().getTemplateContextRegistry();
+	}
+
+	@Override
+	protected Template[] getTemplates(String contextTypeId) {
+		Template templates[] = null;
+
+		TemplateStore store = getTemplateStore();
+		if (store != null) {
+			templates = store.getTemplates(contextTypeId);
+		}
+
+		return templates;
+	}
+
+	private TemplateStore getTemplateStore() {
+		return XSLUIPlugin.getDefault().getTemplateStore();
+	}
+
+	void setContextType(String contextTypeId) {
+		fContextTypeId = contextTypeId;
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLTemplateContentAssistProcessor.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLTemplateContentAssistProcessor.java
new file mode 100644
index 0000000..7f010a1
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/XSLTemplateContentAssistProcessor.java
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Intalio and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (Intalio) - bug 289498 - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentassist;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.contentassist.ICompletionProposal;
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.jface.text.contentassist.IContextInformationValidator;
+import org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor;
+
+public class XSLTemplateContentAssistProcessor extends
+		AbstractXSLContentAssistProcessor implements IContentAssistProcessor {
+
+	public XSLTemplateContentAssistProcessor() {
+		
+	}
+
+	public ArrayList<String> getNamespaces() {
+		return null;
+	}
+
+	public String getMinimumVersion() {
+		return null;
+	}
+
+	public String getMaximumVersion() {
+		return null;
+	}
+
+	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer,
+			int offset) {
+		List<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>();
+		XSLTemplateCompletionProcessor templates = new XSLTemplateCompletionProcessor();
+		
+		if (viewer.getDocument().getLength() == 0) {
+			templates.setContextType(TemplateContextTypeXSL.XSL_NEW);
+			ICompletionProposal[] newFileTemplates = templates.computeCompletionProposals(viewer, offset);
+			if (newFileTemplates != null && newFileTemplates.length > 0) {
+				proposals.addAll(Arrays.asList(newFileTemplates));
+			}
+		}
+		
+		templates.setContextType(TemplateContextTypeXSL.XSL_TAG);
+		ICompletionProposal[] xsltagproposals = templates.computeCompletionProposals(viewer, offset);
+		if (xsltagproposals != null && xsltagproposals.length > 0) {
+			proposals.addAll(Arrays.asList(xsltagproposals));
+		}
+
+		templates.setContextType(TemplateContextTypeXSL.XSL_ATTR);
+		ICompletionProposal[] xslattrproposals = templates.computeCompletionProposals(viewer, offset);
+		if (xslattrproposals != null && xslattrproposals.length > 0) {
+			proposals.addAll(Arrays.asList(xslattrproposals));
+		}
+		
+		ICompletionProposal[] allProposals = new ICompletionProposal[proposals.size()];
+		if (proposals.size() > 0) {
+			proposals.toArray(allProposals);
+		} else {
+			return null;
+		}
+		return allProposals;
+	}
+
+	public IContextInformation[] computeContextInformation(ITextViewer viewer,
+			int offset) {
+		return null;
+	}
+
+	public char[] getContextInformationAutoActivationCharacters() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public IContextInformationValidator getContextInformationValidator() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/href/HrefContentAssistRequest.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/href/HrefContentAssistRequest.java
index a540d63..eee481b 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/href/HrefContentAssistRequest.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/href/HrefContentAssistRequest.java
@@ -28,9 +28,9 @@
 import org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal;
 import org.eclipse.wst.xsl.core.XSLCore;
 import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
-import org.eclipse.wst.xsl.ui.internal.contentassist.AbstractXSLContentAssistRequest;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
 import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest;
 import org.w3c.dom.Node;
 
 /**
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/AttributeShowingLabelProvider.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/AttributeShowingLabelProvider.java
new file mode 100644
index 0000000..1183731
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/AttributeShowingLabelProvider.java
@@ -0,0 +1,216 @@
+package org.eclipse.wst.xsl.ui.internal.contentoutline;
+
+import java.util.List;
+
+import org.eclipse.wst.sse.core.utils.StringUtils;
+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;
+import org.eclipse.wst.xml.core.internal.contentmodel.CMNamedNodeMap;
+import org.eclipse.wst.xml.core.internal.contentmodel.CMNode;
+import org.eclipse.wst.xml.core.internal.contentmodel.basic.CMNamedNodeMapImpl;
+import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
+import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
+import org.eclipse.wst.xsl.core.XSLCore;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+
+public class AttributeShowingLabelProvider extends JFaceNodeLabelProvider {
+	boolean fShowAttributes = false;
+	static final String ATTR_NAME = "name"; //$NON-NLS-1$
+	static final String ATTR_ID = "id"; //$NON-NLS-1$
+	
+	public AttributeShowingLabelProvider(boolean showAttributes) {
+		fShowAttributes = showAttributes;
+	}
+	
+	@Override
+	public boolean isLabelProperty(Object element, String property) {
+		return true;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
+	 */
+	@Override
+	public String getText(Object o) {
+		StringBuffer text = null;
+		if (o instanceof Node) {
+			Node node = (Node) o;
+			if ((node.getNodeType() == Node.ELEMENT_NODE) && fShowAttributes) {
+				text = new StringBuffer(super.getText(o));
+				// https://bugs.eclipse.org/bugs/show_bug.cgi?id=88444
+				if (node.hasAttributes()) {
+					Element element = (Element) node;
+					NamedNodeMap attributes = element.getAttributes();
+					Node idTypedAttribute = null;
+					Node requiredAttribute = null;
+					boolean hasId = false;
+					boolean hasName = false;
+					Node shownAttribute = null;
+
+					// try to get content model element
+					// declaration
+					CMElementDeclaration elementDecl = null;
+					ModelQuery mq = ModelQueryUtil.getModelQuery(element.getOwnerDocument());
+					if (mq != null) {
+						elementDecl = mq.getCMElementDeclaration(element);
+					}
+					// find an attribute of type (or just named)
+					// ID
+					if (elementDecl != null) {
+						int i = 0;
+						while ((i < attributes.getLength()) && (idTypedAttribute == null)) {
+							Node attr = attributes.item(i);
+							String attrName = attr.getNodeName();
+							CMNamedNodeMap attributeDeclarationMap = elementDecl.getAttributes();
+							
+							CMNamedNodeMapImpl allAttributes = new CMNamedNodeMapImpl(attributeDeclarationMap);
+							List nodes = ModelQueryUtil.getModelQuery(node.getOwnerDocument()).getAvailableContent(element, elementDecl, ModelQuery.INCLUDE_ATTRIBUTES);
+							for (int k = 0; k < nodes.size(); k++) {
+								CMNode cmnode = (CMNode) nodes.get(k);
+								if (cmnode.getNodeType() == CMNode.ATTRIBUTE_DECLARATION) {
+									allAttributes.put(cmnode);
+								}
+							}
+							attributeDeclarationMap = allAttributes;
+
+							CMAttributeDeclaration attrDecl = (CMAttributeDeclaration) attributeDeclarationMap.getNamedItem(attrName);
+							if (attrDecl != null) {
+								if ((attrDecl.getAttrType() != null) && (CMDataType.ID.equals(attrDecl.getAttrType().getDataTypeName()))) {
+									idTypedAttribute = attr;
+								}
+								else if ((attrDecl.getUsage() == CMAttributeDeclaration.REQUIRED) && (requiredAttribute == null)) {
+									// as a backup, keep tabs on
+									// any required
+									// attributes
+									requiredAttribute = attr;
+								}
+								else {
+									hasId = hasId || attrName.equals(ATTR_ID);
+									hasName = hasName || attrName.equals(ATTR_NAME);
+								}
+							}
+							++i;
+						}
+					}
+
+					/*
+					 * If no suitable attribute was found, try using a
+					 * required attribute, if none, then prefer "id" or
+					 * "name", otherwise just use first attribute
+					 */
+					if (idTypedAttribute != null) {
+						shownAttribute = idTypedAttribute;
+					}
+					else if (requiredAttribute != null) {
+						shownAttribute = requiredAttribute;
+					}
+					else if (hasId) {
+						shownAttribute = attributes.getNamedItem(ATTR_ID);
+					}
+					else if (hasName) {
+						shownAttribute = attributes.getNamedItem(ATTR_NAME);
+					}
+					if (shownAttribute == null) {
+						shownAttribute = attributes.item(0);
+					}
+
+					// display the attribute and value (without quotes)
+					String attributeName = shownAttribute.getNodeName();
+					if ((attributeName != null) && (attributeName.length() > 0)) {
+						text.append(" "); //$NON-NLS-1$
+						text.append(attributeName);
+						String attributeValue = shownAttribute.getNodeValue();
+						if ((attributeValue != null) && (attributeValue.length() > 0)) {
+							text.append("="); //$NON-NLS-1$
+							text.append(StringUtils.strip(attributeValue));
+						}
+					}
+					
+//					if (XSLCore.XSL_NAMESPACE_URI.equals(node.getNamespaceURI())) {
+//						Element el = (Element) node;
+//						Attr attr = el.getAttributeNode("mode"); //$NON-NLS-1$
+//						if (attr != null) {
+//							text.append(" "); //$NON-NLS-1$
+//							text.append(attr.getName());
+//							text.append("="); //$NON-NLS-1$
+//							text.append(StringUtils.strip(attr.getNodeValue()));
+//						}
+//					}
+				}
+			}
+			else {
+				text = new StringBuffer(super.getText(o));
+			}
+		}
+		else {
+			return super.toString();
+		}
+		return text.toString();
+	}
+
+	/* (non-Javadoc)
+	 * @see org.eclipse.jface.viewers.CellLabelProvider#getToolTipText(java.lang.Object)
+	 */
+	@Override
+	public String getToolTipText(Object element) {
+		if (element instanceof Node) {
+			switch (((Node) element).getNodeType()) {
+				case Node.COMMENT_NODE :
+				case Node.CDATA_SECTION_NODE :
+				case Node.PROCESSING_INSTRUCTION_NODE :
+				case Node.TEXT_NODE : {
+					String nodeValue = ((Node) element).getNodeValue().trim();
+					return prepareText(nodeValue);
+				}
+				case Node.ELEMENT_NODE : {
+					// show the preceding comment's tooltip information
+					Node previous = ((Node) element).getPreviousSibling();
+					Element elem = (Element) element;
+					if (XSLCore.isXSLNamespace((Node)element)) {
+						if (elem.hasAttribute("mode")) { //$NON-NLS-1$
+							return "Mode: " + elem.getAttribute("mode"); //$NON-NLS-1$ //$NON-NLS-2$
+						}
+					}
+					if (previous != null && previous.getNodeType() == Node.TEXT_NODE)
+						previous = previous.getPreviousSibling();
+					if (previous != null && previous.getNodeType() == Node.COMMENT_NODE)
+						return getToolTipText(previous);
+				}
+			}
+		}
+		return super.getToolTipText(element);
+	}
+
+	/**
+	 * Remove leading indentation from each line in the give string.
+	 * @param text
+	 * @return
+	 */
+	private String prepareText(String text) {
+		StringBuffer nodeText = new StringBuffer();
+		for (int i = 0; i < text.length(); i++) {
+			char c = text.charAt(i);
+			if (c != '\r' && c != '\n') {
+				nodeText.append(c);
+			}
+			else if (c == '\r' || c == '\n') {
+				nodeText.append('\n');
+				while (Character.isWhitespace(c) && i < text.length()) {
+					i++;
+					c = text.charAt(i);
+				}
+				nodeText.append(c);
+			}
+		}
+		return nodeText.toString();
+	}
+	
+	public void setShowAttributes(boolean fShowAttributes) {
+		this.fShowAttributes = fShowAttributes;
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeAdapter.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeAdapter.java
new file mode 100755
index 0000000..cd89aaa
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeAdapter.java
@@ -0,0 +1,281 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - based work on org.eclipse.wst.xml.ui.internal. JFaceNodeAdapter 
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentoutline;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter;
+import org.eclipse.wst.xml.ui.internal.editor.CMImageUtil;
+import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
+import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
+import org.eclipse.wst.xsl.core.XSLCore;
+import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper;
+import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * Adapts a DOM node to a JFace viewer.
+ */
+public class JFaceNodeAdapter implements IJFaceNodeAdapter {
+
+	final static Class ADAPTER_KEY = IJFaceNodeAdapter.class;
+
+	JFaceNodeAdapterFactory fAdapterFactory;
+	RefreshStructureJob fRefreshJob = null;
+
+	public JFaceNodeAdapter(JFaceNodeAdapterFactory adapterFactory) {
+		super();
+		this.fAdapterFactory = adapterFactory;
+	}
+
+	protected ImageDescriptor getXSLImage(Element node) {
+		String name = node.getLocalName();
+		if (name.equals("import") || name.equals("include")) {  //$NON-NLS-1$//$NON-NLS-2$
+			return XSLPluginImageHelper.getInstance().getImageDescriptor(XSLPluginImages.IMG_ELM_IMPORT_INCLUDE);
+		}
+		if (name.equals("template")) { //$NON-NLS-1$
+			if (node.hasAttribute("name")) { //$NON-NLS-1$
+				return XSLPluginImageHelper.getInstance().getImageDescriptor(XSLPluginImages.IMG_ELM_TEMPLATE_NAME);
+			} else {
+				return XSLPluginImageHelper.getInstance().getImageDescriptor(XSLPluginImages.IMG_ELM_TEMPLATE);
+			}
+		}
+		
+		if (name.equals("variable") || name.equals("param")) { //$NON-NLS-1$ //$NON-NLS-2$
+			return XSLPluginImageHelper.getInstance().getImageDescriptor(XSLPluginImages.IMG_ELM_VARIABLE);
+		}
+		
+		if (name.equals("function")) { //$NON-NLS-1$
+			return XSLPluginImageHelper.getInstance().getImageDescriptor(XSLPluginImages.IMG_ELM_FUNCTION);
+		}
+		
+		return XSLPluginImageHelper.getInstance().getImageDescriptor(XSLPluginImages.IMG_ELM_STYLESHET);
+	}
+	
+	protected Image createImage(Object object) {
+		Image image = null;
+		Node node = (Node) object;
+		switch (node.getNodeType()) {
+			case Node.ELEMENT_NODE : {
+				if (XSLCore.XSL_NAMESPACE_URI.equals(node.getNamespaceURI())) {
+					Element elem = (Element) node;
+					ImageDescriptor imgDesc = getXSLImage(elem); 
+					if (imgDesc == null) {
+						image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ELEMENT);
+					} else {
+						image = imgDesc.createImage();
+					}
+				} else {
+					image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ELEMENT);
+				}
+				break;
+			}
+			case Node.ATTRIBUTE_NODE : {
+				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ATTRIBUTE);
+				break;
+			}
+			case Node.TEXT_NODE : { // actually, TEXT should never be seen in
+				// the tree
+				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_TXTEXT);
+				break;
+			}
+			case Node.CDATA_SECTION_NODE : {
+				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_CDATASECTION);
+				break;
+			}
+			case Node.ENTITY_REFERENCE_NODE :
+			case Node.ENTITY_NODE : {
+				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_ENTITY);
+				break;
+			}
+			case Node.PROCESSING_INSTRUCTION_NODE : {
+				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_PROCESSINGINSTRUCTION);
+				break;
+			}
+			// Should never see COMMENT NODEs.
+			case Node.COMMENT_NODE : {
+				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_COMMENT);
+				break;
+			}
+			case Node.DOCUMENT_TYPE_NODE : {
+				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_DOCTYPE);
+				break;
+			}
+			case Node.NOTATION_NODE : {
+				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_NOTATION);
+				break;
+			}
+			default : {
+				image = createXMLImageDescriptor(XMLEditorPluginImages.IMG_OBJ_TXTEXT);
+				break;
+			}
+		}
+		return image;
+	}
+
+	protected Image createXMLImageDescriptor(String imageResourceName) {
+		return XMLEditorPluginImageHelper.getInstance().getImage(imageResourceName);
+	}
+
+	public Object[] getChildren(Object object) {
+
+		ArrayList v = new ArrayList();
+		if (object instanceof Node) {
+			Node node = (Node) object;
+			for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) {
+				Node n = child;
+				if (n.getNodeType() != Node.TEXT_NODE && n.getNodeType() != Node.COMMENT_NODE) {
+					v.add(n);
+				}
+			}
+		}
+		return v.toArray();
+	}
+
+	/**
+	 * Returns an enumeration with the elements belonging to the passed
+	 * element. These are the top level items in a list, tree, table, etc...
+	 * @param node 
+	 * @return 
+	 */
+	public Object[] getElements(Object node) {
+		return getChildren(node);
+	}
+
+	/**
+	 * Fetches the label image specific to this object instance.
+	 * @param node DOM Node
+	 * @return Image for the label.
+	 */
+	public Image getLabelImage(Object node) {
+		Image image = null;
+		if (node instanceof Node) {
+			// check for an image from the content model
+			image = CMImageUtil.getImage(CMImageUtil.getDeclaration((Node) node));
+			if (image == null) {
+				/*
+				 * Create/get image based on Node type. Images are cached
+				 * transparently in this class, subclasses must do this for
+				 * themselves if they're going to return their own results.
+				 */
+				image = createImage(node);
+			}
+		}
+		return image;
+	}
+
+	/**
+	 * Fetches the label text specific to this object instance.
+	 * @return Node Name for the Label
+	 */
+	public String getLabelText(Object node) {
+		return getNodeName(node);
+	}
+
+	private String getNodeName(Object object) {
+		StringBuffer nodeName = new StringBuffer();
+		if (!(object instanceof Node)) {
+			return nodeName.toString();
+		}
+		
+		Node node = (Node) object;
+		if (node.getNodeType() != Node.ELEMENT_NODE) {
+			nodeName.append(node.getNodeName());
+			if (node.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
+				nodeName.insert(0, "DOCTYPE:"); //$NON-NLS-1$
+			}
+			return nodeName.toString();
+		}
+		
+		if (XSLCore.XSL_NAMESPACE_URI.equals(node.getNamespaceURI())) {
+			Element elem = (Element) node;
+			nodeName.append(elem.getLocalName());
+		} else {
+			nodeName.append(node.getNodeName());
+		}
+		return nodeName.toString();
+	}
+
+
+	public Object getParent(Object object) {
+		if (object instanceof Node) {
+			Node node = (Node) object;
+			return node.getParentNode();
+		}
+		return null;
+	}
+
+	private synchronized RefreshStructureJob getRefreshJob() {
+		if (fRefreshJob == null) {
+			fRefreshJob = new RefreshStructureJob();
+		}
+		return fRefreshJob;
+	}
+
+
+	public boolean hasChildren(Object object) {
+		Node node = (Node) object;
+		for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling()) {
+			if (child.getNodeType() != Node.TEXT_NODE) {
+				return true;
+			}
+		}
+		return false;
+	}
+
+	/**
+	 * Allowing the INodeAdapter to compare itself against the type allows it
+	 * to return true in more than one case.
+	 */
+	public boolean isAdapterForType(Object type) {
+		if (type == null) {
+			return false;
+		}
+		return type.equals(ADAPTER_KEY);
+	}
+
+	/**
+	 * Called by the object being adapter (the notifier) when something has
+	 * changed.
+	 */
+	public void notifyChanged(INodeNotifier notifier, int eventType, Object changedFeature, Object oldValue, Object newValue, int pos) {
+		// future_TODO: the 'uijobs' used in this method were added to solve
+		// threading problems when the dom
+		// is updated in the background while the editor is open. They may be
+		// a bit overkill and not that useful.
+		// (That is, may be be worthy of job manager management). If they are
+		// found to be important enough to leave in,
+		// there's probably some optimization that can be done.
+		if (notifier instanceof Node) {
+			Collection listeners = fAdapterFactory.getListeners();
+			Iterator iterator = listeners.iterator();
+
+			while (iterator.hasNext()) {
+				Object listener = iterator.next();
+				if ((listener instanceof StructuredViewer) && ((eventType == INodeNotifier.STRUCTURE_CHANGED) || (eventType == INodeNotifier.CONTENT_CHANGED) || (eventType == INodeNotifier.CHANGE))) {
+
+					StructuredViewer structuredViewer = (StructuredViewer) listener;
+					if (structuredViewer.getControl() != null) {
+						getRefreshJob().refresh(structuredViewer, (Node) notifier);
+					}
+				}
+			}
+		}
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeAdapterFactory.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeAdapterFactory.java
new file mode 100755
index 0000000..35e1921
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeAdapterFactory.java
@@ -0,0 +1,187 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     David Carver (STAR) - based on work for org.eclipse.wst.xml.ui
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentoutline;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.progress.UIJob;
+import org.eclipse.wst.sse.core.internal.provisional.AbstractAdapterFactory;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.sse.core.internal.util.Assert;
+import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter;
+import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapterFactory;
+import org.eclipse.wst.xml.core.internal.contentmodel.CMDocument;
+import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.CMDocumentManager;
+import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.CMDocumentManagerListener;
+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;
+import org.eclipse.wst.xml.ui.internal.XMLUIMessages;
+
+
+/**
+ * An adapter factory to create JFaceNodeAdapters. Use this adapter factory
+ * with a JFaceAdapterContentProvider to display DOM nodes in a tree.
+ */
+public class JFaceNodeAdapterFactory extends AbstractAdapterFactory implements IJFaceNodeAdapterFactory {
+	public class CMDocumentManagerListenerImpl implements CMDocumentManagerListener {
+		private static final int UPDATE_DELAY = 200;
+
+		public void cacheCleared(CMDocumentCache cache) {
+			// nothing to do
+		}
+
+		public void cacheUpdated(CMDocumentCache cache, final String uri, int oldStatus, int newStatus, CMDocument cmDocument) {
+			if ((newStatus == CMDocumentCache.STATUS_LOADED) || (newStatus == CMDocumentCache.STATUS_ERROR)) {
+				refreshViewers();
+			}
+		}
+
+		public void propertyChanged(CMDocumentManager cmDocumentManager, String propertyName) {
+			if (cmDocumentManager.getPropertyEnabled(CMDocumentManager.PROPERTY_AUTO_LOAD)) {
+				refreshViewers();
+			}
+		}
+
+		private void refreshViewers() {
+			Object[] listeners = getListeners().toArray();
+			for (int i = 0; i < listeners.length; i++) {
+				if (listeners[i] instanceof StructuredViewer) {
+					final StructuredViewer viewer = (StructuredViewer) listeners[i];
+					Job refresh = new UIJob(XMLUIMessages.refreshoutline_0) {
+						@Override
+						public IStatus runInUIThread(IProgressMonitor monitor) {
+							Control refreshControl = viewer.getControl();
+							if ((refreshControl != null) && !refreshControl.isDisposed()) {
+								viewer.refresh(true);
+							}
+							return Status.OK_STATUS;
+						}
+					};
+					refresh.setSystem(true);
+					refresh.setPriority(Job.SHORT);
+					refresh.schedule(UPDATE_DELAY);
+				}
+				else if (listeners[i] instanceof Viewer) {
+					final Viewer viewer = (Viewer) listeners[i];
+					Job refresh = new UIJob(XMLUIMessages.refreshoutline_0) {
+						@Override
+						public IStatus runInUIThread(IProgressMonitor monitor) {
+							Control refreshControl = viewer.getControl();
+							if ((refreshControl != null) && !refreshControl.isDisposed()) {
+								viewer.refresh();
+							}
+							return Status.OK_STATUS;
+						}
+					};
+					refresh.setSystem(true);
+					refresh.setPriority(Job.SHORT);
+					refresh.schedule(UPDATE_DELAY);
+				}
+			}
+		}
+	}
+
+	private CMDocumentManager cmDocumentManager;
+	private CMDocumentManagerListenerImpl fCMDocumentManagerListener = null;
+	/**
+	 * This keeps track of all the listeners.
+	 */
+	private Set fListeners = new HashSet();
+
+	protected INodeAdapter singletonAdapter;
+
+	public JFaceNodeAdapterFactory() {
+		this(IJFaceNodeAdapter.class, true);
+	}
+
+	public JFaceNodeAdapterFactory(Object adapterKey, boolean registerAdapters) {
+		super(adapterKey, registerAdapters);
+	}
+
+	public synchronized void addListener(Object listener) {
+		fListeners.add(listener);
+	}
+
+	@Override
+	public synchronized INodeAdapterFactory copy() {
+		return new JFaceNodeAdapterFactory(getAdapterKey(), isShouldRegisterAdapter());
+	}
+
+	/**
+	 * Create a new JFace adapter for the DOM node passed in
+	 */
+	@Override
+	protected synchronized INodeAdapter createAdapter(INodeNotifier node) {
+		if (singletonAdapter == null) {
+			// create the JFaceNodeAdapter
+			singletonAdapter = new JFaceNodeAdapter(this);
+			initAdapter(singletonAdapter, node);
+		}
+		return singletonAdapter;
+	}
+
+
+	/**
+	 * returns "copy" so no one can modify our list. It is a shallow copy.
+	 */
+	public synchronized Collection getListeners() {
+		return new ArrayList(fListeners);
+	}
+
+	protected synchronized void initAdapter(INodeAdapter adapter, INodeNotifier node) {
+		Assert.isTrue(cmDocumentManager == null);
+		Assert.isTrue(fCMDocumentManagerListener == null);
+
+		// register for CMDocumentManager events
+		ModelQueryAdapter mqadapter = (ModelQueryAdapter) node.getAdapterFor(ModelQueryAdapter.class);
+		if (mqadapter != null) {
+			ModelQuery mquery = mqadapter.getModelQuery();
+			if ((mquery != null) && (mquery.getCMDocumentManager() != null)) {
+				cmDocumentManager = mquery.getCMDocumentManager();
+				fCMDocumentManagerListener = new CMDocumentManagerListenerImpl();
+				cmDocumentManager.addListener(fCMDocumentManagerListener);
+			}
+		}
+	}
+
+	@Override
+	public synchronized void release() {
+		// deregister from CMDocumentManager events
+		if ((cmDocumentManager != null) && (fCMDocumentManagerListener != null)) {
+			cmDocumentManager.removeListener(fCMDocumentManagerListener);
+		}
+		fListeners.clear();
+		if (singletonAdapter != null && singletonAdapter instanceof JFaceNodeAdapter) {
+			RefreshStructureJob refreshJob = ((JFaceNodeAdapter) singletonAdapter).fRefreshJob;
+			if (refreshJob != null) {
+				refreshJob.cancel();
+			}
+		}
+	}
+
+	public synchronized void removeListener(Object listener) {
+		fListeners.remove(listener);
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeContentProvider.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeContentProvider.java
new file mode 100755
index 0000000..cfa6877
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeContentProvider.java
@@ -0,0 +1,118 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     David Carver (STAR) - based on work for org.eclipse.wst.xml.ui
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentoutline;
+
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter;
+import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapterFactory;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
+
+
+/**
+ * An ITreeContentProvider for a TreeViewers used to display DOM nodes. This
+ * content provider takes an adapter factory to create JFace adapters for the
+ * nodes in the tree.
+ */
+public class JFaceNodeContentProvider implements ITreeContentProvider {
+
+	public JFaceNodeContentProvider() {
+		super();
+	}
+
+	/**
+	 * The visual part that is using this content provider is about to be
+	 * disposed. Deallocate all allocated SWT resources.
+	 */
+	public void dispose() {
+	}
+
+	/**
+	 * Returns the JFace adapter for the specified object.
+	 * 
+	 * @param adaptable
+	 *            java.lang.Object The object to get the adapter for
+	 */
+	protected IJFaceNodeAdapter getAdapter(Object adaptable) {
+		if (adaptable instanceof INodeNotifier) {
+			INodeAdapter adapter = ((INodeNotifier) adaptable).getAdapterFor(IJFaceNodeAdapter.class);
+			if (adapter instanceof IJFaceNodeAdapter) {
+				return (IJFaceNodeAdapter) adapter;
+			}
+		}
+		return null;
+	}
+
+	public Object[] getChildren(Object object) {
+		IJFaceNodeAdapter adapter = getAdapter(object);
+
+		if (adapter != null) {
+			return adapter.getChildren(object);
+		}
+
+		return new Object[0];
+	}
+
+	public Object[] getElements(Object object) {
+		// The root is usually an instance of an XMLStructuredModel in
+		// which case we want to extract the document.
+		Object topNode = object;
+		if (object instanceof IDOMModel) {
+			topNode = ((IDOMModel) object).getDocument();
+		}
+
+		IJFaceNodeAdapter adapter = getAdapter(topNode);
+
+		if (adapter != null) {
+			return adapter.getElements(topNode);
+		}
+
+		return new Object[0];
+	}
+
+	public Object getParent(Object object) {
+		IJFaceNodeAdapter adapter = getAdapter(object);
+
+		if (adapter != null) {
+			return adapter.getParent(object);
+		}
+
+		return null;
+	}
+
+	public boolean hasChildren(Object object) {
+		IJFaceNodeAdapter adapter = getAdapter(object);
+
+		if (adapter != null) {
+			return adapter.hasChildren(object);
+		}
+
+		return false;
+	}
+
+	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+		if ((oldInput != null) && (oldInput instanceof IStructuredModel)) {
+			IJFaceNodeAdapterFactory factory = (IJFaceNodeAdapterFactory) ((IStructuredModel) oldInput).getFactoryRegistry().getFactoryFor(IJFaceNodeAdapter.class);
+			if (factory != null) {
+				factory.removeListener(viewer);
+			}
+		}
+		if ((newInput != null) && (newInput instanceof IStructuredModel)) {
+			IJFaceNodeAdapterFactory factory = (IJFaceNodeAdapterFactory) ((IStructuredModel) newInput).getFactoryRegistry().getFactoryFor(IJFaceNodeAdapter.class);
+			if (factory != null) {
+				factory.addListener(viewer);
+			}
+		}
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeLabelProvider.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeLabelProvider.java
new file mode 100755
index 0000000..bd55eec
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/JFaceNodeLabelProvider.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     David Carver (STAR) - based on work for org.eclipse.wst.xml.ui
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentoutline;
+
+import org.eclipse.jface.viewers.ColumnLabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
+import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter;
+
+/**
+ * A (column) label provider backed by JFaceNodeAdapters.
+ */
+public class JFaceNodeLabelProvider extends ColumnLabelProvider {
+	/**
+	 * JFaceNodeLabelProvider constructor comment.
+	 */
+	public JFaceNodeLabelProvider() {
+		super();
+	}
+
+	/**
+	 * Returns the JFace adapter for the specified object.
+	 * 
+	 * @param adaptable
+	 *            java.lang.Object The object to get the adapter for
+	 */
+	protected IJFaceNodeAdapter getAdapter(Object adaptable) {
+		if (adaptable instanceof INodeNotifier) {
+			INodeAdapter adapter = ((INodeNotifier) adaptable).getAdapterFor(IJFaceNodeAdapter.class);
+			if (adapter instanceof IJFaceNodeAdapter) {
+				return (IJFaceNodeAdapter) adapter;
+			}
+		}
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
+	 */
+	@Override
+	public Image getImage(Object element) {
+		IJFaceNodeAdapter adapter = getAdapter(element);
+		if (adapter != null)
+			return adapter.getLabelImage(element);
+		return super.getImage(element);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
+	 */
+	@Override
+	public String getText(Object element) {
+		IJFaceNodeAdapter adapter = getAdapter(element);
+		if (adapter != null)
+			return adapter.getLabelText(element);
+		return super.getText(element);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object,
+	 *      java.lang.String)
+	 */
+	@Override
+	public boolean isLabelProperty(Object element, String property) {
+		return false;
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/RefreshStructureJob.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/RefreshStructureJob.java
new file mode 100755
index 0000000..4f434de
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/RefreshStructureJob.java
@@ -0,0 +1,370 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentoutline;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.wst.xml.ui.internal.XMLUIMessages;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+
+/**
+ * This job holds a queue of updates (affected nodes) for multiple structured
+ * viewers. When a new request comes in, the current run is cancelled, the new
+ * request is added to the queue, then the job is re-scheduled. Support for
+ * multiple structured viewers is required because refresh updates are usually
+ * triggered by model changes, and the model may be visible in more than one
+ * viewer.
+ * 
+ * @author pavery
+ */
+class RefreshStructureJob extends Job {
+
+	/** debug flag */
+	static final boolean DEBUG;
+	private static final long UPDATE_DELAY = 300;
+	static {
+		String value = Platform.getDebugOption("org.eclipse.wst.sse.ui/debug/refreshStructure"); //$NON-NLS-1$
+		DEBUG = (value != null) && value.equalsIgnoreCase("true"); //$NON-NLS-1$
+	}
+	/** List of refresh requests (Nodes) */
+	private final List fRefreshes;
+	/** List of update requests (Nodes) */
+	private final List fUpdates;
+	/** List of update requests (Nodes) */
+	private final List fUpdateProperties;
+	/** the structured viewers */
+	Set fRefreshViewers = new HashSet(3);
+	Set fUpdateViewers = new HashSet(3);
+
+	public RefreshStructureJob() {
+		super(XMLUIMessages.refreshoutline_0);
+		setPriority(Job.LONG);
+		setSystem(true);
+		fRefreshes = new ArrayList(5);
+		fUpdates = new ArrayList(5);
+		fUpdateProperties = new ArrayList(5);
+	}
+
+	private synchronized void addUpdateRequest(Node newNodeRequest, String[] updateProperties) {
+		/*
+		 * If we get to here, either from existing request list being zero
+		 * length, or no exisitng requests "matched" new request, then add the
+		 * new request.
+		 */
+		fUpdates.add(newNodeRequest);
+		fUpdateProperties.add(updateProperties);
+	}
+
+	private synchronized void addUpdateViewer(StructuredViewer viewer) {
+		fUpdateViewers.add(viewer);
+	}
+
+	private synchronized void addRefreshRequest(Node newNodeRequest) {
+		/*
+		 * note: the caller must NOT pass in null node request (which, since
+		 * private method, we do not need to gaurd against here, as long as we
+		 * gaurd against it in calling method.
+		 */
+		int size = fRefreshes.size();
+		for (int i = 0; i < size; i++) {
+			Node existingNodeRequest = (Node) fRefreshes.get(i);
+			/*
+			 * https://bugs.eclipse.org/bugs/show_bug.cgi?id=157427 If we
+			 * already have a request which equals the new request, discard
+			 * the new request
+			 */
+			if (existingNodeRequest.equals(newNodeRequest)) {
+				return;
+			}
+			/*
+			 * If we already have a request which contains the new request,
+			 * discard the new request
+			 */
+			if (contains(existingNodeRequest, newNodeRequest)) {
+				return;
+			}
+			/*
+			 * If new request contains any existing requests, replace it with
+			 * new request. ISSUE: technically, we should replace ALL
+			 * contained, existing requests (such as if many siblings already
+			 * que'd up when their common parent is then requested, but, I'm
+			 * not sure if that occurs much, in practice, or if there's an
+			 * algorithm to quickly find them all. Actually, I guess we could
+			 * just go through the _rest_ of the list (i+1 to size) and remove
+			 * any that are contained by new request ... in future :) .
+			 */
+			if (contains(newNodeRequest, existingNodeRequest)) {
+				fRefreshes.set(i, newNodeRequest);
+				return;
+			}
+		}
+		/*
+		 * If we get to here, either from existing request list being zero
+		 * length, or no exisitng requests "matched" new request, then add the
+		 * new request.
+		 */
+		fRefreshes.add(newNodeRequest);
+	}
+
+	private synchronized void addRefreshViewer(StructuredViewer viewer) {
+		fRefreshViewers.add(viewer);
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.eclipse.core.runtime.jobs.Job#canceling()
+	 */
+	@Override
+	protected void canceling() {
+		fUpdates.clear();
+		fUpdateViewers.clear();
+		super.canceling();
+	}
+
+	/**
+	 * Simple hierarchical containment relationship. Note, this method returns
+	 * "false" if the two nodes are equal!
+	 * 
+	 * @param root
+	 * @param possible
+	 * @return if the root is parent of possible, return true, otherwise
+	 *         return false
+	 */
+	private boolean contains(Node root, Node possible) {
+		if (DEBUG) {
+			System.out.println("=============================================================================================================="); //$NON-NLS-1$
+			System.out.println("recursive call w/ root: " + root.getNodeName() + " and possible: " + possible); //$NON-NLS-1$ //$NON-NLS-2$
+			System.out.println("--------------------------------------------------------------------------------------------------------------"); //$NON-NLS-1$
+		}
+
+		// the following checks are important
+		// #document node will break the algorithm otherwise
+
+		// can't contain the child if it's null
+		if (root == null) {
+			if (DEBUG) {
+				System.out.println("returning false: root is null"); //$NON-NLS-1$
+			}
+			return false;
+		}
+		// nothing can be parent of Document node
+		if (possible instanceof Document) {
+			if (DEBUG) {
+				System.out.println("returning false: possible is Document node"); //$NON-NLS-1$
+			}
+			return false;
+		}
+		// document contains everything
+		if (root instanceof Document) {
+			if (DEBUG) {
+				System.out.println("returning true: root is Document node"); //$NON-NLS-1$
+			}
+			return true;
+		}
+
+		// check parentage
+		Node current = possible;
+		// loop parents
+		while ((current != null) && (current.getNodeType() != Node.DOCUMENT_NODE)) {
+			// found it
+			if (root.equals(current)) {
+				if (DEBUG) {
+					System.out.println("   !!! found: " + possible.getNodeName() + " in subelement of: " + root.getNodeName()); //$NON-NLS-1$ //$NON-NLS-2$
+				}
+				return true;
+			}
+			current = current.getParentNode();
+		}
+		// never found it
+		return false;
+	}
+
+	/**
+	 * Refresh must be on UI thread because it's on a SWT widget.
+	 * 
+	 * @param node
+	 */
+	private void doRefresh(final Node node, final StructuredViewer[] viewers) {
+		final Display display = PlatformUI.getWorkbench().getDisplay();
+		display.asyncExec(new Runnable() {
+			public void run() {
+				if (DEBUG) {
+					System.out.println("refresh on: [" + node.getNodeName() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
+				}
+
+				for (int i = 0; i < viewers.length; i++) {
+					if (!viewers[i].getControl().isDisposed()) {
+						if (node.getNodeType() == Node.DOCUMENT_NODE) {
+							viewers[i].refresh(true);
+						}
+						else {
+							viewers[i].refresh(node, true);
+						}
+					}
+					else {
+						if (DEBUG) {
+							System.out.println("   !!! skipped refreshing disposed viewer: " + viewers[i]); //$NON-NLS-1$
+						}
+					}
+				}
+			}
+		});
+	}
+
+	/**
+	 * Update must be on UI thread because it's on a SWT widget.
+	 * 
+	 * @param node
+	 */
+	private void doUpdate(final StructuredViewer[] viewers, final Node node, final String[] properties) {
+		final Display display = PlatformUI.getWorkbench().getDisplay();
+		display.asyncExec(new Runnable() {
+			public void run() {
+				if (DEBUG) {
+					System.out.println("refresh on: [" + node.getNodeName() + "]"); //$NON-NLS-1$ //$NON-NLS-2$
+				}
+
+				for (int i = 0; i < viewers.length; i++) {
+					if (!viewers[i].getControl().isDisposed()) {
+						viewers[i].update(node, properties);
+					}
+					else {
+						if (DEBUG) {
+							System.out.println("   !!! skipped refreshing disposed viewer: " + viewers[i]); //$NON-NLS-1$
+						}
+					}
+				}
+			}
+		});
+	}
+
+	/**
+	 * This method also synchronized because it accesses the fRefreshes queue
+	 * and fRefreshViewers list
+	 * 
+	 * @return an array containing and array of the currently requested Nodes
+	 *         to refresh and the viewers in which to refresh them
+	 */
+	private synchronized Object[] getRefreshRequests() {
+		Node[] toRefresh = (Node[]) fRefreshes.toArray(new Node[fRefreshes.size()]);
+		fRefreshes.clear();
+
+		StructuredViewer[] viewers = (StructuredViewer[]) fRefreshViewers.toArray(new StructuredViewer[fRefreshViewers.size()]);
+		fRefreshViewers.clear();
+
+		return new Object[]{toRefresh, viewers};
+	}
+
+	/**
+	 * This method also synchronized because it accesses the fUpdates queue
+	 * and fUpdateViewers list
+	 * 
+	 * @return an array containing and array of the currently requested Nodes
+	 *         to refresh and the viewers in which to refresh them
+	 */
+	private synchronized Object[] getUpdateRequests() {
+		Node[] toUpdate = (Node[]) fUpdates.toArray(new Node[fUpdates.size()]);
+		fUpdates.clear();
+
+		StructuredViewer[] viewers = (StructuredViewer[]) fUpdateViewers.toArray(new StructuredViewer[fUpdateViewers.size()]);
+		fUpdateViewers.clear();
+
+		String[][] properties = (String[][]) fUpdateProperties.toArray(new String[fUpdateProperties.size()][]);
+		fUpdateProperties.clear();
+
+		return new Object[]{toUpdate, viewers, properties};
+	}
+
+	/**
+	 * Invoke a refresh on the viewer on the given node.
+	 * 
+	 * @param node
+	 */
+	public void refresh(StructuredViewer viewer, Node node) {
+		if (node == null) {
+			return;
+		}
+
+		addRefreshViewer(viewer);
+		addRefreshRequest(node);
+		schedule(UPDATE_DELAY);
+	}
+
+	/**
+	 * Invoke a refresh on the viewer on the given node.
+	 * 
+	 * @param node
+	 */
+	public void update(StructuredViewer viewer, Node node, String[] properties) {
+		if (node == null) {
+			return;
+		}
+
+		addUpdateViewer(viewer);
+		addUpdateRequest(node, properties);
+		schedule(UPDATE_DELAY);
+	}
+
+	@Override
+	protected IStatus run(IProgressMonitor monitor) {
+		IStatus status = Status.OK_STATUS;
+		try {
+			performUpdates();
+			
+			performRefreshes(monitor);
+		}
+		finally {
+			monitor.done();
+		}
+		return status;
+	}
+
+	private void performRefreshes(IProgressMonitor monitor) {
+		// Retrieve BOTH viewers and Nodes on one block
+		Object[] requests = getRefreshRequests();
+		Node[] nodes = (Node[]) requests[0];
+		StructuredViewer[] viewers = (StructuredViewer[]) requests[1];
+
+		for (int i = 0; i < nodes.length; i++) {
+			if (monitor.isCanceled()) {
+				throw new OperationCanceledException();
+			}
+			doRefresh(nodes[i], viewers);
+		}
+	}
+
+	private void performUpdates() {
+		// Retrieve BOTH viewers and Nodes on one block
+		Object[] requests = getUpdateRequests();
+		Node[] nodes = (Node[]) requests[0];
+		StructuredViewer[] viewers = (StructuredViewer[]) requests[1];
+		String[][] properties = (String[][]) requests[2];
+
+		for (int i = 0; i < nodes.length; i++) {
+			doUpdate(viewers, nodes[i], properties[i]);
+		}
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/XMLNodeActionManager.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/XMLNodeActionManager.java
new file mode 100755
index 0000000..5972c59
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/XMLNodeActionManager.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2001, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *     Jens Lukowski/Innoopract - initial renaming/restructuring
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentoutline;
+
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.wst.sse.core.internal.format.IStructuredFormatProcessor;
+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.xml.core.internal.contentmodel.modelquery.ModelQuery;
+import org.eclipse.wst.xml.core.internal.modelquery.ModelQueryUtil;
+import org.eclipse.wst.xml.core.internal.provisional.format.FormatProcessorXML;
+import org.eclipse.wst.xml.ui.internal.actions.AbstractNodeActionManager;
+import org.w3c.dom.Node;
+
+
+public class XMLNodeActionManager extends AbstractNodeActionManager {
+	public XMLNodeActionManager(IStructuredModel model, Viewer viewer) {
+		super(model, ModelQueryUtil.getModelQuery(model), viewer);
+	}
+
+	@Override
+	public void reformat(Node newElement, boolean deep) {
+		try {
+			// tell the model that we are about to make a big model change
+			fModel.aboutToChangeModel();
+
+			// format selected node
+			IStructuredFormatProcessor formatProcessor = new FormatProcessorXML();
+			formatProcessor.formatNode(newElement);
+		}
+		finally {
+			// tell the model that we are done with the big model change
+			fModel.changedModel();
+		}
+	}
+
+	public void setModel(IStructuredModel newModel) {
+		fModel = newModel;
+		setModelQuery(ModelQueryUtil.getModelQuery(newModel));
+	}
+
+	protected void setModelQuery(ModelQuery newModelQuery) {
+		modelQuery = newModelQuery;
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/XSLContentOutlineConfiguration.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/XSLContentOutlineConfiguration.java
new file mode 100755
index 0000000..f108da8
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentoutline/XSLContentOutlineConfiguration.java
@@ -0,0 +1,239 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - based on XMLContentOutlineConfiguration initial API and implementation
+ *     David Carver (STAR) - initial XSL implementation.
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.contentoutline;
+
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.wst.sse.ui.internal.contentoutline.PropertyChangeUpdateAction;
+import org.eclipse.wst.sse.ui.internal.contentoutline.PropertyChangeUpdateActionContributionItem;
+import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImageHelper;
+import org.eclipse.wst.sse.ui.internal.editor.EditorPluginImages;
+import org.eclipse.wst.xml.ui.internal.XMLUIMessages;
+import org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeContentProvider;
+import org.eclipse.wst.xml.ui.internal.preferences.XMLUIPreferenceNames;
+import org.eclipse.wst.xml.ui.views.contentoutline.AbstractXMLContentOutlineConfiguration;
+import org.eclipse.wst.xml.ui.views.contentoutline.XMLContentOutlineConfiguration;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Node;
+
+/**
+ * More advanced Outline Configuration for XML support.  Expects that the viewer's
+ * input will be the DOM Model.
+ * 
+ * @see AbstractXMLContentOutlineConfiguration
+ * @since 1.0
+ */
+public class XSLContentOutlineConfiguration extends XMLContentOutlineConfiguration {
+	static final String ATTR_NAME = "name"; //$NON-NLS-1$
+	static final String ATTR_ID = "id"; //$NON-NLS-1$
+
+
+	/**
+	 * Toggle action for whether or not to display element's first attribute
+	 */
+	private class ToggleShowAttributeAction extends PropertyChangeUpdateAction {
+		// https://bugs.eclipse.org/bugs/show_bug.cgi?id=88444
+		private TreeViewer fTreeViewer;
+
+		public ToggleShowAttributeAction(IPreferenceStore store, String preference, TreeViewer treeViewer) {
+			super(XMLUIMessages.XMLContentOutlineConfiguration_0, store, preference, true);
+			setToolTipText(getText());
+
+			setImageDescriptor(EditorPluginImageHelper.getInstance().getImageDescriptor(EditorPluginImages.IMG_OBJ_PROP_PS));
+			fTreeViewer = treeViewer;
+			update();
+		}
+
+		/*
+		 * (non-Javadoc)
+		 * 
+		 * @see org.eclipse.ui.texteditor.IUpdate#update()
+		 */
+		@Override
+		public void update() {
+			super.update();
+			fShowAttributes = isChecked();
+
+			// notify the configuration of the change
+			enableShowAttributes(fShowAttributes, fTreeViewer);
+
+			// refresh the outline view
+			fTreeViewer.refresh(true);
+		}
+	}
+	
+	private AttributeShowingLabelProvider fAttributeShowingLabelProvider;
+	private IContentProvider fContentProvider = null;
+
+	boolean fShowAttributes = false;
+
+	/*
+	 * Preference key for Show Attributes
+	 */
+	private static final String OUTLINE_SHOW_ATTRIBUTE_PREF = "outline-show-attribute"; //$NON-NLS-1$
+
+	/**
+	 * Create new instance of XMLContentOutlineConfiguration
+	 */
+	public XSLContentOutlineConfiguration() {
+		// Must have empty constructor to createExecutableExtension
+		super();
+
+		/**
+		 * Set up our preference store here. This is done so that subclasses
+		 * aren't required to set their own values, although if they have,
+		 * those will be used instead.
+		 */
+		IPreferenceStore store = getPreferenceStore();
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.DOCUMENT_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.DOCUMENT_NODE, "1, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.PROCESSING_INSTRUCTION_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.PROCESSING_INSTRUCTION_NODE, "2, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.DOCUMENT_TYPE_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.DOCUMENT_TYPE_NODE, "3, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.DOCUMENT_FRAGMENT_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.DOCUMENT_FRAGMENT_NODE, "4, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.COMMENT_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.COMMENT_NODE, "5, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.ATTRIBUTE_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.ATTRIBUTE_NODE, "6, false"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.ELEMENT_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.ELEMENT_NODE, "7, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.ENTITY_REFERENCE_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.ENTITY_REFERENCE_NODE, "8, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.CDATA_SECTION_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.CDATA_SECTION_NODE, "9, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.ENTITY_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.ENTITY_NODE, "10, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.NOTATION_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.NOTATION_NODE, "11, true"); //$NON-NLS-1$
+		if (store.getDefaultString(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.TEXT_NODE).length() == 0)
+			store.setDefault(XMLUIPreferenceNames.OUTLINE_BEHAVIOR.TEXT_NODE, "12, false"); //$NON-NLS-1$
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#createMenuContributions(org.eclipse.jface.viewers.TreeViewer)
+	 */
+	@Override
+	protected IContributionItem[] createMenuContributions(TreeViewer viewer) {
+		IContributionItem[] items;
+		// https://bugs.eclipse.org/bugs/show_bug.cgi?id=88444
+		IContributionItem showAttributeItem = new PropertyChangeUpdateActionContributionItem(new ToggleShowAttributeAction(getPreferenceStore(), OUTLINE_SHOW_ATTRIBUTE_PREF, viewer));
+
+		items = super.createMenuContributions(viewer);
+		if (items == null) {
+			items = new IContributionItem[]{showAttributeItem};
+		}
+		else {
+			IContributionItem[] combinedItems = new IContributionItem[items.length + 1];
+			System.arraycopy(items, 0, combinedItems, 0, items.length);
+			combinedItems[items.length] = showAttributeItem;
+			items = combinedItems;
+		}
+		return items;
+	}
+
+	/**
+	 * Notifies this configuration that the flag that indicates whether or not
+	 * to show attribute values in the tree viewer has changed. The tree
+	 * viewer is automatically refreshed afterwards to update the labels.
+	 * 
+	 * Clients should not call this method, but rather should react to it.
+	 * 
+	 * @param showAttributes
+	 *            flag indicating whether or not to show attribute values in
+	 *            the tree viewer
+	 * @param treeViewer
+	 *            the TreeViewer associated with this configuration
+	 */
+	@Override
+	protected void enableShowAttributes(boolean showAttributes, TreeViewer treeViewer) {
+		if (fAttributeShowingLabelProvider != null) {
+			fAttributeShowingLabelProvider.setShowAttributes(showAttributes);
+		}
+	}
+	
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getContentProvider(org.eclipse.jface.viewers.TreeViewer)
+	 */
+	@Override
+	public IContentProvider getContentProvider(TreeViewer viewer) {
+		if (fContentProvider == null) {
+			fContentProvider = new JFaceNodeContentProvider();
+		}
+		return fContentProvider;
+	}
+
+	private Object getFilteredNode(Object object) {
+		if (object instanceof Node) {
+			Node node = (Node) object;
+			short nodeType = node.getNodeType();
+			// replace attribute node in selection with its parent
+			if (nodeType == Node.ATTRIBUTE_NODE) {
+				node = ((Attr) node).getOwnerElement();
+			}
+			// anything else not visible, replace with parent node
+			else if (nodeType == Node.TEXT_NODE || nodeType == Node.COMMENT_NODE) {
+				node = node.getParentNode();
+			}
+			return node;
+		}
+		return object;
+	}
+
+	private Object[] getFilteredNodes(Object[] filteredNodes) {
+		for (int i = 0; i < filteredNodes.length; i++) {
+			filteredNodes[i] = getFilteredNode(filteredNodes[i]);
+		}
+		return filteredNodes;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getLabelProvider(org.eclipse.jface.viewers.TreeViewer)
+	 */
+	@Override
+	public ILabelProvider getLabelProvider(TreeViewer viewer) {
+		if (fAttributeShowingLabelProvider == null) {
+			fAttributeShowingLabelProvider = new AttributeShowingLabelProvider(fShowAttributes);
+		}
+		return fAttributeShowingLabelProvider;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.wst.sse.ui.views.contentoutline.ContentOutlineConfiguration#getSelection(org.eclipse.jface.viewers.TreeViewer,
+	 *      org.eclipse.jface.viewers.ISelection)
+	 */
+	@Override
+	public ISelection getSelection(TreeViewer viewer, ISelection selection) {
+		ISelection filteredSelection = selection;
+		if (selection instanceof IStructuredSelection) {
+			Object[] filteredNodes = getFilteredNodes(((IStructuredSelection) selection).toArray());
+			filteredSelection = new StructuredSelection(filteredNodes);
+		}
+		return filteredSelection;
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/AbstractValidationSettingsPage.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/AbstractValidationSettingsPage.java
index a969dc2..0aa0a27 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/AbstractValidationSettingsPage.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/AbstractValidationSettingsPage.java
@@ -9,12 +9,14 @@
  *     David Carver (STAR) - bug 230072 - initial API and implementation
  *                                        based on org.eclipse.wst.html.ui class of
  *                                        the same name.
+ *    David Carver - bug 297714 - Values not being loaded from preferences.
  *******************************************************************************/
 package org.eclipse.wst.xsl.ui.internal.preferences;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ProjectScope;
@@ -68,8 +70,8 @@
 	
 	public AbstractValidationSettingsPage() {
 		super();
-		fCombos = new ArrayList();
-		fExpandables = new ArrayList();
+		fCombos = new CopyOnWriteArrayList<Combo>();
+		fExpandables = new CopyOnWriteArrayList<ExpandableComposite>();
 		fPreferencesService = Platform.getPreferencesService();
 		fValidation = ValidationFramework.getDefault();
 	}
@@ -287,6 +289,7 @@
 	
 	@Override
 	public boolean performOk() {
+		storeValues();
 		if(super.performOk() && shouldRevalidateOnSettingsChange()) {
 			MessageBox mb = new MessageBox(this.getShell(), SWT.APPLICATION_MODAL | SWT.YES | SWT.NO | SWT.CANCEL | SWT.ICON_INFORMATION | SWT.RIGHT);
 			mb.setText(Messages.AbstractValidationSettingsPageMbText);
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/XSLUIPreferenceInitializer.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/XSLUIPreferenceInitializer.java
index 63694ce..cf76b08 100755
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/XSLUIPreferenceInitializer.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/XSLUIPreferenceInitializer.java
@@ -22,7 +22,7 @@
 import org.eclipse.wst.xsl.ui.internal.style.IStyleConstantsXSL;
 
 /**
- * Sets default values for XML UI preferences
+ * Sets default values for XSL UI preferences
  */
 public class XSLUIPreferenceInitializer extends AbstractPreferenceInitializer {
 
@@ -52,5 +52,18 @@
 		styleValue = ColorHelper.findRGBString(registry, IStyleConstantsXSL.TAG_NAME, 63, 127, 127) + BOLD;
 		store.setDefault(IStyleConstantsXSL.TAG_NAME, styleValue);
 		
+		store.setDefault("xsl.ui.highlighting.tag.bold", true); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.tag.italic", false); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.tag.strikethrough", false); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.tag.underline", false); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.tag.enabled", true); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.tag.color", "#FF00FF"); //$NON-NLS-1$ //$NON-NLS-2$
+		
+		store.setDefault("xsl.ui.highlighting.attr.bold", true); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.attr.italic", false); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.attr.strikethrough", false); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.attr.underline", false); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.attr.enabled", true); //$NON-NLS-1$
+		store.setDefault("xsl.ui.highlighting.attr.color", "#FF00FF"); //$NON-NLS-1$ //$NON-NLS-2$
 	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/XSLValidationPreferencePage.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/XSLValidationPreferencePage.java
index 096f5e9..3cdb8f2 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/XSLValidationPreferencePage.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/preferences/XSLValidationPreferencePage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- *Copyright (c) 2008 Standards for Technology in Automotive Retail and others.
+ *Copyright (c) 2008, 2009 Standards for Technology in Automotive Retail and others.
  *All rights reserved. This program and the accompanying materials
  *are made available under the terms of the Eclipse Public License v1.0
  *which accompanies this distribution, and is available at
@@ -9,16 +9,24 @@
  *    David Carver - bug 230072 - initial API and implementation based on code from
  *                                Doug Satchwell, Jesper Moeller, and the
  *                                HTML Validation PreferencePage.
+ *    David Carver - bug 297714 - Values not being loaded from preferences.
  *******************************************************************************/
 package org.eclipse.wst.xsl.ui.internal.preferences;
 
-import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.List;
 import java.util.Map;
 
 import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.Preferences;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ProjectScope;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.osgi.service.prefs.BackingStoreException;
+import org.osgi.service.prefs.Preferences;
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.jface.resource.JFaceResources;
 import org.eclipse.swt.SWT;
@@ -37,118 +45,141 @@
 import org.eclipse.ui.forms.events.ExpansionEvent;
 import org.eclipse.ui.forms.widgets.ExpandableComposite;
 import org.eclipse.wst.sse.ui.internal.preferences.ui.ScrolledPageContent;
-import org.eclipse.wst.sse.ui.internal.util.PixelConverter;
+import org.eclipse.jface.layout.PixelConverter;
 import org.eclipse.wst.xsl.core.ValidationPreferences;
 import org.eclipse.wst.xsl.core.internal.XSLCorePlugin;
 import org.eclipse.wst.xsl.ui.internal.Messages;
 import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
 
-public class XSLValidationPreferencePage extends AbstractValidationSettingsPage implements ModifyListener {
+public class XSLValidationPreferencePage extends AbstractValidationSettingsPage
+		implements ModifyListener {
 
 	private static final String XSL_UI_PROPERTY_PAGE_PROJECT_VALIDATION_ID = "org.eclipse.wst.xsl.ui.propertyPage.project.validation"; //$NON-NLS-1$
 	private static final String XSL_UI_PREFERENCES_VALIDATION_ID = "org.eclipse.wst.xsl.ui.preferences.Validation"; //$NON-NLS-1$
-	private static final String[] ERRORS = new String[] { Messages.ErrorLevelText, Messages.WarningLevelText, Messages.IgnoreLevelText };
-	private static final int[] ERROR_VALUES = new int[] { IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO };
-	private static final Map<Integer, Integer> ERROR_MAP = new HashMap<Integer, Integer>();
+	private static final String[] ERRORS = new String[] {
+			Messages.ErrorLevelText, Messages.WarningLevelText,
+			Messages.IgnoreLevelText };
+	private static final int[] ERROR_VALUES = new int[] {
+			IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING,
+			IMarker.SEVERITY_INFO };
+	private static final Map<Integer, Integer> ERROR_MAP = new ConcurrentHashMap<Integer, Integer>();
 	private Text maxErrorsText;
-	private Map<String, Combo> combos = new HashMap<String, Combo>();
-	private List<ExpandableComposite> Expandables = new ArrayList<ExpandableComposite>();
+	private Map<String, Combo> combos = new ConcurrentHashMap<String, Combo>();
+	private List<ExpandableComposite> Expandables = new CopyOnWriteArrayList<ExpandableComposite>();
 	private static final String SETTINGS_SECTION_NAME = "XSLValidationSeverities";//$NON-NLS-1$
 	private PixelConverter fPixelConverter;
 
-
-	static
-	{
+	static {
 		ERROR_MAP.put(IMarker.SEVERITY_ERROR, 0);
 		ERROR_MAP.put(IMarker.SEVERITY_WARNING, 1);
 		ERROR_MAP.put(IMarker.SEVERITY_INFO, 2);
 	}
-	
+
 	@Override
 	protected Control createCommonContents(Composite parent) {
 		final Composite page = new Composite(parent, SWT.NULL);
-		
-		//GridLayout
+
+		// GridLayout
 		GridLayout layout = new GridLayout();
 		layout.numColumns = 1;
 		page.setLayout(layout);
-		
+
 		fPixelConverter = new PixelConverter(parent);
-		
+
 		final Composite content = createValidationSection(page);
 
 		loadPreferences();
-		restoreSectionExpansionStates(getDialogSettings().getSection(SETTINGS_SECTION_NAME));
-		
-		GridData gridData= new GridData(GridData.FILL, GridData.FILL, true, true);
+		restoreSectionExpansionStates(getDialogSettings().getSection(
+				SETTINGS_SECTION_NAME));
+
+		GridData gridData = new GridData(GridData.FILL, GridData.FILL, true,
+				true);
 		gridData.heightHint = fPixelConverter.convertHeightInCharsToPixels(20);
 		content.setLayoutData(gridData);
-		
+
 		return page;
 	}
-	
-	protected Composite createValidationSection(Composite parent)
-	{
-		GridLayout layout= new GridLayout();
-		layout.numColumns= 2;
-		layout.marginHeight= 0;
-		layout.marginWidth= 0;
-		
+
+	protected Composite createValidationSection(Composite parent) {
+		GridLayout layout = new GridLayout();
+		layout.numColumns = 2;
+		layout.marginHeight = 0;
+		layout.marginWidth = 0;
+
 		final ScrolledPageContent pageContent = new ScrolledPageContent(parent);
 		pageContent.setLayoutData(new GridData(GridData.FILL_BOTH));
 		pageContent.setExpandHorizontal(true);
 		pageContent.setExpandVertical(true);
-		
+
 		Composite body = pageContent.getBody();
 		body.setLayout(layout);
 
-		GridData gd= new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1);
-		gd.horizontalIndent= 0;
-		
+		GridData gd = new GridData(GridData.FILL, GridData.CENTER, true, false,
+				2, 1);
+		gd.horizontalIndent = 0;
+
 		createLabel(body, Messages.XSLValidationPreferenceMaxErrorsLabel);
 		maxErrorsText = createTextField(body);
 		maxErrorsText.addModifyListener(this);
 
-
 		Label description = new Label(body, SWT.NONE);
 		description.setText(Messages.XSLValidationPageSeverityLevel);
 		description.setFont(pageContent.getFont());
 		description.setLayoutData(gd);
-		
-
 
 		ExpandableComposite twistie;
-		
+
 		int columns = 3;
-		twistie = createTwistie(body, Messages.XSLValidationPreferenceImportsIncludesLabel,columns);
+		twistie = createTwistie(body,
+				Messages.XSLValidationPreferenceImportsIncludesLabel, columns);
 		Composite inner = createInnerComposite(parent, twistie, columns);
-		
+
 		String label = Messages.XSLValidationPreferenceUnresolveImportIncludeLabel;
 		createCombo(inner, label, ValidationPreferences.MISSING_INCLUDE);
 
 		inner = createInnerComposite(parent, twistie, columns);
 		createCombo(inner, label, ValidationPreferences.MISSING_INCLUDE);
-		createCombo(inner, Messages.XSLValidationPreferenceCircularReferencesLabel, ValidationPreferences.CIRCULAR_REF);
+		createCombo(inner,
+				Messages.XSLValidationPreferenceCircularReferencesLabel,
+				ValidationPreferences.CIRCULAR_REF);
 
-		twistie = createTwistie(body, Messages.XSLValidationPreferenceNamedTemplatesLabel,columns);
+		twistie = createTwistie(body,
+				Messages.XSLValidationPreferenceNamedTemplatesLabel, columns);
 		inner = createInnerComposite(parent, twistie, columns);
-		
-		createCombo(inner, Messages.XSLValidationPreferenceTemplateConflictsLabel, ValidationPreferences.TEMPLATE_CONFLICT);
-		createCombo(inner, Messages.XSLValidationPreferenceDuplicateParameterLabel, ValidationPreferences.DUPLICATE_PARAMETER);
-		createCombo(inner, Messages.XSLValidationPreferenceParamtersWithoutValueLabel, ValidationPreferences.NAME_ATTRIBUTE_MISSING);
-		createCombo(inner, Messages.XSLValidationPreferenceMissingParameterAttributeLabel, ValidationPreferences.NAME_ATTRIBUTE_EMPTY);
-		
-		twistie = createTwistie(body,Messages.XSLValidationPreferenceCallTemplatesLabel,columns);
-		inner = createInnerComposite(parent, twistie, columns);
-		
-		createCombo(inner, Messages.XSLValidationPreferenceUnresolvedTemplatesLabel, ValidationPreferences.CALL_TEMPLATES);
-		createCombo(inner, Messages.XSLValidationPreferenceMissingParamtersLabel, ValidationPreferences.MISSING_PARAM);
-		createCombo(inner, Messages.XSLValidationPreferenceMissingParameterAttributeLabel, ValidationPreferences.EMPTY_PARAM);
 
-		twistie = createTwistie(body, Messages.XSLValidationPreferenceXPathLabel,columns);
+		createCombo(inner,
+				Messages.XSLValidationPreferenceTemplateConflictsLabel,
+				ValidationPreferences.TEMPLATE_CONFLICT);
+		createCombo(inner,
+				Messages.XSLValidationPreferenceDuplicateParameterLabel,
+				ValidationPreferences.DUPLICATE_PARAMETER);
+		createCombo(inner,
+				Messages.XSLValidationPreferenceParamtersWithoutValueLabel,
+				ValidationPreferences.NAME_ATTRIBUTE_MISSING);
+		createCombo(inner,
+				Messages.XSLValidationPreferenceMissingParameterAttributeLabel,
+				ValidationPreferences.NAME_ATTRIBUTE_EMPTY);
+
+		twistie = createTwistie(body,
+				Messages.XSLValidationPreferenceCallTemplatesLabel, columns);
 		inner = createInnerComposite(parent, twistie, columns);
-		createCombo(inner, Messages.XSLValidationPreferenceXPathSyntaxLabel, ValidationPreferences.XPATHS);
-		
+
+		createCombo(inner,
+				Messages.XSLValidationPreferenceUnresolvedTemplatesLabel,
+				ValidationPreferences.CALL_TEMPLATES);
+		createCombo(inner,
+				Messages.XSLValidationPreferenceMissingParamtersLabel,
+				ValidationPreferences.MISSING_PARAM);
+		createCombo(inner,
+				Messages.XSLValidationPreferenceMissingParameterAttributeLabel,
+				ValidationPreferences.EMPTY_PARAM);
+
+		twistie = createTwistie(body,
+				Messages.XSLValidationPreferenceXPathLabel, columns);
+		inner = createInnerComposite(parent, twistie, columns);
+		createCombo(inner, Messages.XSLValidationPreferenceXPathSyntaxLabel,
+				ValidationPreferences.XPATHS);
+
 		return parent;
 	}
 
@@ -160,17 +191,18 @@
 		twistie.setClient(inner);
 		return inner;
 	}
-	
+
 	protected Combo createCombo(Composite parent, String label, String key) {
-		return addComboBox(parent, label, key, ERROR_VALUES, ERRORS, 0);
+		Combo combo = addComboBox(parent, label, key, ERROR_VALUES, ERRORS, 0);
+		combos.put(key, combo);
+		return combo;
 	}
-	
+
 	protected Label createLabel(Composite parent, String text) {
 		Label label = new Label(parent, SWT.LEFT);
 		label.setText(text);
 
-
-		//GridData
+		// GridData
 		GridData data = new GridData(GridData.FILL);
 		data.verticalAlignment = GridData.CENTER;
 		data.horizontalAlignment = GridData.FILL;
@@ -178,11 +210,11 @@
 
 		return label;
 	}
-	
+
 	protected Text createTextField(Composite parent) {
 		Text text = new Text(parent, SWT.SINGLE | SWT.BORDER);
 
-		//GridData
+		// GridData
 		GridData data = new GridData();
 		data.verticalAlignment = GridData.CENTER;
 		data.horizontalAlignment = GridData.FILL;
@@ -191,14 +223,19 @@
 
 		return text;
 	}
-	
+
 	@Override
-	protected ExpandableComposite createTwistie(Composite parent, String label, int nColumns) {
-		ExpandableComposite excomposite= new ExpandableComposite(parent, SWT.NONE, ExpandableComposite.TWISTIE | ExpandableComposite.CLIENT_INDENT);
+	protected ExpandableComposite createTwistie(Composite parent, String label,
+			int nColumns) {
+		ExpandableComposite excomposite = new ExpandableComposite(parent,
+				SWT.NONE, ExpandableComposite.TWISTIE
+						| ExpandableComposite.CLIENT_INDENT);
 		excomposite.setText(label);
 		excomposite.setExpanded(false);
-		excomposite.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT));
-		excomposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, nColumns, 1));
+		excomposite.setFont(JFaceResources.getFontRegistry().getBold(
+				JFaceResources.DIALOG_FONT));
+		excomposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL,
+				true, false, nColumns, 1));
 		excomposite.addExpansionListener(new ExpansionAdapter() {
 			@Override
 			public void expansionStateChanged(ExpansionEvent e) {
@@ -209,26 +246,25 @@
 		makeScrollableCompositeAware(excomposite);
 		return excomposite;
 	}
-	
-	private void makeScrollableCompositeAware(Control control)
-	{
+
+	private void makeScrollableCompositeAware(Control control) {
 		ScrolledPageContent parentScrolledComposite = getParentScrolledComposite(control);
-		if (parentScrolledComposite != null)
-		{
+		if (parentScrolledComposite != null) {
 			parentScrolledComposite.adaptChild(control);
 		}
 	}
-	
+
 	@Override
 	public void dispose() {
-		storeSectionExpansionStates(getDialogSettings().addNewSection(SETTINGS_SECTION_NAME));
+		storeSectionExpansionStates(getDialogSettings().addNewSection(
+				SETTINGS_SECTION_NAME));
 		super.dispose();
 	}
-	
+
 	protected String getQualifier() {
 		return XSLCorePlugin.getDefault().getBundle().getSymbolicName();
 	}
-	
+
 	@Override
 	protected String getPreferenceNodeQualifier() {
 		return XSLCorePlugin.getDefault().getBundle().getSymbolicName();
@@ -243,10 +279,10 @@
 	protected String getProjectSettingsKey() {
 		return XSLCorePlugin.USE_PROJECT_SETTINGS;
 	}
-	
+
 	protected IDialogSettings getDialogSettings() {
 		return XSLUIPlugin.getDefault().getDialogSettings();
-	}	
+	}
 
 	@Override
 	protected String getPropertyPageID() {
@@ -268,23 +304,32 @@
 		enableValues();
 	}
 
-
 	@Override
-	protected void storeValues()
-	{
-		int maxErrors = Integer.parseInt(maxErrorsText.getText());
-		getModelPreferences().setValue(ValidationPreferences.MAX_ERRORS, maxErrors);
-		for (Map.Entry<String, Combo> entry : combos.entrySet())
-		{
-			int index = entry.getValue().getSelectionIndex();
-			getModelPreferences().setValue(entry.getKey(), ERROR_VALUES[index]);
-		}
+	protected void storeValues() {
 		super.storeValues();
+		int maxErrors = Integer.parseInt(maxErrorsText.getText());
+		Preferences prefs = getModelPreferences();
+		
+		prefs.putInt(ValidationPreferences.MAX_ERRORS, maxErrors);
+		
+		try {
+			prefs.flush();
+		} catch (BackingStoreException ex) {
+			XSLUIPlugin.log(ex);
+		}
 	}
-	
-	protected Preferences getModelPreferences()
-	{
-		return XSLCorePlugin.getDefault().getPluginPreferences();
+
+	protected Preferences getModelPreferences() {
+		IEclipsePreferences prefs = Platform.getPreferencesService().getRootNode();
+		IProject project = getProject();
+		if (project != null) {
+			return prefs.node(ProjectScope.SCOPE).node(getPreferenceNodeQualifier());
+		}
+		Preferences instanceScope = prefs.node(InstanceScope.SCOPE).node(getPreferenceNodeQualifier());
+		if (instanceScope != null) {
+			return instanceScope;
+		}
+		return prefs.node(DefaultScope.SCOPE).node(getPreferenceNodeQualifier());
 	}
 
 	protected boolean loadPreferences() {
@@ -297,45 +342,45 @@
 		});
 		return true;
 	}
-	
-	protected void initializeValues()
-	{
-		int maxErrors = getModelPreferences().getInt(ValidationPreferences.MAX_ERRORS);
+
+	protected void initializeValues() {
+		Preferences prefs = getModelPreferences();
+		int maxErrors = prefs.getInt(ValidationPreferences.MAX_ERRORS, 100);
 		maxErrorsText.setText(String.valueOf(maxErrors));
-		for (Map.Entry<String, Combo> entry : combos.entrySet())
-		{
-			int val = getModelPreferences().getInt(entry.getKey());
+		for (Map.Entry<String, Combo> entry : combos.entrySet()) {
+			int val = prefs.getInt(entry.getKey(), IMarker.SEVERITY_WARNING);
+			if (val < 0) {
+				val = IMarker.SEVERITY_WARNING;
+			}
 			entry.getValue().select(ERROR_MAP.get(val));
 		}
 	}
-	
-	protected void validateValues()
-	{
+
+	protected void validateValues() {
 		String errorMessage = null;
-		try
-		{
+		try {
 			int maxErrors = Integer.parseInt(maxErrorsText.getText());
 			if (maxErrors < 0)
 				errorMessage = Messages.XSLValidationPreferenceMaxErrorsMsgError;
-		}
-		catch (NumberFormatException e)
-		{
+		} catch (NumberFormatException e) {
 			errorMessage = Messages.XSLValidationPreferenceMaxErrorsMsgError;
 		}
 		setErrorMessage(errorMessage);
 		setValid(errorMessage == null);
-	}	
-	
+	}
+
 	protected void enableValues() {
-	}	
-	
+	}
+
 	@Override
 	protected void performDefaults() {
 		resetSeverities();
 		super.performDefaults();
 	}
-	
-	/** (non-Javadoc)
+
+	/**
+	 * (non-Javadoc)
+	 * 
 	 * @see org.eclipse.wst.xsl.ui.internal.preferences.AbstractValidationSettingsPage#performOk()
 	 */
 	@Override
@@ -343,5 +388,5 @@
 		boolean result = super.performOk();
 		storeValues();
 		return result;
-	}	
+	}
 }
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/quickassist/ValidationQuickAssist.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/quickassist/ValidationQuickAssist.java
index 5755d03..ecd36ab 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/quickassist/ValidationQuickAssist.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/quickassist/ValidationQuickAssist.java
@@ -16,41 +16,30 @@
 import org.eclipse.jface.text.quickassist.IQuickAssistProcessor;
 import org.eclipse.jface.text.source.Annotation;
 
-public class ValidationQuickAssist implements IQuickAssistProcessor
-{
-	private String problemId;
+public class ValidationQuickAssist implements IQuickAssistProcessor {
 
-	public ValidationQuickAssist()
-	{
+	public ValidationQuickAssist() {
 		super();
 	}
 
-	public boolean canAssist(IQuickAssistInvocationContext invocationContext)
-	{
+	public boolean canAssist(IQuickAssistInvocationContext invocationContext) {
 		// TODO Auto-generated method stub
 		return true;
 	}
 
-	public boolean canFix(Annotation annotation)
-	{
+	public boolean canFix(Annotation annotation) {
 		// TODO Auto-generated method stub
 		return true;
 	}
 
-	public ICompletionProposal[] computeQuickAssistProposals(IQuickAssistInvocationContext invocationContext)
-	{
-		CompletionProposal proposal = new CompletionProposal("doug",5,10,11); //$NON-NLS-1$
-		return new ICompletionProposal[]{proposal};
+	public ICompletionProposal[] computeQuickAssistProposals(
+			IQuickAssistInvocationContext invocationContext) {
+		CompletionProposal proposal = new CompletionProposal("doug", 5, 10, 11); //$NON-NLS-1$
+		return new ICompletionProposal[] { proposal };
 	}
 
-	public String getErrorMessage()
-	{
+	public String getErrorMessage() {
 		return null;
 	}
 
-	public void setProblemId(String id)
-	{
-		this.problemId = id;
-	}
-
 }
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/registry/AdapterFactoryProviderForXSL.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/registry/AdapterFactoryProviderForXSL.java
new file mode 100755
index 0000000..d0facd8
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/registry/AdapterFactoryProviderForXSL.java
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     David Carver (STAR) - based on work for org.eclipse.wst.xml.ui
+ *     
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.registry;
+
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.wst.sse.core.internal.ltk.modelhandler.IDocumentTypeHandler;
+import org.eclipse.wst.sse.core.internal.model.FactoryRegistry;
+import org.eclipse.wst.sse.core.internal.provisional.INodeAdapterFactory;
+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
+import org.eclipse.wst.sse.core.internal.util.Assert;
+import org.eclipse.wst.sse.ui.internal.contentoutline.IJFaceNodeAdapter;
+import org.eclipse.wst.sse.ui.internal.provisional.registry.AdapterFactoryProvider;
+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.modelquery.ModelQueryUtil;
+import org.eclipse.wst.xml.ui.internal.DOMObserver;
+import org.eclipse.wst.xml.ui.internal.XMLUIPlugin;
+import org.eclipse.wst.xsl.core.internal.modelhandler.ModelHandlerForXSL;
+import org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory;
+import org.eclipse.wst.xml.ui.internal.preferences.XMLUIPreferenceNames;
+import org.eclipse.wst.xml.ui.internal.registry.AdapterFactoryProviderForXML;
+
+/**
+ * 
+ */
+public class AdapterFactoryProviderForXSL extends AdapterFactoryProviderForXML
+		implements AdapterFactoryProvider {
+
+	/*
+	 * @see AdapterFactoryProvider#addAdapterFactories(IStructuredModel)
+	 */
+	@Override
+	public void addAdapterFactories(IStructuredModel structuredModel) {
+
+		// add the normal content based factories to model's registry
+		addContentBasedFactories(structuredModel);
+	}
+
+	@Override
+	protected void addContentBasedFactories(IStructuredModel structuredModel) {
+		FactoryRegistry factoryRegistry = structuredModel.getFactoryRegistry();
+		Assert
+				.isNotNull(factoryRegistry,
+						"Program Error: client caller must ensure model has factory registry"); //$NON-NLS-1$
+		INodeAdapterFactory factory = null;
+
+		factory = factoryRegistry.getFactoryFor(IJFaceNodeAdapter.class);
+		if (factory == null) {
+			factory = new JFaceNodeAdapterFactory();
+			factoryRegistry.addFactory(factory);
+		}
+
+		ModelQuery modelQuery = ModelQueryUtil.getModelQuery(structuredModel);
+		if (modelQuery != null) {
+			CMDocumentManager documentManager = modelQuery
+					.getCMDocumentManager();
+			if (documentManager != null) {
+				IPreferenceStore store = XMLUIPlugin.getDefault()
+						.getPreferenceStore();
+				boolean useInferredGrammar = (store != null) ? store
+						.getBoolean(XMLUIPreferenceNames.USE_INFERRED_GRAMMAR)
+						: true;
+
+				documentManager.setPropertyEnabled(
+						CMDocumentManager.PROPERTY_ASYNC_LOAD, true);
+				documentManager.setPropertyEnabled(
+						CMDocumentManager.PROPERTY_AUTO_LOAD, false);
+				documentManager.setPropertyEnabled(
+						CMDocumentManager.PROPERTY_USE_CACHED_RESOLVED_URI,
+						true);
+				DOMObserver domObserver = new DOMObserver(structuredModel);
+				domObserver.setGrammarInferenceEnabled(useInferredGrammar);
+				domObserver.init();
+			}
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see
+	 * org.eclipse.wst.sse.ui.internal.provisional.registry.AdapterFactoryProvider
+	 * #
+	 * isFor(org.eclipse.wst.sse.core.internal.ltk.modelhandler.IDocumentTypeHandler
+	 * )
+	 */
+	@Override
+	public boolean isFor(IDocumentTypeHandler contentTypeDescription) {
+		return (contentTypeDescription instanceof ModelHandlerForXSL);
+	}
+
+	@Override
+	public void reinitializeFactories(IStructuredModel structuredModel) {
+		// nothing to do, since no embedded type
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/AbstractXSLSemanticHighlighting.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/AbstractXSLSemanticHighlighting.java
new file mode 100644
index 0000000..36f5061
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/AbstractXSLSemanticHighlighting.java
@@ -0,0 +1,102 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Intalio, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (Intalio) - bug 256339 - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.style;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.text.Position;
+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
+import org.eclipse.wst.sse.ui.ISemanticHighlighting;
+import org.eclipse.wst.sse.ui.ISemanticHighlightingExtension;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
+import org.eclipse.wst.xsl.core.XSLCore;
+import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
+
+public abstract class AbstractXSLSemanticHighlighting implements
+		ISemanticHighlightingExtension, ISemanticHighlighting {
+
+	public abstract String getStylePreferenceKey();
+
+	public String getBoldPreferenceKey() {
+		return null;
+	}
+
+	public String getUnderlinePreferenceKey() {
+		return null;
+	}
+
+	public String getStrikethroughPreferenceKey() {
+		return null;
+	}
+
+	public String getItalicPreferenceKey() {
+		return null;
+	}
+
+	public String getColorPreferenceKey() {
+		return null;
+	}
+
+	public IPreferenceStore getPreferenceStore() {
+		return XSLUIPlugin.getDefault().getPreferenceStore();
+	}
+
+	public String getEnabledPreferenceKey() {
+		return null;
+	}
+
+	public String getDisplayName() {
+		return null;
+	}
+
+	public abstract Position[] consumes(IStructuredDocumentRegion region);
+
+	protected List createSemanticPositions(IStructuredDocumentRegion region, String regionType) {
+		if (region == null) {
+			return Collections.EMPTY_LIST;
+		}
+		
+		if (!region.getType().equals(DOMRegionContext.XML_TAG_NAME)) {
+			return Collections.EMPTY_LIST;
+		}
+	
+		ITextRegionList regionList = region.getRegions();
+		
+		ArrayList arrpos = new ArrayList();
+		for (int i = 0; i < regionList.size(); i++) {
+			ITextRegion textRegion = regionList.get(i);
+			if (textRegion.getType().equals(regionType)) {
+				Position pos = new Position(region
+						.getStartOffset(textRegion), textRegion.getLength());
+				arrpos.add(pos);
+			}
+		}
+		return arrpos;
+	}
+
+	public Position[] consumes(IStructuredDocumentRegion documentRegion, IndexedRegion indexedRegion) {
+		if (indexedRegion != null && indexedRegion instanceof IDOMNode) {
+			IDOMNode node = (IDOMNode)indexedRegion;
+			if (XSLCore.isXSLNamespace(node)) {
+				return consumes(documentRegion);
+			}
+		}
+		return null;
+	}
+	
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/LineStyleProviderForXSL.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/LineStyleProviderForXSL.java
index ca234c8..3099d46 100755
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/LineStyleProviderForXSL.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/LineStyleProviderForXSL.java
@@ -45,8 +45,9 @@
  * 
  * @author David Carver
  * @since 1.0
- * 
+ * @deprecated Use AbstractXSLSemanticHighlighting and the SemanticHighlighting extension point
  */
+@Deprecated
 public class LineStyleProviderForXSL extends AbstractLineStyleProvider implements LineStyleProvider {
 
 	protected IStructuredDocument structuredDocument;
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XMLRegionMap.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XMLRegionMap.java
index 13b494e..2dfce45 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XMLRegionMap.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XMLRegionMap.java
@@ -35,6 +35,7 @@
 		regionMap.put(DOMRegionContext.XML_TAG_OPEN, IStyleConstantsXML.TAG_BORDER);
 		regionMap.put(DOMRegionContext.XML_TAG_CLOSE, IStyleConstantsXML.TAG_BORDER);
 		regionMap.put(DOMRegionContext.XML_END_TAG_OPEN, IStyleConstantsXML.TAG_BORDER);
+		regionMap.put(DOMRegionContext.XML_EMPTY_TAG_CLOSE, IStyleConstantsXML.TAG_BORDER);
 		regionMap.put(DOMRegionContext.XML_CDATA_OPEN, IStyleConstantsXML.CDATA_BORDER);
 		regionMap.put(DOMRegionContext.XML_CDATA_CLOSE, IStyleConstantsXML.CDATA_BORDER);
 		regionMap.put(DOMRegionContext.XML_CDATA_TEXT, IStyleConstantsXML.CDATA_TEXT);
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLAttrNameSemanticHighlighting.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLAttrNameSemanticHighlighting.java
new file mode 100644
index 0000000..8b92595
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLAttrNameSemanticHighlighting.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Intalio, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (Intalio) - bug 256339 - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.style;
+
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.text.Position;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.ui.ISemanticHighlighting;
+import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
+
+public class XSLAttrNameSemanticHighlighting extends
+		AbstractXSLSemanticHighlighting implements ISemanticHighlighting {
+
+	public XSLAttrNameSemanticHighlighting() {
+	}
+
+	public String getStylePreferenceKey() {
+		return IStyleConstantsXSL.TAG_ATTRIBUTE_VALUE;
+	}
+
+	@Override
+	public String getEnabledPreferenceKey() {
+		return "xsl.ui.highlighting.tag.enabled"; //$NON-NLS-1$
+	}
+
+	public Position[] consumes(IStructuredDocumentRegion region) {
+		ArrayList array = new ArrayList();
+		array.addAll(createSemanticPositions(region, DOMRegionContext.XML_TAG_ATTRIBUTE_NAME));
+		Position[] allPos = new Position[array.size()];
+		if (!array.isEmpty()) {
+			array.toArray(allPos);
+		}
+		return allPos;
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLAttrValueSemanticHighlighting.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLAttrValueSemanticHighlighting.java
new file mode 100644
index 0000000..836baf7
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLAttrValueSemanticHighlighting.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Intalio, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (Intalio) - bug 256339 - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.style;
+
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.text.Position;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.ui.ISemanticHighlighting;
+import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
+
+public class XSLAttrValueSemanticHighlighting extends
+		AbstractXSLSemanticHighlighting implements ISemanticHighlighting {
+
+	public XSLAttrValueSemanticHighlighting() {
+	}
+
+	public String getStylePreferenceKey() {
+		return IStyleConstantsXSL.TAG_ATTRIBUTE_VALUE;
+	}
+
+	@Override
+	public String getEnabledPreferenceKey() {
+		return "xsl.ui.highlighting.tag.enabled"; //$NON-NLS-1$
+	}
+
+	public Position[] consumes(IStructuredDocumentRegion region) {
+		ArrayList array = new ArrayList();
+		array.addAll(createSemanticPositions(region, DOMRegionContext.XML_TAG_ATTRIBUTE_VALUE));
+		Position[] allPos = new Position[array.size()];
+		if (!array.isEmpty()) {
+			array.toArray(allPos);
+		}
+		return allPos;	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLTagDelimsSemanticHighlighting.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLTagDelimsSemanticHighlighting.java
new file mode 100644
index 0000000..5812907
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLTagDelimsSemanticHighlighting.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Intalio, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (Intalio) - bug 256339 - initial API and implementation
+ *                            - bug 307924 - Fix NPE when textRegion is null.
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.style;
+
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.jface.text.Position;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegionList;
+import org.eclipse.wst.sse.ui.ISemanticHighlighting;
+import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
+
+public class XSLTagDelimsSemanticHighlighting extends
+		AbstractXSLSemanticHighlighting implements ISemanticHighlighting {
+
+	public XSLTagDelimsSemanticHighlighting() {
+	}
+
+	public String getStylePreferenceKey() {
+		return IStyleConstantsXSL.TAG_BORDER;
+	}
+
+	@Override
+	public String getEnabledPreferenceKey() {
+		return "xsl.ui.highlighting.tag.enabled"; //$NON-NLS-1$
+	}
+
+	public Position[] consumes(IStructuredDocumentRegion region) {
+		
+		List openPos = createSemanticPositions(region.getFirstRegion(), region, DOMRegionContext.XML_TAG_OPEN);
+		List endOpenPos = createSemanticPositions(region.getFirstRegion(), region, DOMRegionContext.XML_END_TAG_OPEN);
+		List emptyTagClose = createSemanticPositions(region, DOMRegionContext.XML_EMPTY_TAG_CLOSE);
+		List closePos = createSemanticPositions(region,	DOMRegionContext.XML_TAG_CLOSE);
+		ArrayList arrpos = new ArrayList();
+		arrpos.addAll(openPos);
+		arrpos.addAll(closePos);
+		arrpos.addAll(endOpenPos);
+		arrpos.addAll(emptyTagClose);
+		Position[] allPos = new Position[arrpos.size()];
+		if (!arrpos.isEmpty()) {
+			arrpos.toArray(allPos);
+		}
+		return allPos;
+	}
+	
+	protected List createSemanticPositions(ITextRegion textRegion, IStructuredDocumentRegion region, String regionType) {
+		ArrayList arrpos = new ArrayList();
+		if (textRegion == null) {
+			return Collections.EMPTY_LIST;
+		}
+	
+		if (regionType.equals(textRegion.getType())) {
+			Position pos = new Position(region
+					.getStartOffset(textRegion), textRegion.getLength());
+			arrpos.add(pos);
+		}
+		return arrpos;
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLTagNameSemanticHighlighting.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLTagNameSemanticHighlighting.java
new file mode 100644
index 0000000..fc450be
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/style/XSLTagNameSemanticHighlighting.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Intalio, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (Intalio) - bug 256339 - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.style;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.text.Position;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.ui.ISemanticHighlighting;
+import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
+
+public class XSLTagNameSemanticHighlighting extends AbstractXSLSemanticHighlighting implements ISemanticHighlighting {
+
+	public XSLTagNameSemanticHighlighting() {
+	}
+
+	public String getStylePreferenceKey() {
+		return IStyleConstantsXSL.TAG_NAME;
+	}
+	
+	@Override
+	public String getEnabledPreferenceKey() {
+		return "xsl.ui.highlighting.tag.enabled"; //$NON-NLS-1$
+	}
+
+	public Position[] consumes(IStructuredDocumentRegion region) {
+		ArrayList array = new ArrayList();
+		array.addAll(createSemanticPositions(region, DOMRegionContext.XML_TAG_NAME));
+		Position[] allPos = new Position[array.size()];
+		if (!array.isEmpty()) {
+			array.toArray(allPos);
+		}
+		return allPos;
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/templates/TemplateContextTypeXSL.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/templates/TemplateContextTypeXSL.java
index 0b1d83f..08ed91f 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/templates/TemplateContextTypeXSL.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/templates/TemplateContextTypeXSL.java
@@ -7,6 +7,7 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (Intalio) - bug 289498 - Added additional context types.
  *******************************************************************************/
 package org.eclipse.wst.xsl.ui.internal.templates;
 
@@ -16,6 +17,11 @@
 
 public class TemplateContextTypeXSL extends TemplateContextType
 {
+	public static final String XSL_TAG = "xsl_tag"; //$NON-NLS-1$
+	public static final String XSL_ATTR = "xsl_attr"; //$NON-NLS-1$
+	public static final String XSL_NEW = "xsl_new"; //$NON-NLS-1$
+	
+	
 	public TemplateContextTypeXSL()
 	{
 		super();
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/templates/XSLTemplatesPage.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/templates/XSLTemplatesPage.java
index b766c56..6936e30 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/templates/XSLTemplatesPage.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/templates/XSLTemplatesPage.java
@@ -7,6 +7,7 @@
  * 
  * Contributors:
  *     David Carver (STAR) - initial API and implementation
+ *     David Carver (STAR) - bug 297027 - compilation error on getTemplateStore()
  *******************************************************************************/
 package org.eclipse.wst.xsl.ui.internal.templates;
 
@@ -28,8 +29,8 @@
 import org.eclipse.ui.texteditor.templates.AbstractTemplatesPage;
 import org.eclipse.wst.xml.xpath.ui.internal.XPathUIPlugin;
 import org.eclipse.wst.xml.xpath.ui.internal.templates.TemplateContextTypeIdsXPath;
-import org.eclipse.wst.xsl.ui.internal.contentassist.CustomCompletionProposal;
 import org.eclipse.wst.xsl.ui.internal.editor.XSLEditor;
+import org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal;
 
 /**
  * The XSL Templates Page is used by the TemplatesViewer to display available
@@ -83,8 +84,12 @@
 		return PREFERENCE_STORE;
 	}
 
+	/**
+	 * 
+	 * @since 1.1 Changed due to platform change
+	 */
 	@Override
-	protected TemplateStore getTemplateStore() {
+	public TemplateStore getTemplateStore() {
 		return TEMPLATE_STORE;
 	}
 
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/util/XSLPluginImages.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/util/XSLPluginImages.java
index c0d068a..d53cd22 100755
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/util/XSLPluginImages.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/util/XSLPluginImages.java
@@ -53,7 +53,22 @@
 	/**
 	 * Path to the xsl template image use for Content Assistance.
 	 */
-	public static final String IMG_TEMPLATE = "icons/full/template.gif"; //$NON-NLS-1$ 
+	public static final String IMG_TEMPLATE = "icons/full/template.gif"; //$NON-NLS-1$
+	
+	public static final String IMG_ELM_STYLESHET = "icons/full/xslt_launch.gif"; //$NON-NLS-1$
+	
+	public static final String IMG_ELM_IMPORT_INCLUDE = "icons/full/import.gif"; //$NON-NLS-1$
+	
+	public static final String IMG_ELM_TEMPLATE = "icons/full/package_obj.gif"; //$NON-NLS-1$
+	
+	public static final String IMG_ELM_TEMPLATE_NAME = "icons/full/templatenamed_obj.gif"; //$NON-NLS-1$
+
+	
+	public static final String IMG_ELM_VARIABLE = "icons/full/field_default_obj.gif"; //$NON-NLS-1$
+	
+	public static final String IMG_ELM_FUNCTION = "icons/full/function.gif"; //$NON-NLS-1$
+	
+	
 	
 	
 }
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/validation/DelegatingSourceValidatorForXSL.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/validation/DelegatingSourceValidatorForXSL.java
index 777c388..d23dd03 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/validation/DelegatingSourceValidatorForXSL.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/validation/DelegatingSourceValidatorForXSL.java
@@ -23,14 +23,12 @@
 import org.eclipse.wst.validation.ValidationFramework;
 import org.eclipse.wst.validation.Validator;
 import org.eclipse.wst.validation.internal.core.ValidationException;
-import org.eclipse.wst.validation.internal.provisional.core.IMessage;
 import org.eclipse.wst.validation.internal.provisional.core.IReporter;
 import org.eclipse.wst.validation.internal.provisional.core.IValidationContext;
 import org.eclipse.wst.validation.internal.provisional.core.IValidator;
 import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
 import org.eclipse.wst.xml.ui.internal.validation.DelegatingSourceValidator;
 import org.eclipse.wst.xsl.ui.internal.editor.XSLEditor;
-import org.eclipse.wst.xsl.ui.internal.quickassist.ValidationQuickAssist;
 
 /**
  * This performs the as-you-type validation for xsl files
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/ListWorkbenchAdapter.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/ListWorkbenchAdapter.java
similarity index 93%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/ListWorkbenchAdapter.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/ListWorkbenchAdapter.java
index 8b5a7c5..fae334c 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/ListWorkbenchAdapter.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/ListWorkbenchAdapter.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.xsl.ui.internal;
+package org.eclipse.wst.xsl.ui.internal.views.stylesheet;
 
 import java.util.List;
 
@@ -16,6 +16,7 @@
 import org.eclipse.ui.model.IWorkbenchAdapter;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.eclipse.wst.xsl.core.model.Stylesheet;
+import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
 
 public class ListWorkbenchAdapter implements IWorkbenchAdapter
 {
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/StylesheetView.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/StylesheetModelView.java
similarity index 92%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/StylesheetView.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/StylesheetModelView.java
index cbf5762..f3f7409 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/StylesheetView.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/StylesheetModelView.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2008, 2009 Chase Technology Ltd and others
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -7,8 +7,9 @@
  *
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (STAR) - bug 244674 - Enhanced and cleaned up view 
  *******************************************************************************/
-package org.eclipse.wst.xsl.ui.internal;
+package org.eclipse.wst.xsl.ui.internal.views.stylesheet;
 
 import org.eclipse.jface.viewers.DoubleClickEvent;
 import org.eclipse.jface.viewers.IDoubleClickListener;
@@ -39,7 +40,7 @@
  * 
  *
  */
-public class StylesheetView extends ViewPart
+public class StylesheetModelView extends ViewPart
 {
 	private IEditorPart activeEditor;
 	//private boolean isFiringSelection;
@@ -113,7 +114,7 @@
 
 			public void selectionChanged(SelectionChangedEvent event)
 			{
-				if (getSite().getPage().getActivePart() == StylesheetView.this)
+				if (getSite().getPage().getActivePart() == StylesheetModelView.this)
 					handleTreeSelection((IStructuredSelection)event.getSelection(),false);
 			}
 		});
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLModelAdapterFactory.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/XSLModelAdapterFactory.java
similarity index 94%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLModelAdapterFactory.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/XSLModelAdapterFactory.java
index 8436b34..f2ca67f 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/XSLModelAdapterFactory.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/XSLModelAdapterFactory.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.xsl.ui.internal;
+package org.eclipse.wst.xsl.ui.internal.views.stylesheet;
 
 import org.eclipse.core.runtime.IAdapterFactory;
 import org.eclipse.ui.model.IWorkbenchAdapter;
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/XSLWorkbenchAdapter.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/XSLWorkbenchAdapter.java
new file mode 100644
index 0000000..0386dfc
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/views/stylesheet/XSLWorkbenchAdapter.java
@@ -0,0 +1,127 @@
+/*******************************************************************************
+ * Copyright (c) 2008 Chase Technology Ltd and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
+ *     David Carver (STAR) - bug 244674 - Enhanced and cleaned up view 
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.internal.views.stylesheet;
+
+import java.util.ArrayList;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.model.IWorkbenchAdapter;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.wst.xsl.core.model.Import;
+import org.eclipse.wst.xsl.core.model.Include;
+import org.eclipse.wst.xsl.core.model.Stylesheet;
+import org.eclipse.wst.xsl.core.model.Template;
+import org.eclipse.wst.xsl.core.model.Variable;
+import org.eclipse.wst.xsl.core.model.Function;
+import org.eclipse.wst.xsl.core.model.XSLModelObject;
+import org.eclipse.wst.xsl.ui.internal.XSLUIPlugin;
+import org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages;
+
+class XSLWorkbenchAdapter implements IWorkbenchAdapter {
+	private final Object[] EMPTY = new Object[0];
+
+	public Object[] getChildren(Object o) {
+		if (o instanceof XSLModelObject) {
+			XSLModelObject obj = (XSLModelObject) o;
+			switch (obj.getModelType()) {
+			case STYLESHEET:
+				Stylesheet stylesheet = (Stylesheet) obj;
+				ArrayList modelItems = new ArrayList();
+				modelItems.add(new ListWorkbenchAdapter(stylesheet, null, stylesheet.getVersion(), XSLPluginImages.IMG_ELM_STYLESHET));
+				modelItems.add(new ListWorkbenchAdapter(stylesheet, stylesheet.getImports(), "Imports", XSLPluginImages.IMG_ELM_IMPORT_INCLUDE)); //$NON-NLS-1$
+				modelItems.add(new ListWorkbenchAdapter(stylesheet, stylesheet.getIncludes(), "Includes", XSLPluginImages.IMG_ELM_IMPORT_INCLUDE)); //$NON-NLS-1$
+				modelItems.add(new ListWorkbenchAdapter(stylesheet, stylesheet.getGlobalVariables(), "Variables", XSLPluginImages.IMG_ELM_VARIABLE)); //$NON-NLS-1$
+				modelItems.add(new ListWorkbenchAdapter(stylesheet, stylesheet.getTemplates(), "Templates", XSLPluginImages.IMG_ELM_TEMPLATE)); //$NON-NLS-1$
+				if (stylesheet.getFunctions().size() > 0) {
+					modelItems.add(new ListWorkbenchAdapter(stylesheet, stylesheet.getTemplates(), "Functions", XSLPluginImages.IMG_ELM_FUNCTION)); //$NON-NLS-1$
+				}
+				return modelItems.toArray();
+			}
+		}
+		return EMPTY;
+	}
+
+	public ImageDescriptor getImageDescriptor(Object object) {
+		XSLModelObject obj = (XSLModelObject) object;
+		String path = null;
+		switch (obj.getModelType()) {
+		case STYLESHEET:
+			path = XSLPluginImages.IMG_ELM_STYLESHET; 
+			break;
+		case IMPORT:
+		case INCLUDE:
+			path = XSLPluginImages.IMG_ELM_IMPORT_INCLUDE;
+			break;
+		case TEMPLATE: {
+			Template template = (Template) obj;
+			if (template.getName() != null) {
+				path = XSLPluginImages.IMG_ELM_TEMPLATE_NAME; 
+			} else {
+				path =  XSLPluginImages.IMG_ELM_TEMPLATE;
+			}
+			break;
+		}
+		case VARIABLE:
+			path = XSLPluginImages.IMG_ELM_VARIABLE;
+			break;
+		case FUNCTION:
+			path = XSLPluginImages.IMG_ELM_FUNCTION;
+			break;
+			
+		}
+		return path == null ? null : AbstractUIPlugin.imageDescriptorFromPlugin(
+				XSLUIPlugin.PLUGIN_ID, path);
+	}
+
+	public String getLabel(Object o) {
+		String label = null;
+		XSLModelObject obj = (XSLModelObject) o;
+		switch (obj.getModelType()) {
+		case STYLESHEET:
+			Stylesheet stylesheet = (Stylesheet) obj;
+			label = stylesheet.getVersion() == null ? "?" : stylesheet //$NON-NLS-1$
+					.getVersion();
+			break;
+		case IMPORT:
+			Import imp = (Import) obj;
+			label = imp.getHref();
+			break;
+		case INCLUDE:
+			Include inc = (Include) obj;
+			label = inc.getHref();
+			break;
+		case TEMPLATE:
+			Template t = (Template) obj;
+			StringBuffer sb = new StringBuffer();
+			if (t.getName() != null)
+				sb.append(t.getName()).append(" "); //$NON-NLS-1$
+			if (t.getMatch() != null)
+				sb.append(t.getMatch()).append(" "); //$NON-NLS-1$
+			if (t.getMode() != null)
+				sb.append("(").append(t.getMode()).append(")");  //$NON-NLS-1$//$NON-NLS-2$
+			label = sb.toString();
+			break;
+		case VARIABLE:
+			Variable v = (Variable) obj;
+			label = v.getName();
+			break;
+		case FUNCTION:
+			Function f = (Function) obj;
+			label = f.getName();
+		}
+		return label;
+	}
+
+	public Object getParent(Object o) {
+		return null;
+	}
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/wizards/NewXSLFileTemplatesWizardPage.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/wizards/NewXSLFileTemplatesWizardPage.java
index 910a785..96b3fa9 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/wizards/NewXSLFileTemplatesWizardPage.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/wizards/NewXSLFileTemplatesWizardPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2008, 2010 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
  *     David Carver (bug 271916) STAR - externalize strings for New XSL.
+ *     Jesper Steen Moller - bug 289799 - React to the 'cursor' variable in the template
  *******************************************************************************/
 package org.eclipse.wst.xsl.ui.internal.wizards;
 
@@ -24,6 +25,7 @@
 import org.eclipse.jface.text.templates.TemplateBuffer;
 import org.eclipse.jface.text.templates.TemplateContext;
 import org.eclipse.jface.text.templates.TemplateContextType;
+import org.eclipse.jface.text.templates.TemplateVariable;
 import org.eclipse.jface.text.templates.persistence.TemplateStore;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -250,7 +252,7 @@
 			}
 		};
 		SourceViewer viewer = new StructuredTextViewer(parent, null, null, false, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
-		((StructuredTextViewer) viewer).getTextWidget().setFont(JFaceResources.getFont("org.eclipse.wst.sse.ui.textfont")); //$NON-NLS-1$
+		viewer.getTextWidget().setFont(JFaceResources.getFont("org.eclipse.wst.sse.ui.textfont")); //$NON-NLS-1$
 		IStructuredModel scratchModel = StructuredModelManager.getModelManager().createUnManagedStructuredModelFor(ContentTypeIdForXML.ContentTypeID_XML);
 		IDocument document = scratchModel.getStructuredDocument();
 		viewer.configure(sourceViewerConfiguration);
@@ -314,9 +316,10 @@
 		return template;
 	}
 
-	String getTemplateString()
+	String getTemplateString(int[] offset)
 	{
 		String templateString = null;
+		offset[0] = 0;
 
 		Template template = getSelectedTemplate();
 		if (template != null)
@@ -328,6 +331,12 @@
 			{
 				TemplateBuffer buffer = context.evaluate(template);
 				templateString = buffer.getString();
+				for(TemplateVariable t : buffer.getVariables())
+				{
+					if (t.getName().equals(org.eclipse.jface.text.templates.GlobalTemplateVariables.Cursor.NAME)) {
+						if (t.getOffsets().length > 0) offset[0] = t.getOffsets()[0];
+					}
+				}
 			}
 			catch (Exception e)
 			{
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/wizards/NewXSLFileWizard.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/wizards/NewXSLFileWizard.java
index 764bbc3..b981fb2 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/wizards/NewXSLFileWizard.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/wizards/NewXSLFileWizard.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2008, 2009 Chase Technology Ltd - http://www.chasetechnology.co.uk
+ * Copyright (c) 2008, 2010 Chase Technology Ltd - http://www.chasetechnology.co.uk
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
  * Contributors:
  *     Doug Satchwell (Chase Technology Ltd) - initial API and implementation
  *     David Carver (STAR) - bug 271883 - ArrayIndexOutOfBounds on New XSL with no projects
+ *     Jesper Steen Moller - bug 289799 - React to the 'cursor' variable in the template
  *******************************************************************************/
 package org.eclipse.wst.xsl.ui.internal.wizards;
 
@@ -16,18 +17,23 @@
 import java.io.OutputStreamWriter;
 
 import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.Preferences;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorDescriptor;
+import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.texteditor.ITextEditor;
 import org.eclipse.wst.sse.core.internal.encoding.CommonEncodingPreferenceNames;
 import org.eclipse.wst.xml.core.internal.XMLCorePlugin;
 import org.eclipse.wst.xsl.ui.internal.Messages;
@@ -38,7 +44,6 @@
 	private NewXSLFileWizardPage fNewFilePage;
 	private NewXSLFileTemplatesWizardPage fNewFileTemplatesPage;
 	private IStructuredSelection fSelection;
-	private IWorkbench workbench;
 
 	@Override
 	public void addPages()
@@ -56,7 +61,6 @@
 
 	public void init(IWorkbench aWorkbench, IStructuredSelection aSelection)
 	{
-		this.workbench = aWorkbench;
 		fSelection = aSelection;
 		setWindowTitle(Messages.NewXSLFilePageWindowTitle);
 	}
@@ -80,12 +84,13 @@
 		// create a new empty file
 		IFile file = fNewFilePage.createNewFile();
 
+		int offset[] = new int[1];
 		// if there was problem with creating file, it will be null, so make
 		// sure to check
 		if (file != null)
 		{
 			// put template contents into file
-			String templateString = fNewFileTemplatesPage.getTemplateString();
+			String templateString = fNewFileTemplatesPage.getTemplateString(offset);
 			if (templateString != null)
 			{
 				// determine the encoding for the new file
@@ -118,7 +123,7 @@
 			}
 
 			// open the file in editor
-			openEditor(file);
+			openEditor(file, offset[0]);
 
 			// everything's fine
 			performedOK = true;
@@ -126,25 +131,40 @@
 		return performedOK;
 	}
 
-	private void openEditor(final IFile file)
+	private void openEditor(final IFile file, final int cursorOffset)
 	{
-		if (file != null)
-		{
-			getShell().getDisplay().asyncExec(new Runnable()
-			{
-				public void run()
-				{
-					try
-					{
-						IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-						IDE.openEditor(page, file, true);
-					}
-					catch (PartInitException e)
-					{
-						XSLUIPlugin.log(e);
+		// Open editor on new file.
+		String editorId = null;
+		try {
+			IEditorDescriptor editor = PlatformUI.getWorkbench().getEditorRegistry().getDefaultEditor(file.getFullPath().toString(), file.getContentDescription().getContentType());
+			if (editor != null) {
+				editorId = editor.getId();
+			}
+		}
+		catch (CoreException e1) {
+			// editor id could not be retrieved, so we can not open editor
+			return;
+		}
+		final String finalEditorId = editorId;
+		Display.getDefault().asyncExec(new Runnable() {
+			public void run() {
+				IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+				try {
+					if (dw != null) {
+						IWorkbenchPage page = dw.getActivePage();
+						if (page != null) {
+							IEditorPart editor = page.openEditor(new FileEditorInput(file), finalEditorId, true);
+							ITextEditor textEditor = (ITextEditor)editor.getAdapter(ITextEditor.class);
+							if (textEditor != null) textEditor.selectAndReveal(cursorOffset, 0);
+							editor.setFocus();
+						}
 					}
 				}
-			});
-		}
+				catch (PartInitException e) {
+					// editor can not open for some reason
+					XSLUIPlugin.log(e);
+				}
+			}
+		});
 	}
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AbstractXMLElementContentAssistRequest.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/AbstractXMLElementContentAssistRequest.java
similarity index 98%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AbstractXMLElementContentAssistRequest.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/AbstractXMLElementContentAssistRequest.java
index 3f63371..3bcd058 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AbstractXMLElementContentAssistRequest.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/AbstractXMLElementContentAssistRequest.java
@@ -8,13 +8,15 @@
  *Contributors:
  *    David Carver (STAR)  - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.xsl.ui.internal.contentassist;
+package org.eclipse.wst.xsl.ui.provisional.contentassist;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Vector;
 
+import javax.xml.transform.TransformerException;
+
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
@@ -45,7 +47,7 @@
  * proposals using the XML Content Model.
  * 
  * @author David Carver
- *
+ * @since 1.1
  */
 public abstract class AbstractXMLElementContentAssistRequest extends AbstractXSLContentAssistRequest {
 
@@ -168,7 +170,10 @@
 		try {
 			ancestorNode = XSLTXPathHelper.selectSingleNode(getNode(),
 					XPATH_FIRST_XSLANCESTOR_NODE);
-		} catch (Exception ex) {
+		} catch (TransformerException ex) {
+			
+		}
+		if (ancestorNode == null) {
 			return;
 		}
 	
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/AbstractXSLContentAssistProcessor.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/AbstractXSLContentAssistProcessor.java
new file mode 100644
index 0000000..ed02b42
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/AbstractXSLContentAssistProcessor.java
@@ -0,0 +1,307 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.provisional.contentassist;
+
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion;
+import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion;
+import org.eclipse.wst.sse.ui.internal.contentassist.ContentAssistUtils;
+import org.eclipse.wst.xml.core.internal.provisional.document.IDOMNode;
+import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext;
+import org.w3c.dom.Node;
+
+/**
+ * This is an Abstract class that implementors should extend for implementing
+ * XSL Content Assist Processors.   It provides common convience methods for
+ * information that is needed to construct a content assist processor.
+ * 
+ * @author dcarver
+ * @since 1.1
+ */
+public abstract class AbstractXSLContentAssistProcessor implements IXSLContentAssistProcessor {
+
+	protected String errorMessage = ""; //$NON-NLS-1$
+	protected ITextViewer textViewer = null;
+	private IndexedRegion treeNode;
+	private Node node;
+	protected IDOMNode xmlNode;
+	protected IStructuredDocumentRegion sdRegion;
+	protected ITextRegion completionRegion;
+	protected String matchString;
+	protected int cursorPosition;
+
+	/**
+	 * @param textViewer
+	 * @param documentPosition
+	 */
+	protected void initializeProposalVariables(ITextViewer textViewer, int documentPosition) {
+		this.textViewer = textViewer;
+		cursorPosition = documentPosition;
+		treeNode = ContentAssistUtils.getNodeAt(textViewer, cursorPosition);
+		node = getActualDOMNode((Node) treeNode);
+		xmlNode = (IDOMNode) node;
+		sdRegion = getStructuredDocumentRegion();
+		completionRegion = getCompletionRegion(cursorPosition, node);
+		matchString = getMatchString(sdRegion, completionRegion, cursorPosition);
+	}
+
+	/**
+	 * @param node
+	 * @return
+	 */
+	private Node getActualDOMNode(Node node) {
+		while ((node != null) && (node.getNodeType() == Node.TEXT_NODE)
+				&& (node.getParentNode() != null)) {
+			node = node.getParentNode();
+		}
+		return node;
+	}
+
+	/**
+	 * StructuredTextViewer must be set before using this.
+	 * 
+	 * @param pos
+	 * @return
+	 */
+	private IStructuredDocumentRegion getStructuredDocumentRegion() {
+		return ContentAssistUtils.getStructuredDocumentRegion(textViewer,
+				cursorPosition);
+	}
+
+	/**
+	 * Return the region whose content's require completion. This is something
+	 * of a misnomer as sometimes the user wants to be prompted for contents of
+	 * a non-existent ITextRegion, such as for enumerated attribute values
+	 * following an '=' sign.
+	 * 
+	 * Copied from AbstractContentAssist Processor.
+	 */
+	protected ITextRegion getCompletionRegion(int documentPosition, Node domnode) {
+		if (domnode == null) {
+			return null;
+		}
+	
+		ITextRegion region = null;
+		int offset = documentPosition;
+		IStructuredDocumentRegion flatNode = null;
+		IDOMNode node = (IDOMNode) domnode;
+	
+		if (node.getNodeType() == Node.DOCUMENT_NODE) {
+			if (node.getStructuredDocument().getLength() == 0) {
+				return null;
+			}
+			ITextRegion result = node.getStructuredDocument()
+					.getRegionAtCharacterOffset(offset)
+					.getRegionAtCharacterOffset(offset);
+			while (result == null) {
+				offset--;
+				result = node.getStructuredDocument()
+						.getRegionAtCharacterOffset(offset)
+						.getRegionAtCharacterOffset(offset);
+			}
+			return result;
+		}
+	
+		IStructuredDocumentRegion startTag = node
+				.getStartStructuredDocumentRegion();
+		IStructuredDocumentRegion endTag = node
+				.getEndStructuredDocumentRegion();
+	
+		if ((startTag != null) && (startTag.getStartOffset() <= offset)
+				&& (offset < startTag.getStartOffset() + startTag.getLength())) {
+			flatNode = startTag;
+		} else if ((endTag != null) && (endTag.getStartOffset() <= offset)
+				&& (offset < endTag.getStartOffset() + endTag.getLength())) {
+			flatNode = endTag;
+		}
+	
+		if (flatNode != null) {
+			region = getCompletionRegion(offset, flatNode);
+		} else {
+			flatNode = node.getStructuredDocument().getRegionAtCharacterOffset(
+					offset);
+			if ((flatNode.getStartOffset() <= documentPosition)
+					&& (flatNode.getEndOffset() >= documentPosition)) {
+				if ((offset == flatNode.getStartOffset())
+						&& (flatNode.getPrevious() != null)
+						&& (((flatNode
+								.getRegionAtCharacterOffset(documentPosition) != null) && (flatNode
+								.getRegionAtCharacterOffset(documentPosition)
+								.getType() != DOMRegionContext.XML_CONTENT))
+								|| (flatNode.getPrevious().getLastRegion()
+										.getType() == DOMRegionContext.XML_TAG_OPEN) || (flatNode
+								.getPrevious().getLastRegion().getType() == DOMRegionContext.XML_END_TAG_OPEN))) {
+					region = flatNode.getPrevious().getLastRegion();
+				} else if (flatNode.getEndOffset() == documentPosition) {
+					region = flatNode.getLastRegion();
+				} else {
+					region = flatNode.getFirstRegion();
+				}
+			} else {
+				region = flatNode.getLastRegion();
+			}
+		}
+	
+		return region;
+	}
+
+	protected ITextRegion getCompletionRegion(int offset, IStructuredDocumentRegion sdRegion) {
+		ITextRegion region = sdRegion.getRegionAtCharacterOffset(offset);
+		if (region == null) {
+			return null;
+		}
+	
+		if (sdRegion.getStartOffset(region) == offset) {
+			// The offset is at the beginning of the region
+			if ((sdRegion.getStartOffset(region) == sdRegion.getStartOffset())
+					&& (sdRegion.getPrevious() != null)
+					&& (!sdRegion.getPrevious().isEnded())) {
+				region = sdRegion.getPrevious().getRegionAtCharacterOffset(
+						offset - 1);
+			} else {
+				// Is there no separating whitespace from the previous region?
+				// If not,
+				// then that region is the important one
+				ITextRegion previousRegion = sdRegion
+						.getRegionAtCharacterOffset(offset - 1);
+				if ((previousRegion != null)
+						&& (previousRegion != region)
+						&& (previousRegion.getTextLength() == previousRegion
+								.getLength())) {
+					region = previousRegion;
+				}
+			}
+		} else {
+			// The offset is NOT at the beginning of the region
+			if (offset > sdRegion.getStartOffset(region)
+					+ region.getTextLength()) {
+				// Is the offset within the whitespace after the text in this
+				// region?
+				// If so, use the next region
+				ITextRegion nextRegion = sdRegion
+						.getRegionAtCharacterOffset(sdRegion
+								.getStartOffset(region)
+								+ region.getLength());
+				if (nextRegion != null) {
+					region = nextRegion;
+				}
+			} else {
+				// Is the offset within the important text for this region?
+				// If so, then we've already got the right one.
+			}
+		}
+	
+		// valid WHITE_SPACE region handler (#179924)
+		if ((region != null)
+				&& (region.getType() == DOMRegionContext.WHITE_SPACE)) {
+			ITextRegion previousRegion = sdRegion
+					.getRegionAtCharacterOffset(sdRegion.getStartOffset(region) - 1);
+			if (previousRegion != null) {
+				region = previousRegion;
+			}
+		}
+	
+		return region;
+	}
+
+	private String getMatchString(IStructuredDocumentRegion parent, ITextRegion aRegion, int offset) {
+		String matchString = ""; //$NON-NLS-1$
+		
+		if (isNotMatchStringRegion(parent, aRegion, offset)) {
+			return matchString; 
+		}
+	
+		if (hasMatchString(parent, aRegion, offset)) {
+			matchString = extractMatchString(parent, aRegion, offset);
+		}
+		return matchString;
+	}
+
+	private boolean isNotMatchStringRegion(IStructuredDocumentRegion parent, ITextRegion aRegion, int offset) {
+		if (aRegion == null || parent == null)
+			return true;
+		
+		String regionType = aRegion.getType();
+		int totalRegionOffset = parent.getStartOffset(aRegion)
+				+ aRegion.getTextLength();
+		return (isCloseRegion(aRegion)
+				|| hasNoMatchString(offset, regionType, totalRegionOffset));
+	}
+
+	private boolean isCloseRegion(ITextRegion region) {
+		String type = region.getType();
+		return ((type == DOMRegionContext.XML_PI_CLOSE)
+				|| (type == DOMRegionContext.XML_TAG_CLOSE)
+				|| (type == DOMRegionContext.XML_EMPTY_TAG_CLOSE)
+				|| (type == DOMRegionContext.XML_CDATA_CLOSE)
+				|| (type == DOMRegionContext.XML_COMMENT_CLOSE)
+				|| (type == DOMRegionContext.XML_ATTLIST_DECL_CLOSE)
+				|| (type == DOMRegionContext.XML_ELEMENT_DECL_CLOSE)
+				|| (type == DOMRegionContext.XML_DOCTYPE_DECLARATION_CLOSE) || (type == DOMRegionContext.XML_DECLARATION_CLOSE));
+	}
+
+	private boolean hasMatchString(IStructuredDocumentRegion parent, ITextRegion aRegion, int offset) {
+		return (parent.getText(aRegion).length() > 0)
+				&& (parent.getStartOffset(aRegion) < offset);
+	}
+
+	private boolean hasNoMatchString(int offset, String regionType, int totalRegionOffset) {
+		return regionType.equals(DOMRegionContext.XML_CONTENT)
+				|| regionType.equals(DOMRegionContext.XML_TAG_ATTRIBUTE_EQUALS)
+				|| regionType.equals(DOMRegionContext.XML_TAG_OPEN)
+				|| offset > totalRegionOffset;
+	}
+
+	private String extractMatchString(IStructuredDocumentRegion parent, ITextRegion aRegion, int offset) {
+		String matchString;
+		matchString = parent.getText(aRegion).substring(0,
+				offset - parent.getStartOffset(aRegion));
+		if (matchString.startsWith("\"")) { //$NON-NLS-1$
+			matchString = matchString.substring(1);
+		}
+		return matchString;
+	}
+
+	/**
+	 * (non-Javadoc)
+	 * 
+	 * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getErrorMessage()
+	 */
+	public String getErrorMessage() {
+		return errorMessage;
+	}
+
+	/**
+	 * Sets the error message for why content assistance didn't complete.
+	 * 
+	 * @param errorMessage
+	 */
+	public void setErrorMessage(String errorMessage) {
+		this.errorMessage = errorMessage;
+	}
+
+	/**
+	 * Returns the characters which when entered by the user should
+	 * automatically trigger the presentation of possible completions.
+	 * 
+	 * the auto activation characters for completion proposal or
+	 * <code>null</code> if no auto activation is desired
+	 * 
+	 * @return an array of activation characters
+	 */
+	public char[] getCompletionProposalAutoActivationCharacters() {
+		char[] completionProposals = { '"', '\'', ':', '[', '{', '<' };
+	
+		return completionProposals;
+	}
+
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AbstractXSLContentAssistRequest.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/AbstractXSLContentAssistRequest.java
similarity index 98%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AbstractXSLContentAssistRequest.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/AbstractXSLContentAssistRequest.java
index 177f8cc..229ca15 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/AbstractXSLContentAssistRequest.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/AbstractXSLContentAssistRequest.java
@@ -1,4 +1,4 @@
-package org.eclipse.wst.xsl.ui.internal.contentassist;
+package org.eclipse.wst.xsl.ui.provisional.contentassist;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -30,7 +30,7 @@
  * class and implement specific functionality.
  * 
  * @author dcarver
- *
+ * @since 1.1
  */
 public abstract class AbstractXSLContentAssistRequest implements IContentAssistProposalRequest {
 	protected IStructuredDocumentRegion documentRegion = null;
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/CustomCompletionProposal.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/CustomCompletionProposal.java
similarity index 85%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/CustomCompletionProposal.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/CustomCompletionProposal.java
index 37a5e8a..6293ab1 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/CustomCompletionProposal.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/CustomCompletionProposal.java
@@ -1,17 +1,24 @@
-package org.eclipse.wst.xsl.ui.internal.contentassist;
+package org.eclipse.wst.xsl.ui.provisional.contentassist;
 
 import org.eclipse.jface.text.contentassist.ICompletionProposalExtension4;
 import org.eclipse.jface.text.contentassist.IContextInformation;
 import org.eclipse.swt.graphics.Image;
 
+/**
+ * Adopters can use the class to help build a custom content completion proposal.  
+ * @author dcarver
+ * @since 1.1
+ *
+ */
 public class CustomCompletionProposal extends
 		org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal
 		implements ICompletionProposalExtension4 {
 
 	/**
-	 * @param replacementString
-	 * @param replacementOffset
-	 * @param replacementLength
+	 * Constructor for the Custom Completion Proposal
+	 * @param replacementString 
+	 * @param replacementOffset 
+	 * @param replacementLength 
 	 * @param cursorPosition
 	 * @param image
 	 * @param displayString
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/IContentAssistProposalRequest.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/IContentAssistProposalRequest.java
similarity index 75%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/IContentAssistProposalRequest.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/IContentAssistProposalRequest.java
index d294d1a..762f2d9 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/IContentAssistProposalRequest.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/IContentAssistProposalRequest.java
@@ -1,4 +1,4 @@
-package org.eclipse.wst.xsl.ui.internal.contentassist;
+package org.eclipse.wst.xsl.ui.provisional.contentassist;
 
 import java.util.ArrayList;
 
@@ -8,13 +8,13 @@
  * Provides content assistance ICompletionProposals.
  * 
  * @author David Carver
- *
+ * @since 1.1
  */
 public interface IContentAssistProposalRequest {
 
 	/**
 	 * Completion Proposals for a Content Assist Request.
-	 * @return
+	 * @return ArrayLlist<ICompletionProposal>
 	 */
 	public ArrayList<ICompletionProposal> getCompletionProposals();
 }
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/IXSLContentAssistProcessor.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/IXSLContentAssistProcessor.java
new file mode 100644
index 0000000..cdcbe73
--- /dev/null
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/IXSLContentAssistProcessor.java
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.xsl.ui.provisional.contentassist;
+
+import java.util.ArrayList;
+
+/**
+ * @since 1.1
+ */
+public interface IXSLContentAssistProcessor {
+
+	/**
+	 * ArrayList of Strings for the namespaces this processor activates against.
+	 * @return
+	 */
+	public ArrayList<String> getNamespaces();
+	
+	public String getMinimumVersion();
+	
+	public String getMaximumVersion();
+	
+}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/NullContentAssistRequest.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/NullContentAssistRequest.java
similarity index 95%
rename from bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/NullContentAssistRequest.java
rename to bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/NullContentAssistRequest.java
index b78b7bf..03b9285 100644
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/internal/contentassist/NullContentAssistRequest.java
+++ b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/ui/provisional/contentassist/NullContentAssistRequest.java
@@ -8,7 +8,7 @@
  *Contributors:
  *    David Carver - initial API and implementation
  *******************************************************************************/
-package org.eclipse.wst.xsl.ui.internal.contentassist;
+package org.eclipse.wst.xsl.ui.provisional.contentassist;
 
 import java.util.ArrayList;
 
@@ -21,6 +21,7 @@
 /**
  * An empty content assist request.
  * @author dcarver
+ * @since 1.1
  *
  */
 public class NullContentAssistRequest extends AbstractXSLContentAssistRequest {
diff --git a/bundles/org.eclipse.wst.xsl.ui/templates/file_templates.xml b/bundles/org.eclipse.wst.xsl.ui/templates/file_templates.xml
index b956560..3cd2919 100644
--- a/bundles/org.eclipse.wst.xsl.ui/templates/file_templates.xml
+++ b/bundles/org.eclipse.wst.xsl.ui/templates/file_templates.xml
@@ -12,6 +12,19 @@
 		<!-- TODO: Auto-generated template -->${cursor}
 	</xsl:template>
 </xsl:stylesheet>]]></template>
+<template id="org.eclipse.wst.xslt.templates.xsl_basic.xslt2"
+       name="Basic stylesheet - XSLT 2.0"
+       context="xsl_new"
+       autoinsert="true"
+       deleted="false"
+       enabled="true"
+       description="XSLT 2.0 - Matches the root of the input"><![CDATA[<?xml version="1.0" encoding="${encoding}"?>
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+	<xsl:template match="/">
+		<!-- TODO: Auto-generated template -->${cursor}
+	</xsl:template>
+</xsl:stylesheet>]]></template>
+
 <template id="org.eclipse.wst.xslt.templates.xsl_copy"
      name="Copy stylesheet"
      context="xsl_new"
@@ -31,4 +44,23 @@
 		</xsl:copy>
 	</xsl:template>	
 </xsl:stylesheet>]]></template>
+<template id="org.eclipse.wst.xslt.templates.xsl_copy.xslt2"
+     name="XSLT 2.0 Copy stylesheet"
+     context="xsl_new"
+     autoinsert="true"
+     deleted="false"
+     enabled="true"
+     description="Makes a copy of the input"><![CDATA[<?xml version="1.0" encoding="${encoding}"?>
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+	<xsl:template match="${cursor}">
+		<!-- TODO: Auto-generated template -->
+	</xsl:template>
+	<!-- standard copy template -->
+	<xsl:template match="@*|node()">
+		<xsl:copy>
+			<xsl:apply-templates select="@*"/>
+			<xsl:apply-templates/>
+		</xsl:copy>
+	</xsl:template>	
+</xsl:stylesheet>]]></template>
 </templates>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.xalan/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.xalan/META-INF/MANIFEST.MF
index e7bf3ef..c7d29a8 100644
--- a/bundles/org.eclipse.wst.xsl.xalan/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.wst.xsl.xalan/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %Bundle-Name.0
 Bundle-SymbolicName: org.eclipse.wst.xsl.xalan;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.1.qualifier
 Bundle-RequiredExecutionEnvironment: J2SE-1.4
 Bundle-Localization: plugin
 Bundle-Vendor: %Bundle-Vendor.0
diff --git a/bundles/org.eclipse.wst.xsl.xalan/plugin.properties b/bundles/org.eclipse.wst.xsl.xalan/plugin.properties
index 3a739ee..e01c0fc 100644
--- a/bundles/org.eclipse.wst.xsl.xalan/plugin.properties
+++ b/bundles/org.eclipse.wst.xsl.xalan/plugin.properties
@@ -3,6 +3,6 @@
 processorType.label.0 = Xalan
 processor.label.0 = Xalan 2.5.1
 processor.label.1 = Xalan 2.7.1
-Bundle-Vendor.0 = Eclipse.org
+Bundle-Vendor.0 = Eclipse Web Tools Platform
 transformerFactoryNameXalan = Interpretive
-transformerFactoryNameXalanXSLTC = Compiling
\ No newline at end of file
+transformerFactoryNameXalanXSLTC = Compiling
diff --git a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanVariable.java b/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanVariable.java
index 640a74c..379f829 100644
--- a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanVariable.java
+++ b/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanVariable.java
@@ -147,16 +147,18 @@
 		String value = "";
 		for (int i = 0; i < nodeList.getLength(); i++) {
 			Node node = nodeList.item(i);
-			int nodeType = node.getNodeType();
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				value = createElement(value, node);
-			}
-			if (nodeType == Node.COMMENT_NODE ) {
-				value = value + "<!-- " + node.getNodeValue() + " -->";
-			}
-			if (nodeType == Node.PROCESSING_INSTRUCTION_NODE) {
-				ProcessingInstruction pi = (ProcessingInstruction) node;
-				value = value + "<?" + pi.getData() + " ?>";
+			if (node != null) {
+				int nodeType = node.getNodeType();
+				if (node.getNodeType() == Node.ELEMENT_NODE) {
+					value = createElement(value, node);
+				}
+				if (nodeType == Node.COMMENT_NODE ) {
+					value = value + "<!-- " + node.getNodeValue() + " -->";
+				}
+				if (nodeType == Node.PROCESSING_INSTRUCTION_NODE) {
+					ProcessingInstruction pi = (ProcessingInstruction) node;
+					value = value + "<?" + pi.getData() + " ?>";
+				}
 			}
 		}
 		return value;
diff --git a/docs/org.eclipse.wst.xsl.doc/.cvsignore b/docs/org.eclipse.wst.xsl.doc/.cvsignore
new file mode 100644
index 0000000..ae93dfd
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/.cvsignore
@@ -0,0 +1,2 @@
+xinclude
+test.xml
diff --git a/docs/org.eclipse.wst.xsl.doc/.project b/docs/org.eclipse.wst.xsl.doc/.project
new file mode 100644
index 0000000..f266912
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/.project
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.xsl.doc</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+	</natures>
+</projectDescription>
diff --git a/docs/org.eclipse.wst.xsl.doc/.settings/org.eclipse.jdt.core.prefs b/docs/org.eclipse.wst.xsl.doc/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f843f0f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+#Mon Mar 10 19:41:50 GMT-05:00 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.source=1.3
diff --git a/docs/org.eclipse.wst.xsl.doc/.settings/org.eclipse.wst.validation.prefs b/docs/org.eclipse.wst.xsl.doc/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..a9a9a29
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,15 @@
+#Sat Sep 20 17:03:09 GMT 2008
+DELEGATES_PREFERENCE=delegateValidatorList
+USER_BUILD_PREFERENCE=enabledBuildValidatorList
+USER_MANUAL_PREFERENCE=enabledManualValidatorList
+USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.0.v200807211450
+eclipse.preferences.version=1
+override=true
+suspend=false
+vals/org.eclipse.jst.jsp.core.JSPBatchValidator/global=FF01
+vals/org.eclipse.jst.jsp.core.JSPContentValidator/global=FF01
+vals/org.eclipse.wst.html.ui.HTMLValidator/global=FF01
+vals/org.eclipse.wst.wsdl.validation.wsdl/global=FF02158org.eclipse.wst.wsdl.validation.internal.eclipse.Validator
+vals/org.eclipse.wst.xml.core.xml/groups=0107include07111contentType128org.eclipse.core.runtime.xmlT111contentType134org.eclipse.wst.xml.core.xmlsourceT111contentType134org.eclipse.wst.xml.core.xslsourceT111contentType134org.eclipse.jst.jsp.core.tldsourceT07fileext03xmlF07fileext03gphF07fileext115wdo-connectionsF0107exclude06113projectNature134org.eclipse.jst.j2ee.ejb.EJBNature113projectNature130org.eclipse.jst.j2ee.EARNature04file08.projectT0104file110.classpathT0104file110.settings/T0204file112concepts.xmlF01
+vals/org.eclipse.wst.xsd.core.xsd/global=FF02162org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator
+vf.version=3
diff --git a/docs/org.eclipse.wst.xsl.doc/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.xsl.doc/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..e49b263
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/META-INF/MANIFEST.MF
@@ -0,0 +1,10 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.wst.xsl.doc;singleton:=true
+Bundle-Version: 1.0.100.qualifier
+Require-Bundle: org.eclipse.ui;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)"
+Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Bundle-Vendor: %vendorName
+Bundle-Localization: plugin
diff --git a/docs/org.eclipse.wst.xsl.doc/about.html b/docs/org.eclipse.wst.xsl.doc/about.html
new file mode 100644
index 0000000..2199df3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/about.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<HTML>
+
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+
+<BODY lang="EN-US">
+
+<H3>About This Content</H3>
+
+<P>June, 2008</P>
+
+<H3>License</H3>
+
+<P>The Eclipse Foundation makes available all content in this plug-in 
+("Content"). Unless otherwise indicated below, the Content is provided to you 
+under the terms and conditions of the Eclipse Public License Version 1.0 
+("EPL"). A copy of the EPL is available at
+<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+
+<P>If you did not receive this Content directly from the Eclipse Foundation, the 
+Content is being redistributed by another party ("Redistributor") and different 
+terms and conditions may apply to your use of any object code in the Content. 
+Check the RedistributorÂ’s license that was provided with the Content. If no such 
+license exists, contact the Redistributor. Unless otherwise indicated below, the 
+terms and conditions of the EPL still apply to any source code in the Content 
+and such source code may be obtained at
+<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
+
+</BODY>
+</HTML>
diff --git a/docs/org.eclipse.wst.xsl.doc/build.properties b/docs/org.eclipse.wst.xsl.doc/build.properties
new file mode 100644
index 0000000..6cd5053
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/build.properties
@@ -0,0 +1,9 @@
+output.. = bin/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               html/,\
+               *.xml,\
+               about.html,\
+               plugin.properties
+generateSourceBundle=false
diff --git a/docs/org.eclipse.wst.xsl.doc/build.xml b/docs/org.eclipse.wst.xsl.doc/build.xml
new file mode 100644
index 0000000..3bb2901
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/build.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<project default="create-doc" basedir=".">
+
+	<property name="current-loc" location="." />
+	<property name="workspace" location=".." />
+	<property name="htmldir" value="${current-loc}/html" />
+	<property name="docbookdir" value="${workspace}/CommonUtilities/docbook-xsl/eclipse" />
+	<property name="docbooksource" value="${current-loc}/docbook"/>
+	<property name="xalan" value="org.apache.xalan.processor.TransformerFactoryImpl" />
+
+    
+	<!-- XSLT Chunking Properties -->
+	<property name="base.dir" value="${htmldir}"/>
+	
+	<taskdef name="xsl.include" classname="org.eclipse.wst.xsl.core.internal.ant.XIncludeTask"/>
+	
+	<target name="merge">
+		<xsl.xinclude in="${docbooksource}/xslhelp.dbk"
+		              out="${docbooksource}/xslhelpcombined.dbk"/>
+	</target>
+
+	<target name="create-doc" depends="merge">
+
+		<xslt force="true" style="${docbookdir}/eclipse33.xsl" in="${docbooksource}/xslhelpcombined.dbk" out="test.xml">
+			<factory name="${xalan}" />
+			<param name="manifest" expression="1"/>
+			<param name="base.dir" expression="${htmldir}/"/>
+			<param name="create.plugin.xml" expression="0"/>
+			<param name="chunker.output.indent" expression="yes"/>
+			<param name="navig.showtitles" expression="0"/>
+			<param name="suppress.navigation" expression="1"/>
+            <param name="generate.toc" expression="book      toc,title
+chapter   toc,title
+section   title" />
+			<param name="chapter.autolabel" expression="0"/>
+			<param name="section.autolabel" expression="0"/>
+			<param name="html.stylesheet" expression="book.css ../book.css"/>
+			<param name="chunk.section.depth" expression="3"/>
+			<param name="toc.section.depth" expression="5"/>
+			<param name="toc.list.type" expression="ul"/>
+		</xslt>
+		
+		<replace file="${current-loc}/toc.xml" token="${current-loc}/" value=""/>
+	</target>
+
+</project>
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/.cvsignore b/docs/org.eclipse.wst.xsl.doc/docbook/.cvsignore
new file mode 100644
index 0000000..c0958b3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/.cvsignore
@@ -0,0 +1 @@
+xslhelpcombined.dbk
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/concepts/RescuingXSLTfromNicheStatus.xml b/docs/org.eclipse.wst.xsl.doc/docbook/concepts/RescuingXSLTfromNicheStatus.xml
new file mode 100644
index 0000000..2fc9053
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/concepts/RescuingXSLTfromNicheStatus.xml
@@ -0,0 +1,494 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+          "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<section id="ResucingXSLT">
+   <title>Rescuing XSLT From Niche Status</title>
+   <subtitle>A Gentle Introduction to XSLT through HTML Templates</subtitle>
+   <note>
+      <para>
+         <emphasis>
+            Editors Note: This originally appeared at
+            <ulink url="http://www.xfront.com/rescuing-xslt.html">XFront.com</ulink>
+            , and is republished here with permission. The article is written by David Jacobs.
+         </emphasis>
+      </para>
+   </note>
+   <abstract>
+      <para>
+         XSLT is one of the most exciting technologies to come out of the XML family. Unfortunately, its incredible
+         power and associated complexity can be overwhelming to new users preventing many from experimenting with it or
+         causing them to quickly give up in disgust. In fact, unless the method of teaching and the common style of use
+         for XSLT is radically changed to make it more accessible, XSLT will be relegated to niche status like SGML and
+         other powerful technologies.
+      </para>
+   </abstract>
+   <section>
+      <title>The Problem</title>
+      <para>
+         The 1990’s saw an incredible proliferation of new web related languages. Looking back we can see what
+         features separated the winners and losers. The biggest key has been having a very low barrier to entry. Many
+         languages accomplished this by following the following rules.
+      </para>
+      <itemizedlist>
+         <listitem>
+            <para>
+               Leverage as much existing knowledge as possible.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               Make it easy to get started with "hello world" style example.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               The most common and useful language constructs should be easily conveyed with a few small examples.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               Complex programming constructs should only be required when what is trying to be accomplished is
+               complex.            
+            </para>
+         </listitem>
+      </itemizedlist>
+      <para>
+         From these rules we can see why embedded web scripting languages like Active Server Pages (ASPs), Cold
+         Fusion, PHP and
+         Java Server Pages (JSPs) are so popular. They all leverage a user’s knowledge of HTML. They also
+         allow the
+         minimum amount of scripting to be added to accomplish the dynamic feature a developer is looking for.
+         This has
+         allowed numerous web developers to start off with very small projects and then through continuos
+         enhancement
+         and learning, find themselves using the full power of a complex programming language. Furthermore,
+         because of
+         the very incremental nature of that learning the developer was never scared off.         
+      </para>
+      <para>
+         HTML has also fostered the technique of learning by example. When a web author sees another site with a
+         feature they
+         like, they immediately bring up the source to see how it was implemented. In this way many web
+         authors were
+         able to learn complex HTML tricks with no formal training. While server-side scripts are not as
+         easy to come
+         by, there are still numerous sites that house thousands of example scripts for a blossoming
+         developer to
+         examine.         
+      </para>
+      <para>
+         Traditionally XSLT has been presented as a programming language for translating XML documents into another
+         format, often for presentation. This frames the problem, such that for each element, the programmer has the
+         task of figuring out how that element needs to be translated. As long as there are one to one mappings or one
+         to zero mappings this is straightforward. For example, if every occurrence of a <![CDATA[
+         <name>]]>
+         element is going to
+         become an HTML header. It is a simple matter to write a matching template to accomplish
+         this.
+      </para>
+      <programlisting id="pl_NameTemplate">
+<![CDATA[
+<xsl:template match="name">
+  <h1><xsl:apply-templates/></h1>
+</xsl:template>
+]]>      
+      </programlisting>
+      <para>
+         However when adding one to many mappings (i.e. when an element’s contents will appear multiple times in the
+         target document with different formatting), keeping track of all the relationships quickly grows in complexity
+         and becomes confusing. For example, if, after writing the previous template, the programmer discovers that the
+         name also needs to be placed in the title the programmer might add the template
+      </para>
+      <programlisting id="pl_valueOf">
+<![CDATA[
+<xsl:template match="/">
+  <title><xsl:value-of select="name"/></title>
+</xsl:template>
+]]>      
+      </programlisting>
+      <para>
+         Notice the use of the <![CDATA[<xsl:value-of>]]>
+         function in this template because using <![CDATA[<apply-templates select="name">]]>
+         would have caused a triggering of the previous template adding undesired header tags to my content. This means
+         before adding a translation to an element the programmer must first be aware of all the existing translations
+         (ugh!). Of course if the programmer became aware of the
+         <![CDATA[<title>]]>
+         requirement first, the contents of these templates could have been reversed. One can quickly see how
+         the
+         arbitrary decisions of development and discovery of requirements can lead to a set of templates that are
+         no
+         longer intuitive.
+      </para>
+      <para>
+         As a programmer with more than 20 years experience with over a dozen languages, XSLT templates and default
+         rules were
+         not obvious to me. Over the past year or two I had looked at numerous examples trying to discern how
+         they
+         worked. While I could understand the general gist of what was occurring, there was too much implied
+         behavior
+         that I did not pick up. It was not until going through formal XSLT training that I fully understood how
+         XSLT
+         worked. Clearly, if the barrier to entry is that high for an experienced programmer, the average web
+         developer
+         was not going to find this technology very useful.          
+      </para>
+   </section>
+   <section>
+      <title>The Solution</title>
+      <para>
+         So how do we solve this problem and help deliver XSLT’s promise to the masses? For XSLT to be successful it
+         must be
+         presented and used in a way that adopts those attributes discussed earlier (reuse of knowledge, fast
+         start, and
+         gradualism). This tutorial will attempt to ease XSLT’s introduction by focusing on these attributes.
+         First, it
+         is only going to focus on the generation of HTML documents and users who are familiar with HTML. If
+         your goal
+         is to immediately start transforming one XML document into another XML document this tutorial is not
+         for you.
+      </para>
+      <para>
+         The second is to reframe the problem so the XSLT solutions programmers write are more naturally extensible
+         and
+         intuitive. Instead of trying to translate an XML source document into an HTML presentation document, the
+         programmer should see the XML document as a complex data structure with XSLT providing powerful tools for
+         extracting that information into their HTML documents. This allows us to leverage the experience most people
+         have with using an HTML templating language (e.g. ASP, PHP, JSP, Cold Fusion, Web Macro, etc). These templating
+         languages are all based on the basic premise that HTML comes first and all enhancements are then embedded in
+         special tags.         
+      </para>
+      <para>
+         With some caveats, this tutorial will show how XSLT can be used in this same way. The benefit of this
+         approach is it
+         allows the quick use of many of XSLT’s powerful functions while letting you learn its more
+         esoteric
+         capabilities as the need arises. In addition the resulting XSLT files are more intuitive and
+         maintainable.
+      </para>
+      <programlisting>
+<emphasis role="bold"><![CDATA[<xsl:value-of> and {}]]></emphasis>         
+      </programlisting>
+      <para>
+         On to an example. Here is a very simple welcome page.         
+      </para>
+      <programlisting>
+<![CDATA[
+<html>
+  <head>
+    <title>Welcome</title>
+  </head>
+  <body>
+    Welcome!
+  </body>
+</html>
+]]>         
+      </programlisting>
+      <para>
+         And here is an XML document with information on member.      
+      </para>
+      <programlisting>
+<![CDATA[
+<?xml version="1.0"?>
+<member level="platinum">
+  <name>Jeff</name>
+  <phone type="home">555-1234</phone>
+  <phone type="work">555-4321</phone>
+  <favoriteColor>blue</favoriteColor>
+</member>]]>      
+      </programlisting>
+      <para>
+         There are a couple of things that need to be pointed out right away. First this is a well-formed XML
+         document. This mean all HTML used must conform to the XHTML specification (i.e. all tags must be closed and
+         lowercase).
+      </para>
+      <para>
+         The lines before the <![CDATA[<html>]]>
+         tag and after the <![CDATA[</html>]]>
+         tag will be seen in all the examples. For now, other than realizing that they are required in any style sheet
+         created, just go ahead and forget they are there. You don’t NEED to understand them right now to get useful
+         work out of XSLT.
+      </para>
+      <para>
+         Notice the HTML is identical to the original except for the introduction of a new tag
+         <![CDATA[<xsl:value-of>]]>.
+         This tag is the key to extracting any piece of information out an XML document. It has a "select"
+         attribute that
+         provides the path through the XML document to the information we seek. In this case
+            <![CDATA[<member>]]>
+         is the outer most tag and
+         <![CDATA[<name>]]>
+         is the tag underneath it. Slash characters ("/") are used to designate parent/child relationships
+         between tags.
+         If you are used to navigating around a Unix file system this should feel familiar.
+      </para>
+      <para>
+         Now let’s consider further customizing this page by making the welcome in the person’s favorite color using the
+         <![CDATA[<font>]]>
+         tag with the "bgcolor" attribute. Because
+            <![CDATA[<xsl:value-of>]]>
+         is an XML tag it is not valid to insert it in an HTML attribute value. So another mechanism
+         is needed to insert
+         information from our XML file there.
+      </para>
+      <programlisting>
+<![CDATA[
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0">
+  <xsl:template match="/">
+    <html>
+      <head>
+        <title>Welcome</title>
+      </head>
+      <body>
+        <font bgcolor="{member/favoriteColor}">
+          Welcome <xsl:value-of select="member/name"/>!
+        </font>
+      </body>
+    </html>
+  </xsl:template>
+</xsl:stylesheet>
+]]>
+      </programlisting>
+      <para>
+         Notice the use of the curly brackets ("{}"). When used within an attribute assignment "{path}" has the exact
+         same effect as
+         <![CDATA[<xsl:value-of select="path" />]]>
+         used outside of attribute assignments.
+      </para>
+   </section>
+   <section>
+      <title>Queries</title>
+      <para>
+         Not all paths lead to a single node. For example, what if we wanted to put a person’s home phone number on the
+         page? Notice that the XML document contains two phone entries. If we simply used
+         <![CDATA[<xsl:value-of select="member/phone" />]]>
+         both entries would be returned. We obviously need a way to be more specific. Luckily, XSLT allows the full
+         power of XPath to describe the value(s) of interest. XPath allows conditions on any attribute or tag to be
+         placed in square brackets ("[]") which are then used to restrict the values returned.
+      </para>
+      <para>
+         So to retrieve the home phone number we would use the path "member/phone[@type=’home’]". Notice the "@"
+         symbol in front
+         of "type". The "@" symbol signifies that we are referring to an attribute. So our new HTML
+         template looks like:
+      </para>
+      <programlisting>
+<![CDATA[      
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0">
+  <xsl:template match="/">
+    <html>
+      <head>
+        <title>Welcome</title>
+      </head>
+      <body>
+        <font bgcolor="{member/favoriteColor}">
+          Welcome <xsl:value-of select="member/name"/>!
+          <br/>
+          Your home phone number is:
+]]>          <emphasis role="bold"><![CDATA[<xsl:value-of select="member/phone[@type=’home’]"/>]]></emphasis>
+<![CDATA[        </font>
+      </body
+    </html
+  </xsl:template>
+</xsl:stylesheet>
+]]>
+      </programlisting>
+      <section>
+         <title>xsl:for-each</title>
+         <para>
+            The previous example brings up another issue. What if this
+            <![CDATA[<member>]]>
+            entry had numerous phone numbers and we wanted to print them all on the web page. We could simply use
+               <![CDATA[<xsl:value-of select="member/phone" />]]>
+            but this would not enable us to format the phone number into a nice list that describes the type of each
+            number.
+         </para>
+         <para>
+            To accomplish this requires the introduction of the
+            <![CDATA[<xsl:for-each>]]>
+            tag which allows us to loop through each of the elements that match a given path. So to
+            create a table that
+            contains the phone number type in the first column and the phone number in the second
+            column, the following
+            stylesheet could be used.
+         </para>
+         <programlisting>
+<![CDATA[
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0">
+  <xsl:template match="/">
+    <html>
+      <head>
+        <title>Welcome</title>
+      </head>
+      <body>
+        <font bgcolor="{member/favoriteColor}">
+          Welcome <xsl:value-of select="member/name"/>!
+        </font>
+        <table>
+          <tr><th>Type</th><th>Number</th></tr>
+          <xsl:for-each select="member/phone">
+            <tr>
+              <td><xsl:value-of select="@type"/></td>
+              <td><xsl:value-of select="."/></td>
+            </tr>
+          </xsl:for-each>
+        </table>
+      </body>
+    </html>
+  </xsl:template>
+</xsl:stylesheet>
+]]>         
+         </programlisting>
+         <para>
+            This example brings up a number of issues. First, while in the loop, all
+            <![CDATA[<xsl:value-of />]]>
+            accesses are relative to the current element being iterated over (in this case
+            <![CDATA[<phone>)]]>.
+            Notice the use of the period ("."), which like in a Unix file system means the current element.
+            So in this
+            case the period (".") refers to each phone element as the loop iterates. Also like in a file
+            system you can
+            address a parent element using a double period ("..") and can access any element in the
+            document by starting
+            over at the root element using a slash ("/").
+         </para>
+      </section>
+      <section>
+         <title>xsl:if</title>
+         <para>
+            As a last enhancement to our page let’s add a special offer to "platinum" level members. To do this requires
+            the use of a new tag
+            <![CDATA[<xsl:if>]]>
+            which allows us to insert content based on a condition of the data in the XML document.
+         </para>
+         <programlisting>
+<![CDATA[
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0">
+  <xsl:template match="/">
+    <html>
+      <head>
+        <title>Welcome</title>
+      </head>
+      <body>
+        <font bgcolor="{member/favoriteColor}">
+          Welcome <xsl:value-of select="member/name"/>!
+        </font>
+        <xsl:if test="member[@level='platinum']">
+          Our special offer to platinum members today is something great
+        </xsl:if>
+        <table>
+          <tr><th>Type</th><th>Number</th></tr>
+          <xsl:for-each select="member/phone">
+            <tr>
+              <td><xsl:value-of select="@type"/></td>
+              <td><xsl:value-of select="."/></td>
+            </tr>
+          </xsl:for-each>
+        </table>
+      </body>
+    </html>
+  </xsl:template>
+</xsl:stylesheet>
+]]>         
+         </programlisting>
+         <para>
+            Within the "test" attribute the full array of Boolean and relative operators are available. The only caveat
+            is that since this is an XML document less than and greater than (<![CDATA["<"]]>,
+            ">") signs must be escaped as <![CDATA["&lt;" and "&gt;"]]>.
+         </para>
+      </section>
+      <section>
+         <title>xsl:choose</title>
+         <para>
+            One nuance of the
+            <![CDATA[<xsl:if>]]>
+            tag that is not always obvious at first glance is the lack of an "else" statement. This means to have an
+            else statement requires two ifs. The first one saying "if condition" and the second one saying “if not
+            condition”. This scheme quickly becomes unworkable with embedded if then else logic. Luckily XSLT
+            supports an
+            additional test operator called
+            <![CDATA[<xsl:choose>]]>
+            which works like a switch/case statement.
+         </para>
+         <programlisting>
+<![CDATA[
+<?xml version="1.0"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0">
+  <xsl:template match="/">
+    <html>
+      <head>
+        <title>Welcome</title>
+      </head>
+      <body>
+        <font bgcolor="{member/favoriteColor}">
+          Welcome <xsl:value-of select="member/name"/>!
+        </font>
+        <xsl:choose>
+          <xsl:when test="member[@level='platinum']">
+            Our special offer to platinum members today is something great
+          </xsl:when>
+          <xsl:otherwise>
+            Become a platinum member today!
+          </xsl:otherwise>
+        </xsl:choose>
+        <table>
+          <tr><th>Type</th><th>Number</th></tr>
+          <xsl:for-each select="member/phone">
+            <tr>
+              <td><xsl:value-of select="@type"/></td>
+              <td><xsl:value-of select="."/></td>
+            </tr>
+          </xsl:for-each>
+        </table>
+      </body>
+    </html>
+  </xsl:template>
+</xsl:stylesheet>
+]]>         
+         </programlisting>
+         <para>
+            The “test” attribute has the same capabilities/ constraints as the “test” attribute in the
+            <![CDATA[<xsl:if>]]>
+            tag. Multiple
+            <![CDATA[<xsl:when>]]>
+            blocks are allowed. As soon as one “when test” is mached, it will not evaluate any further “xsl:when
+            tests”
+            in the
+            <![CDATA[<xsl:choose>]]>
+            block.
+         </para>
+      </section>
+   </section>
+   <section>
+      <title>Conclusion</title>
+      <para>
+         With just these few commands (an admittedly small subset of XSLT) and a strong background in HTML (DHTML and
+         JavaScript
+         included), I believe web developers could meet the majority of their presentation needs. Obviously
+         there will
+         be cases where greater flexibility is required, but the advantage of this technique is that only
+         then, does the
+         developer need to learn those constructs.         
+      </para>
+      <para>
+         As a further benefit, this technique minimized the interdependence of one XLST construct on another. Local
+         changes stay
+         local thereby reducing the brittleness of solutions. The developer also no longer has to remember
+         and account
+         for XSLT’s default behaviors.         
+      </para>
+      <para>
+         I hope from these few examples, I have opened a few eyes to the power of XSLT and how a small change in how
+         XSLT is framed can make a huge difference in its understandability and accessibility to web developers. If
+         nothing else, I hope to encourage some good discussions. 
+      </para>
+   </section>
+</section>
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/concepts/concepts.xml b/docs/org.eclipse.wst.xsl.doc/docbook/concepts/concepts.xml
new file mode 100644
index 0000000..40e3400
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/concepts/concepts.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+          "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter>
+   <?dbhtml filename="concepts/concepts.html" ?>
+   <title>XSLT Concepts</title>
+   <para>
+         If you are new to XSLT or just need a refresher then this section may
+         help get you going.
+   </para>
+   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="RescuingXSLTfromNicheStatus.xml"/>
+   <section id="concepts_Resources">
+      <?dbhtml filename="concepts/resources.html" ?>
+      <title>Resources</title>
+      <itemizedlist>
+         <listitem>
+            <para>
+               <ulink url="http://www.w3.org/TR/xslt">XSLT 1.0 Specification</ulink> - The official W3C XSLT 1.0 Specification.
+            </para>
+         </listitem>
+         <listitem>
+            <para>
+               <ulink url="http://www.dpawson.co.uk/xsl/index.html">XSLT FAQ</ulink> - maintained by Dave Pawson.
+            </para>
+         </listitem>
+         <listitem>
+            <para><ulink url="http://www.xfront.com/rescuing-xslt.html">Rescuing XSLT from Niche Status</ulink> - by David Jacobs.</para>
+         </listitem>
+         <listitem>
+            <para><ulink url="http://www.xml.com/pub/a/2003/11/26/learnXSLT.html">Five XSLT Basics</ulink> - by Michael Fitzgerald author of Learning XSLT.</para>
+         </listitem>
+         <listitem>
+            <para><ulink url="http://www.xfront.com/files/tutorials.html">XFront Tutorials</ulink> - provides several tutorials include XSLT 1.0.</para>
+         </listitem>
+         <listitem>
+            <para><ulink url="http://www.cafeconleche.org/books/bible2/chapters/ch17.html">XSL Transformations</ulink> - Chapter 17 of the XML Bible 2nd Edition.</para>
+         </listitem>
+      </itemizedlist>
+   </section>
+   
+</chapter>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/concepts/gettingstarted.xml b/docs/org.eclipse.wst.xsl.doc/docbook/concepts/gettingstarted.xml
new file mode 100644
index 0000000..0e15318
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/concepts/gettingstarted.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+          "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter>
+   <?dbhtml filename="introduction/gettingstarted.html" ?>
+   <title>Getting Started</title>
+   <para>  
+      XSLT stands for the eXtensible Stylesheet Language Transformations. It is
+      part of the XSL specification which includes the transformation and formatting objects
+      (XSL-FO).   XSL Tools primarily deals with the editing, launching, and debugging
+      of XSL Style sheets.
+   </para>
+   <itemizedlist>
+   		<title>Getting Started</title>
+   		<listitem>
+   			<para><ulink url="../concepts/concepts.html">Rescuing XSLT From Niche Status</ulink> - gives a basic introduction to XSLT from the point of view of creating HTML output.</para>
+   		</listitem>
+   		<listitem>
+   			<para><ulink url="http://www.mulberrytech.com/quickref/">XSLT and XPath Quick Reference Cards</ulink> - a set of PDF files that can be printed to provide quick references to the XSLT and XPath commands.</para>
+   		</listitem>
+   </itemizedlist>
+</chapter>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/editor/editor.xml b/docs/org.eclipse.wst.xsl.doc/docbook/editor/editor.xml
new file mode 100644
index 0000000..0528abd
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/editor/editor.xml
@@ -0,0 +1,382 @@
+<?xml version='1.0'?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter>
+	<?dbhtml filename="editor/xsleditor.html" ?>
+    <title>XSL Editing</title>
+    <para>The XSL Tools plugins extend the ability of the Web Standard Tools XML
+        editor. This extension adds specific support and functionality for working with
+        and debugging XSL files.</para>
+    <section id="Validation">
+  <?dbhtml filename="editor/xsleditor_validation.html" ?>
+        <title>Validation</title>
+        <para>The XSL extensions for the eclipse XML editor include as you type
+            validation for XSL specific features. This includes not only the ability to
+            syntax check the grammar, but to also to validate specific XSL specification
+            rules. Grammar validation will be triggered based on the version attribute for
+            the style sheet that is being edited. Valid version numbers are 1.0, and 2.0.
+        </para>
+    </section>
+    <section id="ContentAssist">
+<?dbhtml filename="editor/xsleditor_contentassist.html" ?>
+        <title>Content Assist</title>
+        <para>
+            XSL Tools extends the existing content assistance support of the XML Editor to
+            provide content assistance for several XSL namespace attributes. The content
+            assistance provided covers the available XPath statements as defined in the
+            <emphasis>XPath Templates</emphasis>
+            preference page.
+        </para>
+        <important>
+            <title>XPath 2.0 Support</title>
+            <para>Currently XPath 2.0 is not supported directly. However, a user
+                can add this support if they need it by adding the missing XPath functions
+                to the XPath Templates.</para>
+        </important>
+        <para>To initiate content assistance press CTRL + SPACE or CMD + SPACE. This
+            will bring up a dialog that will contain any proposals that are available. If
+            no proposals are available an message will be displayed in the status bar.
+        </para>
+        <section id="ed_XSLProposals">
+<?dbhtml filename="editor/xsleditor_contentassist_xsl.html" ?>
+        
+            <title>XSLT Element Proposals</title>
+            <para>
+                Since XSLT is a templating language, it's elements must be able to be
+                added to the various markup it includes. The XSLT Editor will provide
+                content assistance and proposals for XSLT elements that are available to
+                be used within non-XSLT namespaced elements. This is depicted in
+                <xref linkend="fig_XSLProposals"/>
+                .
+            </para>
+            <figure id="fig_XSLProposals">
+                <title>XSLT Proposals within Non-XSLT elements</title>
+                <mediaobject>
+                    <imageobject>
+                        <imagedata align="center" fileref="../images/editor/xslproposals.png"/>
+                    </imageobject>
+                </mediaobject>
+            </figure>
+        </section>
+        <section id="SelectTest">
+<?dbhtml filename="editor/xsleditor_contentassist_selecttest.html" ?>
+            <title>Select, Test, and Match Attributes</title>
+            <para>
+                Where ever an xsl element supports a
+                <emphasis>select</emphasis>
+                ,
+                <emphasis>test</emphasis>
+                , or
+                <emphasis>match</emphasis>
+                attribute, content assistance is available. This includes support for the
+                following:
+            </para>
+            <itemizedlist>
+                <title>Select, Match and Test Assistance</title>
+                <listitem>
+                    <para>
+                        <emphasis>Variables</emphasis>
+                        - both local and global variables are supported within the current
+                        stylesheet. Any local or global variable will be added to the list
+                        and the name is prefixed with a dollar sign $ symbol.
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <emphasis>XPath 1.0</emphasis>
+                        - XPath 1.0 is supported through the use of templates. All of the
+                        XPath 1.0 and XSLT xpath extension functions are available, as
+                        well as
+                        <emphasis>axis</emphasis>
+                        operations. Currently XPath 2.0 is not supported directly, but
+                        will be added in the future.
+                    </para>
+                </listitem>
+            </itemizedlist>
+            <para>Content assistance for the select and test attributes is
+                intelligent enough to know that it is within an XPath expression, and will
+                try to determine and provide content assistance based on the current
+                cursor position. If a word has been partially typed it will filter the
+                available assistance.</para>
+        </section>
+        <section id="ExcludeResultPrefixesContentAssist">
+<?dbhtml filename="editor/xsleditor_contentassist_exclude.html" ?>
+        
+            <title>Exclude-Result-Prefixes</title>
+            <para>
+                The
+                <emphasis>exclude-result-prefixes</emphasis>
+                attribute in both XSLT 1.0 and XSLT 2.0 allows for the exclusion of
+                certain namespace declarations in the output document. The content
+                assistance populates a list of available namespaces that have been defined
+                in the stylseheet and provides them as proposals as shown in
+                <xref linkend="fig_ExcludeResultPrefixesContentAssist1"/>
+                .
+            </para>
+            <figure id="fig_ExcludeResultPrefixesContentAssist1">
+                <title>Exclude-result-prefixes Content Assistance
+                </title>
+                <mediaobject>
+                    <imageobject>
+                        <imagedata align="center"
+                            fileref="../images/editor/ExcludeContentAssist1.png"/>
+                    </imageobject>
+                </mediaobject>
+            </figure>
+            <para>
+                If the attribute has no values defined, then the
+                <emphasis>#all</emphasis>
+                value will be available in the list. If #all is already in the attributes
+                value, then no content assistance will be available.
+            </para>
+            <figure id="fig_ExcludeResultPrefixesContentAssist2">
+                <title>Filtered exclude-result-prefixes proposals</title>
+                <mediaobject>
+                    <imageobject>
+                        <imagedata align="center"
+                            fileref="../images/editor/ExcludeContentAssist2.png"/>
+                    </imageobject>
+                </mediaobject>
+            </figure>
+            <para>Content assistance is intelligent enough to know when a namespace
+                prefix is already in the list of excluded namespaces. In this case it will
+                not show the namespace in the proposal list.</para>
+            <note>
+                <title> Why isn't the XSL Namespace prefix in the proposals?</title>
+                <para>Currently the xsl prefix or any prefix that uses the XSL
+                    namespace is excluded from the list. This may be changed at a future
+                    date. This will depend on user feedback.</para>
+            </note>
+        </section>
+        <section id="ed_ModeAssist">
+<?dbhtml filename="editor/xsleditor_contentassist_modeassist.html" ?>
+        
+            <title>Mode attribute assistance</title>
+            <para>
+                Content assistance is available for those xsl elements that support the
+                mode attribute. For XSLT 1.0 these elements are
+                <emphasis>template</emphasis>
+                ,
+                <emphasis>apply-templates</emphasis>
+                , and
+                <emphasis>apply-imports</emphasis>
+                .
+            </para>
+            <figure id="fig_ModeAssistance">
+                <title>Mode attribute assistance</title>
+                <mediaobject>
+                    <imageobject>
+                        <imagedata align="center" fileref="../images/editor/modeAssistance.png"
+                            format="PNG"/>
+                    </imageobject>
+                </mediaobject>
+            </figure>
+            <para>
+                The proposal list is populated by those modes defined on templates in the
+                current stylesheet, and any of the templates that are
+                <emphasis>included</emphasis>
+                or
+                <emphasis>imported</emphasis>
+                .
+            </para>
+        </section>
+        <section id="ed_NamedTemplateAssist">
+<?dbhtml filename="editor/xsleditor_contentassist_namedtemplate.html" ?>
+        
+            <title>Named Template Assistance</title>
+            <para>
+                Call Named templates have content assistance available for their
+                <emphasis>name</emphasis>
+                attributes. This will provide a list of called-templates that have been
+                used, but have not yet been defined or overridden within the current
+                stylesheet.
+            </para>
+            <figure id="fig_NamedTemplates">
+                <title>Named Template Assistance</title>
+                <mediaobject>
+                    <imageobject>
+                        <imagedata align="center" fileref="../images/editor/namedTemplate.png"/>
+                    </imageobject>
+                </mediaobject>
+            </figure>
+        </section>
+        <section id="ed_CallTemplateAssist">
+<?dbhtml filename="editor/xsleditor_contentassist_calltemplate.html" ?>
+        
+            <title>Call-Template Assistance</title>
+            <para>
+                Any
+                <emphasis>call-template</emphasis>
+                xslt element has content assistance available for it's name attribute.
+                This will provide a list of possible XSLT named templates that can be
+                called from the current stylesheet. This takes into effect all included
+                and imported stylesheets as well as those defined in the current
+                stylesheet.
+            </para>
+            <figure id="fig_CallTemplateAssist">
+                <title>Call-Template Assistance</title>
+                <mediaobject>
+                    <imageobject>
+                        <imagedata align="center" fileref="../images/editor/calltemplate.png"/>
+                    </imageobject>
+                </mediaobject>
+            </figure>
+        </section>
+        <section id="ed_href">
+<?dbhtml filename="editor/xsleditor_contentassist_include.html" ?>
+        
+            <title>
+                Include and Import
+                <emphasis>href</emphasis>
+                Assistance
+            </title>
+            <para>XSLT stylesheets have the ability to import and include other
+                stylesheets. This allows for a modular structure for the templates to be
+                created. It also allows for easier maintenance. However, if one is working
+                with a large project like the DocBook Projects stylesheets it can be
+                difficult to remember the names and locations of all the stylesheets.
+            </para>
+            <para>
+                To this end, the XSLT editor provides content assistance for the
+                <emphasis>href</emphasis>
+                attribute. The scope of the assistance is restricted to the project that
+                the current stylesheet that is being editted resides.
+            </para>
+            <figure id="fig_HREFAssistance">
+                <title>Include/Import href Assistance</title>
+                <mediaobject>
+                    <imageobject>
+                        <imagedata align="center" fileref="../images/editor/hrefAssistance.png"/>
+                    </imageobject>
+                </mediaobject>
+            </figure>
+        </section>
+    </section>
+    <section id="XSLEditorTemplates">
+<?dbhtml filename="editor/xsleditor_templates.html" ?>
+        <title>Templates</title>
+        <para>Specific XSL code completion templates can be added to the XML
+            editor's Templates. This allows a user to define specific markup completion
+            templates that are commonly used. In addition, the XPath Templates page can be
+            enhanced to allow commonly used XPath templates to be included, in addition to
+            those installed by default. This allows a user the ability to add custom
+            extension functions for XSLT that may be processor specific. Adopters may also
+            use the standard template extension point to add additional functionality.
+        </para>
+        <section>
+            <title>XPath Templates</title>
+            <para>The XSL XPath Templates preference page allows for a user or adopter
+                to add specific xpath extensions so that they show up in the content
+                assistance. See the XPath Templates documentation for more information.
+            </para>
+        </section>
+    </section>
+    <section id="xsltSyntaxColoring">
+<?dbhtml filename="editor/xsleditor_coloring.html" ?>
+        <title>XSLT Syntax Coloring</title>
+        <para>
+            XSL Tools Editor can have syntax coloring that is specific just for the the
+            XSLT Namespace as showing in
+            <xref linkend="fig_editorSyntaxColoring"/>
+            .
+        </para>
+        <figure id="fig_editorSyntaxColoring">
+            <title>XSLT Specific Syntax Coloring</title>
+            <mediaobject>
+                <imageobject>
+                    <imagedata align="center" fileref="../images/editor/syntaxColoring.png"
+                        format="PNG"/>
+                </imageobject>
+            </mediaobject>
+        </figure>
+        <para>
+            The default coloring shown is to make all XSLT elements and attributes bold.
+            The settings are controled in
+            <xref linkend="XSLPreferences"/>
+            .
+        </para>
+    </section>
+    <section id="xsltMarkers">
+<?dbhtml filename="editor/xsleditor_markers.html" ?>
+        <title>XSLT Markers and Annotations</title>
+        <para>The XSL editor supports the ability to annotate or provide markers. These
+            annotations provide additional information about the templates and XSLT
+            elements in the stylesheet.</para>
+        <section id="xsltOverRide">
+<?dbhtml filename="editor/xsleditor_contentassist_xsltOverride.html" ?>
+        
+            <title>Template Override</title>
+            <para>The XSLT editor will mark templates that have overriden an imported
+                template of the same name.</para>
+            <figure id="fig_OverRide1">
+                <title>Overriden Template</title>
+                <mediaobject>
+                    <imageobject>
+                        <imagedata align="center" fileref="../images/editor/override1.png"/>
+                    </imageobject>
+                </mediaobject>
+            </figure>
+            <para>
+                In
+                <xref linkend="fig_OverRide1"/>
+                , the template
+                <emphasis>TempB</emphasis>
+                overrides an imported template. By moving the mouse pointer over the
+                triangle icon in the rule bar, information about which file the original
+                template resides.
+            </para>
+            <figure id="fig_OverRide2">
+                <title>Overriden Template Information</title>
+                <mediaobject>
+                    <imageobject>
+                        <imagedata align="center" fileref="../images/editor/override2.png"/>
+                    </imageobject>
+                </mediaobject>
+            </figure>
+        </section>
+    </section>
+    <section id="XSLEditorDebugging">
+<?dbhtml filename="editor/xsleditor_debugging.html" ?>
+        <title>XSL Debugging</title>
+        <para>The XSL Editor supports the ability to specify break points within an XSL
+            File. If the file is included or imported and the break point is encountered
+            during a transformation scenario it will be respected. A break point may be
+            set at any valid XSL element or other xml element within the XSLT stylesheet.
+            See the Launching and Debugging section for more information on debugging XSLT
+            stylesheets.</para>
+    </section>
+    <section>
+<?dbhtml filename="editor/xsleditor_debugging.html" ?>
+        <title>Navigation</title>
+        <para>
+            Many of the variables, imports/includes, and templates can be navigated to
+            using the
+            <emphasis>Open Declaration (F3)</emphasis>
+            popup menu option. They can also be navigated to directly by CTRL-Clicking on
+            the name of the variable, import/include, or template. Items that currently
+            have hyperlinking navigation are:
+        </para>
+        <itemizedlist>
+            <listitem>
+                <para>Called-Templates</para>
+            </listitem>
+            <listitem>
+                <para>hrefs for Import and Includes</para>
+            </listitem>
+            <listitem>
+                <para>With-Param variables</para>
+            </listitem>
+        </itemizedlist>
+        <tip>
+            <title>Navigation to a Named Template in an included/imported
+                stylsheet</title>
+            <para> The hyperlinking ability will navigate you to where ever the first
+                definition of the template is defined. So if the template is defined
+                within the current stylesheet it will navigate to that definition. However
+                if it is defined in an imported or included stylesheet, or any of those
+                imported or included stylesheets it will take you to that definition. Use
+                the standard navigation errors to move back and forth during this
+                hyperlinking.</para>
+        </tip>
+    </section>
+</chapter>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/general/general.xml b/docs/org.eclipse.wst.xsl.doc/docbook/general/general.xml
new file mode 100644
index 0000000..b72c45a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/general/general.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+          "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter>
+	<?dbhtml filename="general/general.html" ?>
+	<title>General</title>
+	<para>This section covers topics that don't have any other particular place to go.</para>
+	<section id="XInclude">
+	    <?dbhtml filename="general/xinclude.html" ?>
+		<title>XInclude</title>
+		<para>
+      	XInclude allows a user to import or include other XML files into one xml file.
+        It is used primarily with documentation file formats like Docbook and DITA.  It
+        allows for separating out large xml documents into more manageable chunks of information.
+      </para>
+		<para>
+      	The XSL Tools project includes an ANT task that can be run with in eclipse, eclipse
+      	headless, and without eclipse at all.   If running outside of eclipse, you will need
+      	to make sure that the jar file xinclude.jar in the org.eclipse.wst.xsl.core.jar file
+      	is made avaiable on your class path.
+      </para>
+		<mediaobject>
+			<objectinfo id="Xinclude">
+				<title>XInclude Task</title>
+			</objectinfo>
+			<imageobject>
+				<imagedata align="center" fileref="../images/general/xinclude.png"
+					format="PNG" />
+			</imageobject>
+		</mediaobject>
+		<para>
+      	The following parameters are available on the xsl.xinclude ANT task:
+      </para>
+		<itemizedlist>
+			<listitem>
+				<para>
+      			<emphasis role="bold">
+					in
+				</emphasis> - The full path to the input file that contains
+      			the file with the XIncludes.   If the files that it includes have includes, then
+      			those will be brought in an expanded as well.
+      		</para>
+			</listitem>
+			<listitem>
+				<para>
+					<emphasis role="bold">out</emphasis> - The full path to the output file 
+					to be written with all includes expanded.  This is typically used as the
+					input to a stylesheet transformation process.
+				</para>
+			</listitem>
+		</itemizedlist>
+	    <example>
+	    	<title>XInclude Example</title>
+	    	<programlisting xml:space="preserve">
+&lt;target name="merge">
+    &lt;xsl.xinclude in="${docbooksource}/xslhelp.dbk"
+                  out="${docbooksource}/xslhelpcombined.dbk"/>
+&lt;/target>	    		    	
+	    	</programlisting>
+	    </example>
+	</section>
+</chapter>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/ExcludeContentAssist1.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/ExcludeContentAssist1.png
new file mode 100644
index 0000000..2f0f2cb
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/ExcludeContentAssist1.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/ExcludeContentAssist2.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/ExcludeContentAssist2.png
new file mode 100644
index 0000000..2e53677
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/ExcludeContentAssist2.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/calltemplate.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/calltemplate.png
new file mode 100644
index 0000000..3a13f07
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/calltemplate.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/hrefAssistance.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/hrefAssistance.png
new file mode 100644
index 0000000..5f44986
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/hrefAssistance.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/modeAssistance.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/modeAssistance.png
new file mode 100644
index 0000000..f5a9875
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/modeAssistance.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/namedTemplate.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/namedTemplate.png
new file mode 100644
index 0000000..b8bd926
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/namedTemplate.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/override1.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/override1.png
new file mode 100644
index 0000000..88b878b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/override1.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/override2.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/override2.png
new file mode 100644
index 0000000..cfc415c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/override2.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/syntaxColoring.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/syntaxColoring.png
new file mode 100644
index 0000000..85e0ebd
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/syntaxColoring.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/templatesView.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/templatesView.png
new file mode 100644
index 0000000..a1e20d9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/templatesView.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/xslproposals.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/xslproposals.png
new file mode 100644
index 0000000..ffc127a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/editor/xslproposals.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLDebugging.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLDebugging.png
new file mode 100644
index 0000000..5cb456e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLDebugging.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLOutputTab.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLOutputTab.png
new file mode 100644
index 0000000..380e55e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLOutputTab.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLProcessorTab.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLProcessorTab.png
new file mode 100644
index 0000000..e86f973
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLProcessorTab.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLRunDebugConfigurations.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLRunDebugConfigurations.png
new file mode 100644
index 0000000..675a64f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/XSLRunDebugConfigurations.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/launchShortct.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/launchShortct.png
new file mode 100644
index 0000000..881813a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/launchShortct.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/nodesetVariable.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/nodesetVariable.png
new file mode 100644
index 0000000..d3ca7ff
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/nodesetVariable.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/resultView.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/resultView.png
new file mode 100644
index 0000000..d6d1b91
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/launching/resultView.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/XPathTemplates.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/XPathTemplates.png
new file mode 100644
index 0000000..0f89304
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/XPathTemplates.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/projectLevelValidation.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/projectLevelValidation.png
new file mode 100644
index 0000000..3ffe862
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/projectLevelValidation.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xm_template_xslnewfile.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xm_template_xslnewfile.png
new file mode 100644
index 0000000..7646a6d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xm_template_xslnewfile.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xslSyntaxColoring.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xslSyntaxColoring.png
new file mode 100644
index 0000000..66ebef3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xslSyntaxColoring.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xsl_InstalledProcessors.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xsl_InstalledProcessors.png
new file mode 100644
index 0000000..3295079
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xsl_InstalledProcessors.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xsl_outputproperties.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xsl_outputproperties.png
new file mode 100644
index 0000000..4e00a42
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xsl_outputproperties.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xslfeatures.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xslfeatures.png
new file mode 100644
index 0000000..29dbec8
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xslfeatures.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xslpreferences.png b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xslpreferences.png
new file mode 100644
index 0000000..dcb7187
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/images/preferences/xslpreferences.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/launching/launching.xml b/docs/org.eclipse.wst.xsl.doc/docbook/launching/launching.xml
new file mode 100644
index 0000000..841a62d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/launching/launching.xml
@@ -0,0 +1,346 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+          "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter>
+	<?dbhtml filename="launching/launching.html" ?>
+	<title>XSL Launching and Debugging</title>
+	<para> XSL Tools adds support for XSL Launch and Debugging
+		configurations. These allow you to setup XSL configurations for
+		various jobs, and to also debug xsl stylsheet transformations.</para>
+	<section
+		id="XSLLaunch">
+		<?dbhtml filename="launching/launching.html" ?>
+		<title>XSL Launching</title>
+		<para>
+			In the Project Explorer, simply select the input XML file and the
+			stylesheet(s) to transform it, and then right-click and select
+			<emphasis>Run As > XSL Transformation</emphasis>
+			.
+		</para>
+		<figure
+			id="fig_XSLRun">
+			<title>XSLT Run/Debug</title>
+			<mediaobject>
+				<imageobject>
+					<imagedata
+						align="center"
+						format="PNG"
+						fileref="../images/launching/launchShortct.png" />
+				</imageobject>
+			</mediaobject>
+		</figure>
+		<note>
+			<title>Selecting only the XSL Stylesheet</title>
+			<para>
+				If only the XSL Stylesheet is selected then a dialog box will prompt you for the input file to use.
+			</para>
+		</note>
+		<para>
+			Launch can also be done through the Launch Configurations pages that are used for both debugging and normal transformations.
+			These configurations can be accessed through <emphasis>Run->Run Configurations</emphasis> menu bar option.
+		</para>
+		<section
+			id="XSLLaunchConfig">
+			<title>Launch Configuration</title>
+			<para>
+				Currently, XSL Tools only supports the launching of java based
+				processors through the Run and Debug framework. To this point, it
+				leverages and extends some of the support provided by the Java
+				launch configurations. XSL Tools does add it's own specific features
+				for launching.
+			</para>
+			<figure
+				id="fig_XSLLaunchConfig">
+				<title>Java XSLT Launch Configuration</title>
+				<mediaobject>
+					<imageobject>
+						<imagedata
+							align="center"
+							format="PNG"
+							fileref="../images/launching/XSLRunDebugConfigurations.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+			<para>
+				The tabs Main, Output, and Processor control specifics for the XSLT processor and files to be run through
+				the transformation.
+			</para>
+			<note>
+				<title>XSLT Extensions</title>
+				<para>If the transformation needs or makes use of extension
+					functions then those jar files should be added to the Classpath tab
+					so that they are picked up during the transformation. Otherwise the
+					transformation will fail.</para>
+			</note>
+			<section id="XSLLaunch_Main">
+				<title>Main Tab</title>
+				<para>
+					As shown in <xref linkend="fig_XSLLaunchConfig"/>, the Main Tab is where the input XML file is specified.  If a particular
+					XML file is not shown in the available list when browsing the Workspace, make sure that it is added to under the XML Content
+					Type in the General preference page.  Standard eclipse launching variables can be used to specify the location of the input file.
+				</para>
+				<para>
+					A run configuration can also use a simple pipeline transformation.  Meaning that the output from one stylesheet is used as input
+					to the next stylesheet.   The Stylesheet input box can have one to many stylesheets specified.  At least one stylesheet is required
+					for a transformation.
+				</para>
+				<para>
+					The last optional item are parameters.   Stylesheets can have parameters passed into them to setup configuration information.  An
+					example would be the numerous parameters that can be set for a DocBook stylesheet transformation.   If the parameters are not
+					specified the defaults that are defined in the stylesheet will take precedence. 
+				</para>
+			</section>
+			<section id="XSLLaunch_Output">
+				<title>Output Tab</title>
+				<para>
+					The Output Tab allows the specification of where the transformation should store the information.
+					This can be relative to the workspace or a physical location outside the workspace.
+				</para>
+			<figure
+				id="fig_XSLOutputTab">
+				<title>Java XSLT Launch Configuration</title>
+				<mediaobject>
+					<imageobject>
+						<imagedata
+							align="center"
+							format="PNG"
+							fileref="../images/launching/XSLOutputTab.png" />
+					</imageobject>
+				</mediaobject>
+			</figure>
+				
+			</section>
+			<section id="XSLLaunch_Processor">
+				<title>Processor Tab</title>
+				<para>
+					The particular XSLT processor that will be used can be choosen from this tab. The
+					default is to use the system default processor or what ever processor you have
+					set as the default processor in the preference pages.
+				</para>
+				<figure
+					id="fig_XSLProcessorTab">
+					<title>Java XSLT Launch Configuration</title>
+					<mediaobject>
+						<imageobject>
+							<imagedata
+								align="center"
+								format="PNG"
+								fileref="../images/launching/XSLProcessorTab.png" />
+						</imageobject>
+					</mediaobject>
+				</figure>
+				
+				<note>
+					<title>XSLT Debugging</title>
+					<para>
+						If you are setting up a launch configuration for debugging, do not choose
+						the JRE Default processor, you should choose either Xalan or another adopters
+						processor that supports debugging.
+					</para>
+				</note>
+				<para>
+					In addition, every processor has their own configuration options that can be specified.
+					This controls such items as indentation, handling of white space, etc.  Refer to your
+					processors documentation for the specific options available.
+				</para>
+			</section>
+		</section>
+	</section>
+	<section
+		id="XSLDebug">
+	    <?dbhtml filename="launching/debugging.html" ?>
+		<title>XSLT Debugging</title>
+		<para> XSL Tools provides a framework for XSLT processors to provide
+			debugging support. The support provided is highly dependent on the
+			processors. XSL Tools comes with built in support for the Xalan 2.7.1
+			processor. Debugging is only available for those processors that
+			support the feature and plug into the extension point. The XSL Tools
+			debugger leverages the existing eclipse platform Debug View</para>
+		<figure id="fig_XSLDebug">
+			<title>XSLT Debugging</title>
+				<mediaobject>
+					<imageobject>
+						<imagedata
+							align="center"
+							format="PNG"
+							fileref="../images/launching/XSLDebugging.png" />
+					</imageobject>
+				</mediaobject>
+		</figure>
+		<para>
+			How the debugger acts will depend on the processor being used. Not
+			all XSLT processors pass the same type of information to the
+			debugger. These differences will be noted in the
+			<xref
+				linkend="XSLDebugProcessorSpecific" />
+			section.
+		</para>
+		<section
+			id="DebugGettingStarted">
+			<?dbhtml filename="launching/debugging_gettingStarted.html" ?>
+			<title>Starting a Debug Session</title>
+			<para> Debugging is started the same way as launching an XSL
+				Tranformation is done. Except that the debug configuration is used
+				instead of the normal launch configuration. If a debugging session
+				is started on a processor that does not support debugging, a dialog
+				will ask if you want to switch to one of the supported debuggers.
+			</para>
+			<note>
+				<title>Default JRE</title>
+				<para> The default JRE does not have built in support for debugging,
+					even though it is based on Apache Xalan. It is recommended to use
+					Xalan or another processor provided by an adopter to do your
+					transformations. The default processor is known to have some issues
+					that Xalan and other processors do not have.</para>
+			</note>
+		</section>
+		<section
+			id="XSLDebugCommon">
+		<?dbhtml filename="launching/debugging_common.html" ?>
+			<title>Common Debugging Operations</title>
+			<para>
+				XSLT debugging is handled by the eclipse platforms debugging
+				framework support as outlined in the
+				<ulink
+					url="/help/topic/org.eclipse.platform.doc.isv/guide/debug_debug.htm">"Program Debug and Launch Support"</ulink>
+				. Common operations like stepping into (F5), stepping over (F6),
+				pausing, running to a breakpoint, and relaunching are supported. In
+				addition to the standard Variable and Breakpoint views provided by
+				the platform, there are some XSLT specific views and functionality
+				as well. All of these are common regardless of the particular XSLT
+				debugger being used.
+			</para>
+			<tip>
+				<title>Introduction to Eclipse Debugging</title>
+				<para>
+					<ulink
+						url="http://www.mcs.vuw.ac.nz/courses/COMP205/2007T1/tools/eclipse/debugging/basics.shtml">Basic Debugging in Eclipse</ulink>
+					contains a good general introduction to the basic features provided
+					by the Eclipse Debug view. XSL Tools leverages many of these
+					features and the same concepts apply to the XSL Tools debugger.
+				</para>
+			</tip>
+			<para> In addition to the standard features and functionality, the
+				XSL Tools debugging support adds the following additional items:
+			</para>
+			<itemizedlist>
+				<listitem>
+					<para> Result View</para>
+				</listitem>
+				<listitem>
+					<para>XSLT specific Variables</para>
+				</listitem>
+				<listitem>
+					<para>XSLT Processor Specific Functionality</para>
+				</listitem>
+			</itemizedlist>
+			<section
+				id="XSLDebugResultView">
+			<?dbhtml filename="launching/debugging_resultview.html" ?>
+				<title>Result View</title>
+				<para> The XSLT Debugger has a result view. This will show the
+					output that the stylesheet has generated to the current break point
+					or since the last step command was issued.</para>
+				<mediaobject>
+					<imageobject>
+						<imagedata
+							align="center"
+							format="PNG"
+							fileref="../images/launching/resultView.png" />
+					</imageobject>
+				</mediaobject>
+				<para> The result view is updated throughout the debugging process,
+					and is useful to help see what output is generated at specific
+					points during a transformation.</para>
+			</section>
+			<section
+				id="XSLDebugVariables">
+			<?dbhtml filename="launching/debugging_variablesview.html" ?>
+				<title>Variables View</title>
+				<para> The variables view will show all the local and global
+					variables and params that are currently in scope. There are two
+					types of variables that can be views.</para>
+				<mediaobject>
+					<imageobject>
+						<imagedata
+							align="center"
+							format="PNG"
+							fileref="../images/launching/nodesetVariable.png" />
+					</imageobject>
+				</mediaobject>
+				<itemizedlist>
+					<title>Variable Types</title>
+					<listitem>
+						<para>
+							<emphasis>String</emphasis>
+							- These contain text values. This could be strings of text,
+							numbers, or other characters.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							<emphasis>Nodesets</emphasis>
+							- Nodesets are represented in the variables view as expandable
+							variables. They contain sequences of nodes. The type of nodes are
+							represented by icons for elements, attributes, text, comments or
+							processing instructions.
+						</para>
+					</listitem>
+				</itemizedlist>
+				<note>
+					<title>Can I change the value of variables?</title>
+					<para> Currently the XSLT Debugger does not support changing the
+						values or contents of a variable. All XSLT variables are read
+						only.</para>
+				</note>
+			</section>
+		</section>
+		<section
+			id="XSLDebugProcessorSpecific">
+			<?dbhtml filename="launching/debugging_processors.html" ?>
+			<title>XSLT Processor Specific Support</title>
+			<para> Various XSLT processors provide various levels of debugging
+				support. Many do not provide support for debugging of stylesheets,
+				and thus can't be used for debugging. XSL Tools provides basic
+				support for Xalan, and can be used as a guide for adopters on how to
+				implement their own specific debugging support for other processors.
+			</para>
+			<section
+				id="XSLDebugXalan">
+				<title>XSL Debugging with Xalan</title>
+				<para> Xalan provides general stylesheet execution and evalation
+					functionality. However there are a few things that Xalan does not
+					suppor that other processors do.</para>
+				<orderedlist>
+					<title>Xalan Debugging Issues</title>
+					<listitem>
+						<para>
+							<emphasis>Breakpoints</emphasis>
+							- Xalan does not support stopping at Global Variables or
+							Parameters when a debugging session is started. It will
+							automatically start at the first template. Break points must be
+							placed in templates to be honored. The reason for this is that
+							Xalan lazily initializes the variables only when they are first
+							used.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							<emphasis>XSLT Text elements</emphasis>
+							- Xalan does not send notifications of xsl:text elements. These
+							are skipped over when debugging.
+						</para>
+					</listitem>
+					<listitem>
+						<para>
+							<emphasis>Built In Templates</emphasis>
+							- Xalan does provide notification when the built in templates are
+							called, but currently the debugger does not support or display
+							stepping into these templates.
+						</para>
+					</listitem>
+				</orderedlist>
+			</section>
+		</section>
+	</section>
+</chapter>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/legal.xml b/docs/org.eclipse.wst.xsl.doc/docbook/legal.xml
new file mode 100644
index 0000000..2fe8845
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/legal.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+          "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter>
+	<?dbhtml filename="legal.html" ?>
+	<title>Notices</title>
+	<para>
+      The material in this guide is Copyright (c) Doug Satchwell (<ulink url="http://www.chasetechnology.co.uk">Chase Technology Ltd</ulink>), 
+      David Carver (<ulink url="http://www.starstandard.org">Standards for Technology in Automotive Retail</ulink>)
+      and others 2008.
+    </para>
+    <para>
+		This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies 
+		this distribution, and is available at 
+		<ulink url="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</ulink>.
+    </para>
+	<para>
+		<ulink url="about.html">Terms and conditions regarding the use of this guide.</ulink>.
+	</para>
+</chapter>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/preferences/preferences.xml b/docs/org.eclipse.wst.xsl.doc/docbook/preferences/preferences.xml
new file mode 100644
index 0000000..2f09466
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/preferences/preferences.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+          "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter id="XSLPreferences">
+	<?dbhtml filename="preferences/xslpreferences.html" ?>
+    <title>XSL Tools Preferences</title>
+    <para> The XSL Preference pages has several sub sections. Each of these allow for
+        configuration of various aspects of the preferences. From the controlling of the
+        default XSL processor to be used during transformations. To extending the content
+        assist support of the XPath functions available in the XML editor.</para>
+    <figure id="fig_XSLPreferences">
+        <title>XSL Tools Preferences</title>
+        <mediaobject>
+            <imageobject>
+                <imagedata align="center" fileref="../images/preferences/xslpreferences.png"
+                    format="PNG"/>
+            </imageobject>
+        </mediaobject>
+    </figure>
+    <section id="XSLFeatures">
+		<?dbhtml filename="preferences/xslfeatures.html" ?>
+        <title>Features</title>
+        <para> The XSL Features preference page allows for the configuration of features
+            for a particular processor. XSL Tools comes with Xalan 2.7.0 by default.
+            Adopters can extend and include their own specific features for their own
+            procesoors. An adopter could extend the tooling to support XSLT 2.0
+            transformations, and features particular to that parser.</para>
+        <mediaobject>
+            <imageobject>
+                <imagedata align="center" format="PNG"
+                    fileref="../images/preferences/xslfeatures.png"/>
+            </imageobject>
+        </mediaobject>
+        <para>
+            The
+            <emphasis role="bold">Processor Type</emphasis>
+            allows you to set features for a specific processor. In this case this is for
+            the processor that is being installed. XSL Tools comes with Xalan 2.7.0, and
+            it is the only available processor type by default.
+        </para>
+        <para> The feature table lists the features that are specific to the processor
+            that was selected. As you select each of the features, information regarding
+            that feature and it's abilities is displayed in the description box. By
+            clicking in the value column, next to the feature you want to set the value
+            for, the user can set the feature.</para>
+    </section>
+    <section id="XSLProcessors">
+		<?dbhtml filename="preferences/xslprocessors.html" ?>
+        <title>Installed Processors</title>
+        <para> The installed processors page lets you pick which of the installed XSLT
+            processors will be used by default. The default is the System Default
+            Procesoor, but you can select any of the available processors to be used as
+            the default processor.</para>
+        <mediaobject>
+            <imageobject>
+                <imagedata align="center"
+                    fileref="../images/preferences/xsl_InstalledProcessors.png" format="PNG"/>
+            </imageobject>
+        </mediaobject>
+    </section>
+    <section id="XSLOutputProperties">
+		<?dbhtml filename="preferences/xsloutputproperties.html" ?>
+        <title>Output Properties</title>
+        <para> The various xsl processors support a wide variety of processor specific
+            tweaks. However there are several Standard processor features that all XSLT
+            processors support. These options can be set and will act as the defaults for
+            all transformations unless they are specifically overriden by the stylesheet
+            or the launch configuration.</para>
+        <mediaobject>
+            <imageobject>
+                <imagedata align="center"
+                    fileref="../images/preferences/xsl_outputproperties.png" format="PNG"/>
+            </imageobject>
+        </mediaobject>
+        <para> In addition to the Standard Output Properties, each XSLT processor can have
+            processors specific features.</para>
+    </section>
+    <section id="XPathTemplates">
+		<?dbhtml filename="preferences/xpathtemplates.html" ?>
+        <title>XPath Templates</title>
+        <para> XPath template proposal is supported by the XSL Tooling project through the
+            built in template functionality of eclipse. Users and Adopters can add their
+            own specific xpath extensions for processor specific extensions. An example
+            would be to add the EXSLT extensions for proposal support.</para>
+        <mediaobject>
+            <imageobject>
+                <objectinfo>
+                    <title>XPath Templates</title>
+                </objectinfo>
+                <imagedata align="center" fileref="../images/preferences/XPathTemplates.png"
+                    format="PNG"/>
+            </imageobject>
+        </mediaobject>
+        <para> The following content types are available:</para>
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis role="bold">axis</emphasis>
+                    - an XPath navigation axis statement.
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis role="bold">exslt</emphasis>
+                    - An XPath statement that is defined by the
+                    <ulink url="http://www.exslt.org/">EXSLT</ulink>
+                    library. Xalan and most other processors have built in support for the
+                    EXSLT library.
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis role="bold">xpath</emphasis>
+                    - Represents an XPATH 1.0 function. These are functions as defined by
+                    the XPath 1.0 specification.
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis role="bold">xpath 2.0</emphasis>
+                    - Represents an XPath 2.0 function.
+                    <emphasis>Note: That currently XSL Tools only ships with
+                        templates defined for XPath 1.0 .</emphasis>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis role="bold">operator</emphasis>
+                    - An xpath logical operator like AND, OR, etc.
+                </para>
+            </listitem>
+        </itemizedlist>
+        <section id="XPathTemplateNew">
+		   <?dbhtml filename="preferences/xpathtemplatenew.html" ?>
+            <title>Creating New Templates</title>
+            <!-- TODO: Create Additional information on creating new templates-->
+            <para> Add documentation about creating new templates.</para>
+        </section>
+        <section id="XPathImport">
+		   <?dbhtml filename="preferences/xpathimport.html" ?>
+            <title>Import XPath Templates</title>
+            <para> Add documentation about importing new templates.</para>
+        </section>
+        <section id="XPathExport">
+		   <?dbhtml filename="preferences/xpathexport.html" ?>
+            <title>Import XPath Templates</title>
+            <para> Add documentation about importing new templates.</para>
+        </section>
+    </section>
+    <section id="pref_ProjectValidationPreferences">
+        <?dbhtml filename="preferences/validation.html" ?>
+        <title>Project Validation Preferences</title>
+        <para>
+            XSL Tools has the ability to set both workspace wide preferences for
+            validation as well as project level preferences. These preferences, as shown
+            in
+            <xref linkend="fig_ProjectLevelPreferences"/>
+            allow for the fine grain control of what the validator will consider to be an
+            syntax error.
+        </para>
+        <figure id="fig_ProjectLevelPreferences">
+            <title>Project Level Validation Preferences</title>
+            <mediaobject>
+                <imageobject>
+                    <imagedata align="center"
+                        fileref="../images/preferences/projectLevelValidation.png" format="PNG"/>
+                </imageobject>
+            </mediaobject>
+        </figure>
+        <para> These preferences are accessed via the Projects properties dialog.</para>
+    </section>
+    <section id="pref_SyntaxColoring">
+        <?dbhtml filename="preferences/syntaxColoring.html" ?>
+        <title>XSLT Syntax Coloring</title>
+        <para>
+            XSL Tools also has the ability to syntax color the XSLT namespace items a different
+            color than the rest of the XML syntax included.   The default is for all XSL syntax to be
+            <emphasis role="bold">bold</emphasis>.
+        </para>
+        <figure id="fig_XSLSyntaxColoringPreference">
+            <title>XSL Tools Syntax Coloring Preference</title>
+            <mediaobject>
+                <imageobject>
+                    <imagedata align="center"
+                        fileref="../images/preferences/xslSyntaxColoring.png" format="PNG"/>
+                </imageobject>
+            </mediaobject>
+        </figure>
+        <note>
+            <title>XML Colors</title>
+            <para>
+                The color for standard XML is still handled by the XML Files syntax coloring
+                preference page.   Changes made there are reflected in the XSL editor as well.
+            </para>
+        </note>
+    </section>
+</chapter>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/samples/samples.xml b/docs/org.eclipse.wst.xsl.doc/docbook/samples/samples.xml
new file mode 100644
index 0000000..710cf1c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/samples/samples.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+          "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<chapter>
+	<?dbhtml filename="samples/samples.html" ?>
+	<title>XSL Tooling Samples</title>
+	<para>This section contains several samples and references to sample projects.</para>
+	<section id="EclipseHelp">
+		<?dbhtml filename="samples/eclipsehelp.html" ?>
+		<title>Eclipse Help</title>
+		<para></para>
+		<section id="DocbookEclipseHelp">
+			<?dbhtml filename="samples/docbookhelp.html" ?>
+			<title>Creating Eclipse Help with Docbook and XSL Tools</title>
+			<para>
+				This tutorial assumes that you have knowledge of Docbook, ANT, and the
+				ability to setup ANT build scripts.
+			</para>
+			<para>
+				To Do write up the rest of the tutorial.
+			</para>
+		</section>
+		<section id="DITAEclipseHelp">
+			<?dbhtml filename="samples/ditahelp.html" ?>
+			<title>Creating Eclipse Help with DITA and XSL Tools</title>
+			<para>
+				This tutorial assumes that you have knowledge of DITA, ANT, and the
+				ability to setup ANT build scripts.
+			</para>
+			<para>
+				To Do write up the rest of the tutorial.
+			</para>
+		</section>
+	</section>
+</chapter>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/docbook/xslhelp.dbk b/docs/org.eclipse.wst.xsl.doc/docbook/xslhelp.dbk
new file mode 100644
index 0000000..0066ce9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/docbook/xslhelp.dbk
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+          "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<book id="XSLUser" xmlns:xi="http://www.w3.org/2001/XInclude">
+  <bookinfo>
+      <title>XSL Tools User Documentation</title>
+      <author>
+         <firstname>David</firstname>
+         <surname>Carver</surname>
+      </author>
+      <copyright>
+         <year>2008</year>
+         <holder>Eclipse Foundation and others</holder>
+      </copyright>
+   </bookinfo>
+   <xi:include href="concepts/gettingstarted.xml"/>
+   <xi:include href="concepts/concepts.xml"/>
+   <xi:include href="editor/editor.xml"/>
+   <xi:include href="launching/launching.xml"/>
+   <xi:include href="preferences/preferences.xml"/>
+   <xi:include href="general/general.xml"/>
+   <xi:include href="samples/samples.xml"/>
+   <xi:include href="legal.xml"/>
+</book>
+
diff --git a/docs/org.eclipse.wst.xsl.doc/html/about.html b/docs/org.eclipse.wst.xsl.doc/html/about.html
new file mode 100644
index 0000000..2199df3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/about.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<HTML>
+
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+
+<BODY lang="EN-US">
+
+<H3>About This Content</H3>
+
+<P>June, 2008</P>
+
+<H3>License</H3>
+
+<P>The Eclipse Foundation makes available all content in this plug-in 
+("Content"). Unless otherwise indicated below, the Content is provided to you 
+under the terms and conditions of the Eclipse Public License Version 1.0 
+("EPL"). A copy of the EPL is available at
+<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+
+<P>If you did not receive this Content directly from the Eclipse Foundation, the 
+Content is being redistributed by another party ("Redistributor") and different 
+terms and conditions may apply to your use of any object code in the Content. 
+Check the RedistributorÂ’s license that was provided with the Content. If no such 
+license exists, contact the Redistributor. Unless otherwise indicated below, the 
+terms and conditions of the EPL still apply to any source code in the Content 
+and such source code may be obtained at
+<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
+
+</BODY>
+</HTML>
diff --git a/docs/org.eclipse.wst.xsl.doc/html/book.css b/docs/org.eclipse.wst.xsl.doc/html/book.css
new file mode 100644
index 0000000..e30f5af
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/book.css
@@ -0,0 +1,214 @@
+p.Code {
+	display: block;
+	text-align: left;
+	text-indent: 0.00pt;
+	margin-top: 0.000000pt;
+	margin-bottom: 0.000000pt;
+	margin-right: 0.000000pt;
+	margin-left: 15pt;
+	font-weight: normal;
+	font-style: normal;
+	color: #4444CC;
+	text-decoration: none;
+	vertical-align: baseline;
+	text-transform: none;
+	font-family: "Courier New", Courier, monospace;
+}
+
+H6.CaptionFigColumn {
+	display: block;
+	text-align: left;
+	text-indent: 0.000000pt;
+	margin-top: 3.000000pt;
+	margin-bottom: 11.000000pt;
+	margin-right: 0.000000pt;
+	margin-left: 0.000000pt;
+	font-size: 75%;
+	font-weight: bold;
+	font-style: Italic;
+	color: #000000;
+	text-decoration: none;
+	vertical-align: baseline;
+	text-transform: none;
+}
+
+p.Note {
+	display: block;
+	text-align: left;
+	text-indent: 0pt;
+	margin-top: 19.500000pt;
+	margin-bottom: 19.500000pt;
+	margin-right: 0.000000pt;
+	margin-left: 30pt;
+	font-size: 110%;
+	font-weight: normal;
+	font-style: Italic;
+	color: #000000;
+	text-decoration: none;
+	vertical-align: baseline;
+	text-transform: none;
+}
+
+EM.UILabel {
+	font-weight: Bold;
+	font-style: normal;
+	text-decoration: none;
+	vertical-align: baseline;
+	text-transform: none;
+}
+
+EM.CodeName {
+	font-weight: Bold;
+	font-style: normal;
+	text-decoration: none;
+	vertical-align: baseline;
+	text-transform: none;
+	font-family: "Courier New", Courier, monospace;
+}
+
+UL.NavList {
+	margin-left: 1.5em;
+	padding-left: 0px;
+	list-style-type: none;
+}
+
+body,html {
+	border: 0px
+}
+
+/* following font face declarations need to be removed for DBCS */
+body,h1,h2,h3,h4,h5,h6,p,table,td,caption,th,ul,ol,dl,li,dd,dt {
+	font-family: Arial, Helvetica, sans-serif;
+	color: #000000
+}
+
+pre,code {
+	font-family: "Courier New", Courier, monospace;
+}
+
+/* end font face declarations */
+@media print {
+	html {
+		font-size: 12pt
+	}
+}
+
+body {
+	font-size: 83%;
+	background: #FFFFFF;
+	margin-bottom: 1em
+}
+
+h1 {
+	font-size: 180%;
+	margin-top: 5px;
+	margin-bottom: 1px
+}
+
+h2 {
+	font-size: 140%;
+	margin-top: 25px;
+	margin-bottom: 3px
+}
+
+h3 {
+	font-size: 110%;
+	margin-top: 20px;
+	margin-bottom: 3px
+}
+
+h4 {
+	font-size: 100%;
+	margin-top: 20px;
+	margin-bottom: 3px;
+	font-style: italic
+}
+
+p {
+	margin-top: 10px;
+	margin-bottom: 10px
+}
+
+pre {
+	font-size: 93%;
+	margin-left: 6;
+	color: #4444CC
+}
+
+code {
+	font-size: 93%;
+}
+
+table {
+	font-size: 100%
+}  /* needed for quirks mode */
+a:link {
+	color: #0000FF
+}
+
+a:hover {
+	color: #000080
+}
+
+a:visited {
+	text-decoration: underline
+}
+
+ul {
+	margin-top: 10px;
+	margin-bottom: 10px;
+}
+
+li {
+	margin-top: 5px;
+	margin-bottom: 5px;
+}
+
+li p {
+	margin-top: 5px;
+	margin-bottom: 5px;
+}
+
+ol {
+	margin-top: 10px;
+	margin-bottom: 10px;
+}
+
+dl {
+	margin-top: 10px;
+	margin-bottom: 10px;
+}
+
+dt {
+	margin-top: 5px;
+	margin-bottom: 5px;
+	font-weight: bold;
+}
+
+dd {
+	margin-top: 5px;
+	margin-bottom: 5px;
+}
+
+strong {
+	font-weight: bold
+}
+
+em {
+	font-style: italic
+}
+
+var {
+	font-style: italic
+}
+
+div.revision {
+	border-left-style: solid;
+	border-left-width: thin;
+	border-left-color: #7B68EE;
+	padding-left: 5
+}
+
+th {
+	font-weight: bold
+}
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/concepts/concepts.html b/docs/org.eclipse.wst.xsl.doc/html/concepts/concepts.html
new file mode 100644
index 0000000..4470798
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/concepts/concepts.html
@@ -0,0 +1,411 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSLT Concepts</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="../index.html" title="XSL Tools User Documentation"><link rel="prev" href="../introduction/gettingstarted.html" title="Getting Started"><link rel="next" href="resources.html" title="Resources"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="N10028"></a>XSLT Concepts</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="concepts.html#ResucingXSLT">Rescuing XSLT From Niche Status</a></span><ul><li><span class="section"><a href="concepts.html#N10043">The Problem</a></span></li><li><span class="section"><a href="concepts.html#N10069">The Solution</a></span></li><li><span class="section"><a href="concepts.html#N10090">Queries</a></span><ul><li><span class="section"><a href="concepts.html#N1009E">xsl:for-each</a></span></li><li><span class="section"><a href="concepts.html#N100AA">xsl:if</a></span></li><li><span class="section"><a href="concepts.html#N100B4">xsl:choose</a></span></li></ul></li><li><span class="section"><a href="concepts.html#N100BE">Conclusion</a></span></li></ul></li><li><span class="section"><a href="resources.html">Resources</a></span></li></ul></div><p>
+         If you are new to XSLT or just need a refresher then this section may
+         help get you going.
+   </p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ResucingXSLT"></a>Rescuing XSLT From Niche Status</h2></div><div><h3 class="subtitle">A Gentle Introduction to XSLT through HTML Templates</h3></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+         <span class="emphasis"><em>
+            Editors Note: This originally appeared at
+            <a class="ulink" href="http://www.xfront.com/rescuing-xslt.html" target="_top">XFront.com</a>
+            , and is republished here with permission. The article is written by David Jacobs.
+         </em></span>
+      </p></div><div class="abstract"><p class="title"><b>Abstract</b></p><p>
+         XSLT is one of the most exciting technologies to come out of the XML family. Unfortunately, its incredible
+         power and associated complexity can be overwhelming to new users preventing many from experimenting with it or
+         causing them to quickly give up in disgust. In fact, unless the method of teaching and the common style of use
+         for XSLT is radically changed to make it more accessible, XSLT will be relegated to niche status like SGML and
+         other powerful technologies.
+      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N10043"></a>The Problem</h3></div></div></div><p>
+         The 1990&rsquo;s saw an incredible proliferation of new web related languages. Looking back we can see what
+         features separated the winners and losers. The biggest key has been having a very low barrier to entry. Many
+         languages accomplished this by following the following rules.
+      </p><div class="itemizedlist"><ul type="disc"><li><p>
+               Leverage as much existing knowledge as possible.
+            </p></li><li><p>
+               Make it easy to get started with "hello world" style example.
+            </p></li><li><p>
+               The most common and useful language constructs should be easily conveyed with a few small examples.
+            </p></li><li><p>
+               Complex programming constructs should only be required when what is trying to be accomplished is
+               complex.            
+            </p></li></ul></div><p>
+         From these rules we can see why embedded web scripting languages like Active Server Pages (ASPs), Cold
+         Fusion, PHP and
+         Java Server Pages (JSPs) are so popular. They all leverage a user&rsquo;s knowledge of HTML. They also
+         allow the
+         minimum amount of scripting to be added to accomplish the dynamic feature a developer is looking for.
+         This has
+         allowed numerous web developers to start off with very small projects and then through continuos
+         enhancement
+         and learning, find themselves using the full power of a complex programming language. Furthermore,
+         because of
+         the very incremental nature of that learning the developer was never scared off.         
+      </p><p>
+         HTML has also fostered the technique of learning by example. When a web author sees another site with a
+         feature they
+         like, they immediately bring up the source to see how it was implemented. In this way many web
+         authors were
+         able to learn complex HTML tricks with no formal training. While server-side scripts are not as
+         easy to come
+         by, there are still numerous sites that house thousands of example scripts for a blossoming
+         developer to
+         examine.         
+      </p><p>
+         Traditionally XSLT has been presented as a programming language for translating XML documents into another
+         format, often for presentation. This frames the problem, such that for each element, the programmer has the
+         task of figuring out how that element needs to be translated. As long as there are one to one mappings or one
+         to zero mappings this is straightforward. For example, if every occurrence of a 
+         &lt;name&gt;
+         element is going to
+         become an HTML header. It is a simple matter to write a matching template to accomplish
+         this.
+      </p><a name="pl_NameTemplate"></a><pre class="programlisting">
+
+&lt;xsl:template match="name"&gt;
+  &lt;h1&gt;&lt;xsl:apply-templates/&gt;&lt;/h1&gt;
+&lt;/xsl:template&gt;
+      
+      </pre><p>
+         However when adding one to many mappings (i.e. when an element&rsquo;s contents will appear multiple times in the
+         target document with different formatting), keeping track of all the relationships quickly grows in complexity
+         and becomes confusing. For example, if, after writing the previous template, the programmer discovers that the
+         name also needs to be placed in the title the programmer might add the template
+      </p><a name="pl_valueOf"></a><pre class="programlisting">
+
+&lt;xsl:template match="/"&gt;
+  &lt;title&gt;&lt;xsl:value-of select="name"/&gt;&lt;/title&gt;
+&lt;/xsl:template&gt;
+      
+      </pre><p>
+         Notice the use of the &lt;xsl:value-of&gt;
+         function in this template because using &lt;apply-templates select="name"&gt;
+         would have caused a triggering of the previous template adding undesired header tags to my content. This means
+         before adding a translation to an element the programmer must first be aware of all the existing translations
+         (ugh!). Of course if the programmer became aware of the
+         &lt;title&gt;
+         requirement first, the contents of these templates could have been reversed. One can quickly see how
+         the
+         arbitrary decisions of development and discovery of requirements can lead to a set of templates that are
+         no
+         longer intuitive.
+      </p><p>
+         As a programmer with more than 20 years experience with over a dozen languages, XSLT templates and default
+         rules were
+         not obvious to me. Over the past year or two I had looked at numerous examples trying to discern how
+         they
+         worked. While I could understand the general gist of what was occurring, there was too much implied
+         behavior
+         that I did not pick up. It was not until going through formal XSLT training that I fully understood how
+         XSLT
+         worked. Clearly, if the barrier to entry is that high for an experienced programmer, the average web
+         developer
+         was not going to find this technology very useful.          
+      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N10069"></a>The Solution</h3></div></div></div><p>
+         So how do we solve this problem and help deliver XSLT&rsquo;s promise to the masses? For XSLT to be successful it
+         must be
+         presented and used in a way that adopts those attributes discussed earlier (reuse of knowledge, fast
+         start, and
+         gradualism). This tutorial will attempt to ease XSLT&rsquo;s introduction by focusing on these attributes.
+         First, it
+         is only going to focus on the generation of HTML documents and users who are familiar with HTML. If
+         your goal
+         is to immediately start transforming one XML document into another XML document this tutorial is not
+         for you.
+      </p><p>
+         The second is to reframe the problem so the XSLT solutions programmers write are more naturally extensible
+         and
+         intuitive. Instead of trying to translate an XML source document into an HTML presentation document, the
+         programmer should see the XML document as a complex data structure with XSLT providing powerful tools for
+         extracting that information into their HTML documents. This allows us to leverage the experience most people
+         have with using an HTML templating language (e.g. ASP, PHP, JSP, Cold Fusion, Web Macro, etc). These templating
+         languages are all based on the basic premise that HTML comes first and all enhancements are then embedded in
+         special tags.         
+      </p><p>
+         With some caveats, this tutorial will show how XSLT can be used in this same way. The benefit of this
+         approach is it
+         allows the quick use of many of XSLT&rsquo;s powerful functions while letting you learn its more
+         esoteric
+         capabilities as the need arises. In addition the resulting XSLT files are more intuitive and
+         maintainable.
+      </p><pre class="programlisting">
+<span class="bold"><strong>&lt;xsl:value-of&gt; and {}</strong></span>         
+      </pre><p>
+         On to an example. Here is a very simple welcome page.         
+      </p><pre class="programlisting">
+
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;Welcome&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    Welcome!
+  &lt;/body&gt;
+&lt;/html&gt;
+         
+      </pre><p>
+         And here is an XML document with information on member.      
+      </p><pre class="programlisting">
+
+&lt;?xml version="1.0"?&gt;
+&lt;member level="platinum"&gt;
+  &lt;name&gt;Jeff&lt;/name&gt;
+  &lt;phone type="home"&gt;555-1234&lt;/phone&gt;
+  &lt;phone type="work"&gt;555-4321&lt;/phone&gt;
+  &lt;favoriteColor&gt;blue&lt;/favoriteColor&gt;
+&lt;/member&gt;      
+      </pre><p>
+         There are a couple of things that need to be pointed out right away. First this is a well-formed XML
+         document. This mean all HTML used must conform to the XHTML specification (i.e. all tags must be closed and
+         lowercase).
+      </p><p>
+         The lines before the &lt;html&gt;
+         tag and after the &lt;/html&gt;
+         tag will be seen in all the examples. For now, other than realizing that they are required in any style sheet
+         created, just go ahead and forget they are there. You don&rsquo;t NEED to understand them right now to get useful
+         work out of XSLT.
+      </p><p>
+         Notice the HTML is identical to the original except for the introduction of a new tag
+         &lt;xsl:value-of&gt;.
+         This tag is the key to extracting any piece of information out an XML document. It has a "select"
+         attribute that
+         provides the path through the XML document to the information we seek. In this case
+            &lt;member&gt;
+         is the outer most tag and
+         &lt;name&gt;
+         is the tag underneath it. Slash characters ("/") are used to designate parent/child relationships
+         between tags.
+         If you are used to navigating around a Unix file system this should feel familiar.
+      </p><p>
+         Now let&rsquo;s consider further customizing this page by making the welcome in the person&rsquo;s favorite color using the
+         &lt;font&gt;
+         tag with the "bgcolor" attribute. Because
+            &lt;xsl:value-of&gt;
+         is an XML tag it is not valid to insert it in an HTML attribute value. So another mechanism
+         is needed to insert
+         information from our XML file there.
+      </p><pre class="programlisting">
+
+&lt;?xml version="1.0"?&gt;
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0"&gt;
+  &lt;xsl:template match="/"&gt;
+    &lt;html&gt;
+      &lt;head&gt;
+        &lt;title&gt;Welcome&lt;/title&gt;
+      &lt;/head&gt;
+      &lt;body&gt;
+        &lt;font bgcolor="{member/favoriteColor}"&gt;
+          Welcome &lt;xsl:value-of select="member/name"/&gt;!
+        &lt;/font&gt;
+      &lt;/body&gt;
+    &lt;/html&gt;
+  &lt;/xsl:template&gt;
+&lt;/xsl:stylesheet&gt;
+
+      </pre><p>
+         Notice the use of the curly brackets ("{}"). When used within an attribute assignment "{path}" has the exact
+         same effect as
+         &lt;xsl:value-of select="path" /&gt;
+         used outside of attribute assignments.
+      </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N10090"></a>Queries</h3></div></div></div><p>
+         Not all paths lead to a single node. For example, what if we wanted to put a person&rsquo;s home phone number on the
+         page? Notice that the XML document contains two phone entries. If we simply used
+         &lt;xsl:value-of select="member/phone" /&gt;
+         both entries would be returned. We obviously need a way to be more specific. Luckily, XSLT allows the full
+         power of XPath to describe the value(s) of interest. XPath allows conditions on any attribute or tag to be
+         placed in square brackets ("[]") which are then used to restrict the values returned.
+      </p><p>
+         So to retrieve the home phone number we would use the path "member/phone[@type=&rsquo;home&rsquo;]". Notice the "@"
+         symbol in front
+         of "type". The "@" symbol signifies that we are referring to an attribute. So our new HTML
+         template looks like:
+      </p><pre class="programlisting">
+      
+&lt;?xml version="1.0"?&gt;
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0"&gt;
+  &lt;xsl:template match="/"&gt;
+    &lt;html&gt;
+      &lt;head&gt;
+        &lt;title&gt;Welcome&lt;/title&gt;
+      &lt;/head&gt;
+      &lt;body&gt;
+        &lt;font bgcolor="{member/favoriteColor}"&gt;
+          Welcome &lt;xsl:value-of select="member/name"/&gt;!
+          &lt;br/&gt;
+          Your home phone number is:
+          <span class="bold"><strong>&lt;xsl:value-of select="member/phone[@type=&rsquo;home&rsquo;]"/&gt;</strong></span>
+        &lt;/font&gt;
+      &lt;/body
+    &lt;/html
+  &lt;/xsl:template&gt;
+&lt;/xsl:stylesheet&gt;
+
+      </pre><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N1009E"></a>xsl:for-each</h4></div></div></div><p>
+            The previous example brings up another issue. What if this
+            &lt;member&gt;
+            entry had numerous phone numbers and we wanted to print them all on the web page. We could simply use
+               &lt;xsl:value-of select="member/phone" /&gt;
+            but this would not enable us to format the phone number into a nice list that describes the type of each
+            number.
+         </p><p>
+            To accomplish this requires the introduction of the
+            &lt;xsl:for-each&gt;
+            tag which allows us to loop through each of the elements that match a given path. So to
+            create a table that
+            contains the phone number type in the first column and the phone number in the second
+            column, the following
+            stylesheet could be used.
+         </p><pre class="programlisting">
+
+&lt;?xml version="1.0"?&gt;
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0"&gt;
+  &lt;xsl:template match="/"&gt;
+    &lt;html&gt;
+      &lt;head&gt;
+        &lt;title&gt;Welcome&lt;/title&gt;
+      &lt;/head&gt;
+      &lt;body&gt;
+        &lt;font bgcolor="{member/favoriteColor}"&gt;
+          Welcome &lt;xsl:value-of select="member/name"/&gt;!
+        &lt;/font&gt;
+        &lt;table&gt;
+          &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Number&lt;/th&gt;&lt;/tr&gt;
+          &lt;xsl:for-each select="member/phone"&gt;
+            &lt;tr&gt;
+              &lt;td&gt;&lt;xsl:value-of select="@type"/&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;xsl:value-of select="."/&gt;&lt;/td&gt;
+            &lt;/tr&gt;
+          &lt;/xsl:for-each&gt;
+        &lt;/table&gt;
+      &lt;/body&gt;
+    &lt;/html&gt;
+  &lt;/xsl:template&gt;
+&lt;/xsl:stylesheet&gt;
+         
+         </pre><p>
+            This example brings up a number of issues. First, while in the loop, all
+            &lt;xsl:value-of /&gt;
+            accesses are relative to the current element being iterated over (in this case
+            &lt;phone&gt;).
+            Notice the use of the period ("."), which like in a Unix file system means the current element.
+            So in this
+            case the period (".") refers to each phone element as the loop iterates. Also like in a file
+            system you can
+            address a parent element using a double period ("..") and can access any element in the
+            document by starting
+            over at the root element using a slash ("/").
+         </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N100AA"></a>xsl:if</h4></div></div></div><p>
+            As a last enhancement to our page let&rsquo;s add a special offer to "platinum" level members. To do this requires
+            the use of a new tag
+            &lt;xsl:if&gt;
+            which allows us to insert content based on a condition of the data in the XML document.
+         </p><pre class="programlisting">
+
+&lt;?xml version="1.0"?&gt;
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0"&gt;
+  &lt;xsl:template match="/"&gt;
+    &lt;html&gt;
+      &lt;head&gt;
+        &lt;title&gt;Welcome&lt;/title&gt;
+      &lt;/head&gt;
+      &lt;body&gt;
+        &lt;font bgcolor="{member/favoriteColor}"&gt;
+          Welcome &lt;xsl:value-of select="member/name"/&gt;!
+        &lt;/font&gt;
+        &lt;xsl:if test="member[@level='platinum']"&gt;
+          Our special offer to platinum members today is something great
+        &lt;/xsl:if&gt;
+        &lt;table&gt;
+          &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Number&lt;/th&gt;&lt;/tr&gt;
+          &lt;xsl:for-each select="member/phone"&gt;
+            &lt;tr&gt;
+              &lt;td&gt;&lt;xsl:value-of select="@type"/&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;xsl:value-of select="."/&gt;&lt;/td&gt;
+            &lt;/tr&gt;
+          &lt;/xsl:for-each&gt;
+        &lt;/table&gt;
+      &lt;/body&gt;
+    &lt;/html&gt;
+  &lt;/xsl:template&gt;
+&lt;/xsl:stylesheet&gt;
+         
+         </pre><p>
+            Within the "test" attribute the full array of Boolean and relative operators are available. The only caveat
+            is that since this is an XML document less than and greater than ("&lt;",
+            "&gt;") signs must be escaped as "&amp;lt;" and "&amp;gt;".
+         </p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="N100B4"></a>xsl:choose</h4></div></div></div><p>
+            One nuance of the
+            &lt;xsl:if&gt;
+            tag that is not always obvious at first glance is the lack of an "else" statement. This means to have an
+            else statement requires two ifs. The first one saying "if condition" and the second one saying &ldquo;if not
+            condition&rdquo;. This scheme quickly becomes unworkable with embedded if then else logic. Luckily XSLT
+            supports an
+            additional test operator called
+            &lt;xsl:choose&gt;
+            which works like a switch/case statement.
+         </p><pre class="programlisting">
+
+&lt;?xml version="1.0"?&gt;
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                version="1.0"&gt;
+  &lt;xsl:template match="/"&gt;
+    &lt;html&gt;
+      &lt;head&gt;
+        &lt;title&gt;Welcome&lt;/title&gt;
+      &lt;/head&gt;
+      &lt;body&gt;
+        &lt;font bgcolor="{member/favoriteColor}"&gt;
+          Welcome &lt;xsl:value-of select="member/name"/&gt;!
+        &lt;/font&gt;
+        &lt;xsl:choose&gt;
+          &lt;xsl:when test="member[@level='platinum']"&gt;
+            Our special offer to platinum members today is something great
+          &lt;/xsl:when&gt;
+          &lt;xsl:otherwise&gt;
+            Become a platinum member today!
+          &lt;/xsl:otherwise&gt;
+        &lt;/xsl:choose&gt;
+        &lt;table&gt;
+          &lt;tr&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Number&lt;/th&gt;&lt;/tr&gt;
+          &lt;xsl:for-each select="member/phone"&gt;
+            &lt;tr&gt;
+              &lt;td&gt;&lt;xsl:value-of select="@type"/&gt;&lt;/td&gt;
+              &lt;td&gt;&lt;xsl:value-of select="."/&gt;&lt;/td&gt;
+            &lt;/tr&gt;
+          &lt;/xsl:for-each&gt;
+        &lt;/table&gt;
+      &lt;/body&gt;
+    &lt;/html&gt;
+  &lt;/xsl:template&gt;
+&lt;/xsl:stylesheet&gt;
+         
+         </pre><p>
+            The &ldquo;test&rdquo; attribute has the same capabilities/ constraints as the &ldquo;test&rdquo; attribute in the
+            &lt;xsl:if&gt;
+            tag. Multiple
+            &lt;xsl:when&gt;
+            blocks are allowed. As soon as one &ldquo;when test&rdquo; is mached, it will not evaluate any further &ldquo;xsl:when
+            tests&rdquo;
+            in the
+            &lt;xsl:choose&gt;
+            block.
+         </p></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N100BE"></a>Conclusion</h3></div></div></div><p>
+         With just these few commands (an admittedly small subset of XSLT) and a strong background in HTML (DHTML and
+         JavaScript
+         included), I believe web developers could meet the majority of their presentation needs. Obviously
+         there will
+         be cases where greater flexibility is required, but the advantage of this technique is that only
+         then, does the
+         developer need to learn those constructs.         
+      </p><p>
+         As a further benefit, this technique minimized the interdependence of one XLST construct on another. Local
+         changes stay
+         local thereby reducing the brittleness of solutions. The developer also no longer has to remember
+         and account
+         for XSLT&rsquo;s default behaviors.         
+      </p><p>
+         I hope from these few examples, I have opened a few eyes to the power of XSLT and how a small change in how
+         XSLT is framed can make a huge difference in its understandability and accessibility to web developers. If
+         nothing else, I hope to encourage some good discussions. 
+      </p></div></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/concepts/resources.html b/docs/org.eclipse.wst.xsl.doc/html/concepts/resources.html
new file mode 100644
index 0000000..2e83f04
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/concepts/resources.html
@@ -0,0 +1,5 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Resources</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="concepts.html" title="XSLT Concepts"><link rel="prev" href="concepts.html" title="XSLT Concepts"><link rel="next" href="../editor/xsleditor.html" title="XSL Editing"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="concepts_Resources"></a>Resources</h2></div></div></div><div class="itemizedlist"><ul type="disc"><li><p>
+               <a class="ulink" href="http://www.w3.org/TR/xslt" target="_top">XSLT 1.0 Specification</a> - The official W3C XSLT 1.0 Specification.
+            </p></li><li><p>
+               <a class="ulink" href="http://www.dpawson.co.uk/xsl/index.html" target="_top">XSLT FAQ</a> - maintained by Dave Pawson.
+            </p></li><li><p><a class="ulink" href="http://www.xfront.com/rescuing-xslt.html" target="_top">Rescuing XSLT from Niche Status</a> - by David Jacobs.</p></li><li><p><a class="ulink" href="http://www.xml.com/pub/a/2003/11/26/learnXSLT.html" target="_top">Five XSLT Basics</a> - by Michael Fitzgerald author of Learning XSLT.</p></li><li><p><a class="ulink" href="http://www.xfront.com/files/tutorials.html" target="_top">XFront Tutorials</a> - provides several tutorials include XSLT 1.0.</p></li><li><p><a class="ulink" href="http://www.cafeconleche.org/books/bible2/chapters/ch17.html" target="_top">XSL Transformations</a> - Chapter 17 of the XML Bible 2nd Edition.</p></li></ul></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor.html
new file mode 100644
index 0000000..c18bbaa
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor.html
@@ -0,0 +1,12 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSL Editing</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="../index.html" title="XSL Tools User Documentation"><link rel="prev" href="../concepts/resources.html" title="Resources"><link rel="next" href="xsleditor_contentassist.html" title="Content Assist"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="N100F3"></a>XSL Editing</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="xsleditor.html#Validation">Validation</a></span></li><li><span class="section"><a href="xsleditor_contentassist.html">Content Assist</a></span><ul><li><span class="section"><a href="xsleditor_contentassist.html#ed_XSLProposals">XSLT Element Proposals</a></span></li><li><span class="section"><a href="xsleditor_contentassist_selecttest.html">Select, Test, and Match Attributes</a></span></li><li><span class="section"><a href="xsleditor_contentassist_exclude.html">Exclude-Result-Prefixes</a></span></li><li><span class="section"><a href="xsleditor_contentassist_modeassist.html">Mode attribute assistance</a></span></li><li><span class="section"><a href="xsleditor_contentassist_namedtemplate.html">Named Template Assistance</a></span></li><li><span class="section"><a href="xsleditor_contentassist_calltemplate.html">Call-Template Assistance</a></span></li><li><span class="section"><a href="xsleditor_contentassist_include.html">
+                Include and Import
+                href
+                Assistance
+            </a></span></li></ul></li><li><span class="section"><a href="xsleditor_templates.html">Templates</a></span><ul><li><span class="section"><a href="xsleditor_templates.html#N101E2">XPath Templates</a></span></li></ul></li><li><span class="section"><a href="xsleditor_coloring.html">XSLT Syntax Coloring</a></span></li><li><span class="section"><a href="xsleditor_markers.html">XSLT Markers and Annotations</a></span><ul><li><span class="section"><a href="xsleditor_markers.html#xsltOverRide">Template Override</a></span></li></ul></li><li><span class="section"><a href="xsleditor_debugging.html">XSL Debugging</a></span></li><li><span class="section"><a href="xsleditor_debugging.html">Navigation</a></span></li></ul></div><p>The XSL Tools plugins extend the ability of the Web Standard Tools XML
+        editor. This extension adds specific support and functionality for working with
+        and debugging XSL files.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Validation"></a>Validation</h2></div></div></div><p>The XSL extensions for the eclipse XML editor include as you type
+            validation for XSL specific features. This includes not only the ability to
+            syntax check the grammar, but to also to validate specific XSL specification
+            rules. Grammar validation will be triggered based on the version attribute for
+            the style sheet that is being edited. Valid version numbers are 1.0, and 2.0.
+        </p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_coloring.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_coloring.html
new file mode 100644
index 0000000..4ecf215
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_coloring.html
@@ -0,0 +1,11 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSLT Syntax Coloring</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor.html" title="XSL Editing"><link rel="prev" href="xsleditor_templates.html" title="Templates"><link rel="next" href="xsleditor_markers.html" title="XSLT Markers and Annotations"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xsltSyntaxColoring"></a>XSLT Syntax Coloring</h2></div></div></div><p>
+            XSL Tools Editor can have syntax coloring that is specific just for the the
+            XSLT Namespace as showing in
+            <a class="xref" href="xsleditor_coloring.html#fig_editorSyntaxColoring" title="Figure&nbsp;8.&nbsp;XSLT Specific Syntax Coloring">Figure&nbsp;8, &ldquo;XSLT Specific Syntax Coloring&rdquo;</a>
+            .
+        </p><div class="figure"><a name="fig_editorSyntaxColoring"></a><p class="title"><b>Figure&nbsp;8.&nbsp;XSLT Specific Syntax Coloring</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/syntaxColoring.png" align="middle" alt="XSLT Specific Syntax Coloring"></div></div></div><br class="figure-break"><p>
+            The default coloring shown is to make all XSLT elements and attributes bold.
+            The settings are controled in
+            <a class="xref" href="../preferences/xslpreferences.html" title="XSL Tools Preferences"><i>XSL Tools Preferences</i></a>
+            .
+        </p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist.html
new file mode 100644
index 0000000..eb5c3dc
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist.html
@@ -0,0 +1,19 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Content Assist</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor.html" title="XSL Editing"><link rel="prev" href="xsleditor.html" title="XSL Editing"><link rel="next" href="xsleditor_contentassist_selecttest.html" title="Select, Test, and Match Attributes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ContentAssist"></a>Content Assist</h2></div></div></div><p>
+            XSL Tools extends the existing content assistance support of the XML Editor to
+            provide content assistance for several XSL namespace attributes. The content
+            assistance provided covers the available XPath statements as defined in the
+            <span class="emphasis"><em>XPath Templates</em></span>
+            preference page.
+        </p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">XPath 2.0 Support</h3><p>Currently XPath 2.0 is not supported directly. However, a user
+                can add this support if they need it by adding the missing XPath functions
+                to the XPath Templates.</p></div><p>To initiate content assistance press CTRL + SPACE or CMD + SPACE. This
+            will bring up a dialog that will contain any proposals that are available. If
+            no proposals are available an message will be displayed in the status bar.
+        </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ed_XSLProposals"></a>XSLT Element Proposals</h3></div></div></div><p>
+                Since XSLT is a templating language, it's elements must be able to be
+                added to the various markup it includes. The XSLT Editor will provide
+                content assistance and proposals for XSLT elements that are available to
+                be used within non-XSLT namespaced elements. This is depicted in
+                <a class="xref" href="xsleditor_contentassist.html#fig_XSLProposals" title="Figure&nbsp;1.&nbsp;XSLT Proposals within Non-XSLT elements">Figure&nbsp;1, &ldquo;XSLT Proposals within Non-XSLT elements&rdquo;</a>
+                .
+            </p><div class="figure"><a name="fig_XSLProposals"></a><p class="title"><b>Figure&nbsp;1.&nbsp;XSLT Proposals within Non-XSLT elements</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/xslproposals.png" align="middle" alt="XSLT Proposals within Non-XSLT elements"></div></div></div><br class="figure-break"></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_calltemplate.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_calltemplate.html
new file mode 100644
index 0000000..f74ff33
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_calltemplate.html
@@ -0,0 +1,9 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Call-Template Assistance</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor_contentassist.html" title="Content Assist"><link rel="prev" href="xsleditor_contentassist_namedtemplate.html" title="Named Template Assistance"><link rel="next" href="xsleditor_contentassist_include.html" title="Include and Import href Assistance"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ed_CallTemplateAssist"></a>Call-Template Assistance</h3></div></div></div><p>
+                Any
+                <span class="emphasis"><em>call-template</em></span>
+                xslt element has content assistance available for it's name attribute.
+                This will provide a list of possible XSLT named templates that can be
+                called from the current stylesheet. This takes into effect all included
+                and imported stylesheets as well as those defined in the current
+                stylesheet.
+            </p><div class="figure"><a name="fig_CallTemplateAssist"></a><p class="title"><b>Figure&nbsp;6.&nbsp;Call-Template Assistance</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/calltemplate.png" align="middle" alt="Call-Template Assistance"></div></div></div><br class="figure-break"></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_exclude.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_exclude.html
new file mode 100644
index 0000000..4f6cdab
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_exclude.html
@@ -0,0 +1,21 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Exclude-Result-Prefixes</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor_contentassist.html" title="Content Assist"><link rel="prev" href="xsleditor_contentassist_selecttest.html" title="Select, Test, and Match Attributes"><link rel="next" href="xsleditor_contentassist_modeassist.html" title="Mode attribute assistance"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ExcludeResultPrefixesContentAssist"></a>Exclude-Result-Prefixes</h3></div></div></div><p>
+                The
+                <span class="emphasis"><em>exclude-result-prefixes</em></span>
+                attribute in both XSLT 1.0 and XSLT 2.0 allows for the exclusion of
+                certain namespace declarations in the output document. The content
+                assistance populates a list of available namespaces that have been defined
+                in the stylseheet and provides them as proposals as shown in
+                <a class="xref" href="xsleditor_contentassist_exclude.html#fig_ExcludeResultPrefixesContentAssist1" title="Figure&nbsp;2.&nbsp;Exclude-result-prefixes Content Assistance">Figure&nbsp;2, &ldquo;Exclude-result-prefixes Content Assistance
+                &rdquo;</a>
+                .
+            </p><div class="figure"><a name="fig_ExcludeResultPrefixesContentAssist1"></a><p class="title"><b>Figure&nbsp;2.&nbsp;Exclude-result-prefixes Content Assistance
+                </b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/ExcludeContentAssist1.png" align="middle" alt="Exclude-result-prefixes Content Assistance"></div></div></div><br class="figure-break"><p>
+                If the attribute has no values defined, then the
+                <span class="emphasis"><em>#all</em></span>
+                value will be available in the list. If #all is already in the attributes
+                value, then no content assistance will be available.
+            </p><div class="figure"><a name="fig_ExcludeResultPrefixesContentAssist2"></a><p class="title"><b>Figure&nbsp;3.&nbsp;Filtered exclude-result-prefixes proposals</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/ExcludeContentAssist2.png" align="middle" alt="Filtered exclude-result-prefixes proposals"></div></div></div><br class="figure-break"><p>Content assistance is intelligent enough to know when a namespace
+                prefix is already in the list of excluded namespaces. In this case it will
+                not show the namespace in the proposal list.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"> Why isn't the XSL Namespace prefix in the proposals?</h3><p>Currently the xsl prefix or any prefix that uses the XSL
+                    namespace is excluded from the list. This may be changed at a future
+                    date. This will depend on user feedback.</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_include.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_include.html
new file mode 100644
index 0000000..1e15b77
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_include.html
@@ -0,0 +1,15 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Include and Import href Assistance</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor_contentassist.html" title="Content Assist"><link rel="prev" href="xsleditor_contentassist_calltemplate.html" title="Call-Template Assistance"><link rel="next" href="xsleditor_templates.html" title="Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ed_href"></a>
+                Include and Import
+                <span class="emphasis"><em>href</em></span>
+                Assistance
+            </h3></div></div></div><p>XSLT stylesheets have the ability to import and include other
+                stylesheets. This allows for a modular structure for the templates to be
+                created. It also allows for easier maintenance. However, if one is working
+                with a large project like the DocBook Projects stylesheets it can be
+                difficult to remember the names and locations of all the stylesheets.
+            </p><p>
+                To this end, the XSLT editor provides content assistance for the
+                <span class="emphasis"><em>href</em></span>
+                attribute. The scope of the assistance is restricted to the project that
+                the current stylesheet that is being editted resides.
+            </p><div class="figure"><a name="fig_HREFAssistance"></a><p class="title"><b>Figure&nbsp;7.&nbsp;Include/Import href Assistance</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/hrefAssistance.png" align="middle" alt="Include/Import href Assistance"></div></div></div><br class="figure-break"></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_modeassist.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_modeassist.html
new file mode 100644
index 0000000..1fc65b0
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_modeassist.html
@@ -0,0 +1,17 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Mode attribute assistance</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor_contentassist.html" title="Content Assist"><link rel="prev" href="xsleditor_contentassist_exclude.html" title="Exclude-Result-Prefixes"><link rel="next" href="xsleditor_contentassist_namedtemplate.html" title="Named Template Assistance"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ed_ModeAssist"></a>Mode attribute assistance</h3></div></div></div><p>
+                Content assistance is available for those xsl elements that support the
+                mode attribute. For XSLT 1.0 these elements are
+                <span class="emphasis"><em>template</em></span>
+                ,
+                <span class="emphasis"><em>apply-templates</em></span>
+                , and
+                <span class="emphasis"><em>apply-imports</em></span>
+                .
+            </p><div class="figure"><a name="fig_ModeAssistance"></a><p class="title"><b>Figure&nbsp;4.&nbsp;Mode attribute assistance</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/modeAssistance.png" align="middle" alt="Mode attribute assistance"></div></div></div><br class="figure-break"><p>
+                The proposal list is populated by those modes defined on templates in the
+                current stylesheet, and any of the templates that are
+                <span class="emphasis"><em>included</em></span>
+                or
+                <span class="emphasis"><em>imported</em></span>
+                .
+            </p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_namedtemplate.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_namedtemplate.html
new file mode 100644
index 0000000..6b87501
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_namedtemplate.html
@@ -0,0 +1,7 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Named Template Assistance</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor_contentassist.html" title="Content Assist"><link rel="prev" href="xsleditor_contentassist_modeassist.html" title="Mode attribute assistance"><link rel="next" href="xsleditor_contentassist_calltemplate.html" title="Call-Template Assistance"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="ed_NamedTemplateAssist"></a>Named Template Assistance</h3></div></div></div><p>
+                Call Named templates have content assistance available for their
+                <span class="emphasis"><em>name</em></span>
+                attributes. This will provide a list of called-templates that have been
+                used, but have not yet been defined or overridden within the current
+                stylesheet.
+            </p><div class="figure"><a name="fig_NamedTemplates"></a><p class="title"><b>Figure&nbsp;5.&nbsp;Named Template Assistance</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/namedTemplate.png" align="middle" alt="Named Template Assistance"></div></div></div><br class="figure-break"></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_selecttest.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_selecttest.html
new file mode 100644
index 0000000..5541807
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_contentassist_selecttest.html
@@ -0,0 +1,27 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Select, Test, and Match Attributes</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor_contentassist.html" title="Content Assist"><link rel="prev" href="xsleditor_contentassist.html" title="Content Assist"><link rel="next" href="xsleditor_contentassist_exclude.html" title="Exclude-Result-Prefixes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="SelectTest"></a>Select, Test, and Match Attributes</h3></div></div></div><p>
+                Where ever an xsl element supports a
+                <span class="emphasis"><em>select</em></span>
+                ,
+                <span class="emphasis"><em>test</em></span>
+                , or
+                <span class="emphasis"><em>match</em></span>
+                attribute, content assistance is available. This includes support for the
+                following:
+            </p><div class="itemizedlist"><p class="title"><b>Select, Match and Test Assistance</b></p><ul type="disc"><li><p>
+                        <span class="emphasis"><em>Variables</em></span>
+                        - both local and global variables are supported within the current
+                        stylesheet. Any local or global variable will be added to the list
+                        and the name is prefixed with a dollar sign $ symbol.
+                    </p></li><li><p>
+                        <span class="emphasis"><em>XPath 1.0</em></span>
+                        - XPath 1.0 is supported through the use of templates. All of the
+                        XPath 1.0 and XSLT xpath extension functions are available, as
+                        well as
+                        <span class="emphasis"><em>axis</em></span>
+                        operations. Currently XPath 2.0 is not supported directly, but
+                        will be added in the future.
+                    </p></li></ul></div><p>Content assistance for the select and test attributes is
+                intelligent enough to know that it is within an XPath expression, and will
+                try to determine and provide content assistance based on the current
+                cursor position. If a word has been partially typed it will filter the
+                available assistance.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_debugging.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_debugging.html
new file mode 100644
index 0000000..5403388
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_debugging.html
@@ -0,0 +1,15 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Navigation</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor.html" title="XSL Editing"><link rel="prev" href="xsleditor_debugging.html" title="XSL Debugging"><link rel="next" href="../launching/launching.html" title="XSL Launching and Debugging"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N10232"></a>Navigation</h2></div></div></div><p>
+            Many of the variables, imports/includes, and templates can be navigated to
+            using the
+            <span class="emphasis"><em>Open Declaration (F3)</em></span>
+            popup menu option. They can also be navigated to directly by CTRL-Clicking on
+            the name of the variable, import/include, or template. Items that currently
+            have hyperlinking navigation are:
+        </p><div class="itemizedlist"><ul type="disc"><li><p>Called-Templates</p></li><li><p>hrefs for Import and Includes</p></li><li><p>With-Param variables</p></li></ul></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Navigation to a Named Template in an included/imported
+                stylsheet</h3><p> The hyperlinking ability will navigate you to where ever the first
+                definition of the template is defined. So if the template is defined
+                within the current stylesheet it will navigate to that definition. However
+                if it is defined in an imported or included stylesheet, or any of those
+                imported or included stylesheets it will take you to that definition. Use
+                the standard navigation errors to move back and forth during this
+                hyperlinking.</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_markers.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_markers.html
new file mode 100644
index 0000000..2937160
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_markers.html
@@ -0,0 +1,12 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSLT Markers and Annotations</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor.html" title="XSL Editing"><link rel="prev" href="xsleditor_coloring.html" title="XSLT Syntax Coloring"><link rel="next" href="xsleditor_debugging.html" title="XSL Debugging"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="xsltMarkers"></a>XSLT Markers and Annotations</h2></div></div></div><p>The XSL editor supports the ability to annotate or provide markers. These
+            annotations provide additional information about the templates and XSLT
+            elements in the stylesheet.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="xsltOverRide"></a>Template Override</h3></div></div></div><p>The XSLT editor will mark templates that have overriden an imported
+                template of the same name.</p><div class="figure"><a name="fig_OverRide1"></a><p class="title"><b>Figure&nbsp;9.&nbsp;Overriden Template</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/override1.png" align="middle" alt="Overriden Template"></div></div></div><br class="figure-break"><p>
+                In
+                <a class="xref" href="xsleditor_markers.html#fig_OverRide1" title="Figure&nbsp;9.&nbsp;Overriden Template">Figure&nbsp;9, &ldquo;Overriden Template&rdquo;</a>
+                , the template
+                <span class="emphasis"><em>TempB</em></span>
+                overrides an imported template. By moving the mouse pointer over the
+                triangle icon in the rule bar, information about which file the original
+                template resides.
+            </p><div class="figure"><a name="fig_OverRide2"></a><p class="title"><b>Figure&nbsp;10.&nbsp;Overriden Template Information</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/editor/override2.png" align="middle" alt="Overriden Template Information"></div></div></div><br class="figure-break"></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_templates.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_templates.html
new file mode 100644
index 0000000..2cf698b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_templates.html
@@ -0,0 +1,11 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Templates</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xsleditor.html" title="XSL Editing"><link rel="prev" href="xsleditor_contentassist_include.html" title="Include and Import href Assistance"><link rel="next" href="xsleditor_coloring.html" title="XSLT Syntax Coloring"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="XSLEditorTemplates"></a>Templates</h2></div></div></div><p>Specific XSL code completion templates can be added to the XML
+            editor's Templates. This allows a user to define specific markup completion
+            templates that are commonly used. In addition, the XPath Templates page can be
+            enhanced to allow commonly used XPath templates to be included, in addition to
+            those installed by default. This allows a user the ability to add custom
+            extension functions for XSLT that may be processor specific. Adopters may also
+            use the standard template extension point to add additional functionality.
+        </p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="N101E2"></a>XPath Templates</h3></div></div></div><p>The XSL XPath Templates preference page allows for a user or adopter
+                to add specific xpath extensions so that they show up in the content
+                assistance. See the XPath Templates documentation for more information.
+            </p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_validation.html b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_validation.html
new file mode 100644
index 0000000..d6df8e3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/editor/xsleditor_validation.html
@@ -0,0 +1,36 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Content Assist</title><meta content="DocBook XSL Stylesheets V1.73.2" name="generator"><link rel="start" href="../index.html" title="XSL Tooling User Documentation"><link rel="up" href="xsleditor.html" title="Chapter&nbsp;2.&nbsp;XSL Editing"><link rel="prev" href="xsleditor.html" title="Chapter&nbsp;2.&nbsp;XSL Editing"><link rel="next" href="xsleditor_templates.html" title="Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="N10056"></a>Content Assist</h2></div></div></div><p>
+		    XSL Tooling extends the existing content assistance support of the XML
+		    Editor to provide content assistance for several XSL namespace attributes.
+		    The content assistance provided covers the available XPath statements as
+		    defined in the <span class="emphasis"><em>XPath Templates</em></span> preference page.
+		</p><p>
+			The elements and attributes that have content assist available are as follows:
+		</p><div class="itemizedlist"><ul type="disc"><li><p>
+				    <span class="bold"><strong>template</strong></span> - The template element has several content assist
+				    options available for the <span class="emphasis"><em>match</em></span>, <span class="emphasis"><em>name</em></span>, and 
+				    <span class="emphasis"><em>mode</em></span> attributes.
+				</p><p>
+					Add image showing template completion.
+				</p></li><li><p>
+					<span class="bold"><strong>variable</strong></span> and <span class="bold"><strong>param</strong></span> - The variable and param elements have content assist
+					for xpath, axis, parmaters and variables that have already been predefined when using the optional
+					<span class="emphasis"><em>select</em></span> attribute.
+				</p><p>
+					Add image showing variable completion.
+				</p></li><li><p>
+					<span class="bold"><strong>if</strong></span> and <span class="bold"><strong>when</strong></span> - The
+					if and when elements have content assist for the <span class="emphasis"><em>test</em></span> attribute.
+					This content assistance is available for all paramaters and variables that are in
+					scope, as well as any available xpath or axis statement.
+				</p><p>
+					Add image showing test completion.
+				</p></li><li><p>
+			    	<span class="bold"><strong>apply-template</strong></span> - The apply template has content
+			    	assistance for both the <span class="emphasis"><em>mode</em></span> and <span class="emphasis"><em>select</em></span>
+			    	attributes. 
+			    </p><p>
+					Add image showing apply-template completion.
+				</p></li></ul></div><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">XPath 2.0 Support</h3><p>
+				Currently XPath 2.0 is not supported directly.  However, a user can add this support if they need it by
+				adding the missing XPath functions to the XPath Templates.
+			</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/general/general.html b/docs/org.eclipse.wst.xsl.doc/html/general/general.html
new file mode 100644
index 0000000..f05184e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/general/general.html
@@ -0,0 +1,27 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>General</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="../index.html" title="XSL Tools User Documentation"><link rel="prev" href="../preferences/syntaxColoring.html" title="XSLT Syntax Coloring"><link rel="next" href="../samples/samples.html" title="XSL Tooling Samples"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="N1041E"></a>General</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="general.html#XInclude">XInclude</a></span></li></ul></div><p>This section covers topics that don't have any other particular place to go.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="XInclude"></a>XInclude</h2></div></div></div><p>
+      	XInclude allows a user to import or include other XML files into one xml file.
+        It is used primarily with documentation file formats like Docbook and DITA.  It
+        allows for separating out large xml documents into more manageable chunks of information.
+      </p><p>
+      	The XSL Tools project includes an ANT task that can be run with in eclipse, eclipse
+      	headless, and without eclipse at all.   If running outside of eclipse, you will need
+      	to make sure that the jar file xinclude.jar in the org.eclipse.wst.xsl.core.jar file
+      	is made avaiable on your class path.
+      </p><div class="mediaobject" align="center"><img src="../images/general/xinclude.png" align="middle"></div><p>
+      	The following parameters are available on the xsl.xinclude ANT task:
+      </p><div class="itemizedlist"><ul type="disc"><li><p>
+      			<span class="bold"><strong>
+					in
+				</strong></span> - The full path to the input file that contains
+      			the file with the XIncludes.   If the files that it includes have includes, then
+      			those will be brought in an expanded as well.
+      		</p></li><li><p>
+					<span class="bold"><strong>out</strong></span> - The full path to the output file 
+					to be written with all includes expanded.  This is typically used as the
+					input to a stylesheet transformation process.
+				</p></li></ul></div><div class="example"><a name="N10449"></a><p class="title"><b>Example&nbsp;1.&nbsp;XInclude Example</b></p><div class="example-contents"><pre class="programlisting">
+&lt;target name="merge"&gt;
+    &lt;xsl.xinclude in="${docbooksource}/xslhelp.dbk"
+                  out="${docbooksource}/xslhelpcombined.dbk"/&gt;
+&lt;/target&gt;	    		    	
+	    	</pre></div></div><br class="example-break"></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/ExcludeContentAssist1.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/ExcludeContentAssist1.png
new file mode 100644
index 0000000..2f0f2cb
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/ExcludeContentAssist1.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/ExcludeContentAssist2.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/ExcludeContentAssist2.png
new file mode 100644
index 0000000..2e53677
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/ExcludeContentAssist2.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/calltemplate.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/calltemplate.png
new file mode 100644
index 0000000..3a13f07
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/calltemplate.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/hrefAssistance.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/hrefAssistance.png
new file mode 100644
index 0000000..5f44986
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/hrefAssistance.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/modeAssistance.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/modeAssistance.png
new file mode 100644
index 0000000..f5a9875
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/modeAssistance.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/namedTemplate.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/namedTemplate.png
new file mode 100644
index 0000000..b8bd926
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/namedTemplate.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/override1.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/override1.png
new file mode 100644
index 0000000..88b878b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/override1.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/override2.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/override2.png
new file mode 100644
index 0000000..cfc415c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/override2.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/syntaxColoring.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/syntaxColoring.png
new file mode 100644
index 0000000..85e0ebd
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/syntaxColoring.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/templatesView.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/templatesView.png
new file mode 100644
index 0000000..a1e20d9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/templatesView.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/editor/xslproposals.png b/docs/org.eclipse.wst.xsl.doc/html/images/editor/xslproposals.png
new file mode 100644
index 0000000..ffc127a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/editor/xslproposals.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/general/xinclude.png b/docs/org.eclipse.wst.xsl.doc/html/images/general/xinclude.png
new file mode 100644
index 0000000..50b9f73
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/general/xinclude.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLDebugging.png b/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLDebugging.png
new file mode 100644
index 0000000..5cb456e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLDebugging.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLOutputTab.png b/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLOutputTab.png
new file mode 100644
index 0000000..380e55e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLOutputTab.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLProcessorTab.png b/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLProcessorTab.png
new file mode 100644
index 0000000..e86f973
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLProcessorTab.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLRunDebugConfigurations.png b/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLRunDebugConfigurations.png
new file mode 100644
index 0000000..675a64f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/launching/XSLRunDebugConfigurations.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/launching/launchShortct.png b/docs/org.eclipse.wst.xsl.doc/html/images/launching/launchShortct.png
new file mode 100644
index 0000000..881813a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/launching/launchShortct.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/launching/nodesetVariable.png b/docs/org.eclipse.wst.xsl.doc/html/images/launching/nodesetVariable.png
new file mode 100644
index 0000000..d3ca7ff
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/launching/nodesetVariable.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/launching/resultView.png b/docs/org.eclipse.wst.xsl.doc/html/images/launching/resultView.png
new file mode 100644
index 0000000..d6d1b91
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/launching/resultView.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/preferences/XPathTemplates.png b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/XPathTemplates.png
new file mode 100644
index 0000000..0f89304
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/XPathTemplates.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/preferences/projectLevelValidation.png b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/projectLevelValidation.png
new file mode 100644
index 0000000..3ffe862
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/projectLevelValidation.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xm_template_xslnewfile.png b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xm_template_xslnewfile.png
new file mode 100644
index 0000000..7646a6d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xm_template_xslnewfile.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xslSyntaxColoring.png b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xslSyntaxColoring.png
new file mode 100644
index 0000000..66ebef3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xslSyntaxColoring.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xsl_InstalledProcessors.png b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xsl_InstalledProcessors.png
new file mode 100644
index 0000000..3295079
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xsl_InstalledProcessors.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xsl_outputproperties.png b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xsl_outputproperties.png
new file mode 100644
index 0000000..4e00a42
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xsl_outputproperties.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xslfeatures.png b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xslfeatures.png
new file mode 100644
index 0000000..29dbec8
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xslfeatures.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xslpreferences.png b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xslpreferences.png
new file mode 100644
index 0000000..dcb7187
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/images/preferences/xslpreferences.png
Binary files differ
diff --git a/docs/org.eclipse.wst.xsl.doc/html/index.html b/docs/org.eclipse.wst.xsl.doc/html/index.html
new file mode 100644
index 0000000..e53954b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/index.html
@@ -0,0 +1,5 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSL Tools User Documentation</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XSL Tools User Documentation"><link rel="next" href="introduction/gettingstarted.html" title="Getting Started"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="XSLUser"></a>XSL Tools User Documentation</h1></div><div><div class="author"><h3 class="author"><span class="firstname">David</span> <span class="surname">Carver</span></h3></div></div><div><p class="copyright">Copyright &copy; 2008 Eclipse Foundation and others</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="chapter"><a href="introduction/gettingstarted.html">Getting Started</a></span></li><li><span class="chapter"><a href="concepts/concepts.html">XSLT Concepts</a></span><ul><li><span class="section"><a href="concepts/concepts.html#ResucingXSLT">Rescuing XSLT From Niche Status</a></span><ul><li><span class="section"><a href="concepts/concepts.html#N10043">The Problem</a></span></li><li><span class="section"><a href="concepts/concepts.html#N10069">The Solution</a></span></li><li><span class="section"><a href="concepts/concepts.html#N10090">Queries</a></span><ul><li><span class="section"><a href="concepts/concepts.html#N1009E">xsl:for-each</a></span></li><li><span class="section"><a href="concepts/concepts.html#N100AA">xsl:if</a></span></li><li><span class="section"><a href="concepts/concepts.html#N100B4">xsl:choose</a></span></li></ul></li><li><span class="section"><a href="concepts/concepts.html#N100BE">Conclusion</a></span></li></ul></li><li><span class="section"><a href="concepts/resources.html">Resources</a></span></li></ul></li><li><span class="chapter"><a href="editor/xsleditor.html">XSL Editing</a></span><ul><li><span class="section"><a href="editor/xsleditor.html#Validation">Validation</a></span></li><li><span class="section"><a href="editor/xsleditor_contentassist.html">Content Assist</a></span><ul><li><span class="section"><a href="editor/xsleditor_contentassist.html#ed_XSLProposals">XSLT Element Proposals</a></span></li><li><span class="section"><a href="editor/xsleditor_contentassist_selecttest.html">Select, Test, and Match Attributes</a></span></li><li><span class="section"><a href="editor/xsleditor_contentassist_exclude.html">Exclude-Result-Prefixes</a></span></li><li><span class="section"><a href="editor/xsleditor_contentassist_modeassist.html">Mode attribute assistance</a></span></li><li><span class="section"><a href="editor/xsleditor_contentassist_namedtemplate.html">Named Template Assistance</a></span></li><li><span class="section"><a href="editor/xsleditor_contentassist_calltemplate.html">Call-Template Assistance</a></span></li><li><span class="section"><a href="editor/xsleditor_contentassist_include.html">
+                Include and Import
+                href
+                Assistance
+            </a></span></li></ul></li><li><span class="section"><a href="editor/xsleditor_templates.html">Templates</a></span><ul><li><span class="section"><a href="editor/xsleditor_templates.html#N101E2">XPath Templates</a></span></li></ul></li><li><span class="section"><a href="editor/xsleditor_coloring.html">XSLT Syntax Coloring</a></span></li><li><span class="section"><a href="editor/xsleditor_markers.html">XSLT Markers and Annotations</a></span><ul><li><span class="section"><a href="editor/xsleditor_markers.html#xsltOverRide">Template Override</a></span></li></ul></li><li><span class="section"><a href="editor/xsleditor_debugging.html">XSL Debugging</a></span></li><li><span class="section"><a href="editor/xsleditor_debugging.html">Navigation</a></span></li></ul></li><li><span class="chapter"><a href="launching/launching.html">XSL Launching and Debugging</a></span><ul><li><span class="section"><a href="launching/launching.html#XSLLaunch">XSL Launching</a></span><ul><li><span class="section"><a href="launching/launching.html#XSLLaunchConfig">Launch Configuration</a></span><ul><li><span class="section"><a href="launching/launching.html#XSLLaunch_Main">Main Tab</a></span></li><li><span class="section"><a href="launching/launching.html#XSLLaunch_Output">Output Tab</a></span></li><li><span class="section"><a href="launching/launching.html#XSLLaunch_Processor">Processor Tab</a></span></li></ul></li></ul></li><li><span class="section"><a href="launching/debugging.html">XSLT Debugging</a></span><ul><li><span class="section"><a href="launching/debugging.html#DebugGettingStarted">Starting a Debug Session</a></span></li><li><span class="section"><a href="launching/debugging_common.html">Common Debugging Operations</a></span><ul><li><span class="section"><a href="launching/debugging_common.html#XSLDebugResultView">Result View</a></span></li><li><span class="section"><a href="launching/debugging_variablesview.html">Variables View</a></span></li></ul></li><li><span class="section"><a href="launching/debugging_processors.html">XSLT Processor Specific Support</a></span><ul><li><span class="section"><a href="launching/debugging_processors.html#XSLDebugXalan">XSL Debugging with Xalan</a></span></li></ul></li></ul></li></ul></li><li><span class="chapter"><a href="preferences/xslpreferences.html">XSL Tools Preferences</a></span><ul><li><span class="section"><a href="preferences/xslpreferences.html#XSLFeatures">Features</a></span></li><li><span class="section"><a href="preferences/xslprocessors.html">Installed Processors</a></span></li><li><span class="section"><a href="preferences/xsloutputproperties.html">Output Properties</a></span></li><li><span class="section"><a href="preferences/xpathtemplates.html">XPath Templates</a></span><ul><li><span class="section"><a href="preferences/xpathtemplates.html#XPathTemplateNew">Creating New Templates</a></span></li><li><span class="section"><a href="preferences/xpathimport.html">Import XPath Templates</a></span></li><li><span class="section"><a href="preferences/xpathexport.html">Import XPath Templates</a></span></li></ul></li><li><span class="section"><a href="preferences/validation.html">Project Validation Preferences</a></span></li><li><span class="section"><a href="preferences/syntaxColoring.html">XSLT Syntax Coloring</a></span></li></ul></li><li><span class="chapter"><a href="general/general.html">General</a></span><ul><li><span class="section"><a href="general/general.html#XInclude">XInclude</a></span></li></ul></li><li><span class="chapter"><a href="samples/samples.html">XSL Tooling Samples</a></span><ul><li><span class="section"><a href="samples/samples.html#EclipseHelp">Eclipse Help</a></span><ul><li><span class="section"><a href="samples/samples.html#DocbookEclipseHelp">Creating Eclipse Help with Docbook and XSL Tools</a></span></li><li><span class="section"><a href="samples/samples.html#DITAEclipseHelp">Creating Eclipse Help with DITA and XSL Tools</a></span></li></ul></li></ul></li><li><span class="chapter"><a href="legal.html">Notices</a></span></li></ul></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/index.xml b/docs/org.eclipse.wst.xsl.doc/html/index.xml
new file mode 100644
index 0000000..f515bc8
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/index.xml
@@ -0,0 +1 @@
+<index></index>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/introduction/gettingstarted.html b/docs/org.eclipse.wst.xsl.doc/html/introduction/gettingstarted.html
new file mode 100644
index 0000000..d9fa038
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/introduction/gettingstarted.html
@@ -0,0 +1,6 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Getting Started</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="../index.html" title="XSL Tools User Documentation"><link rel="prev" href="../index.html" title="XSL Tools User Documentation"><link rel="next" href="../concepts/concepts.html" title="XSLT Concepts"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="N10012"></a>Getting Started</h2></div></div></div><p>  
+      XSLT stands for the eXtensible Stylesheet Language Transformations. It is
+      part of the XSL specification which includes the transformation and formatting objects
+      (XSL-FO).   XSL Tools primarily deals with the editing, launching, and debugging
+      of XSL Style sheets.
+   </p><div class="itemizedlist"><p class="title"><b>Getting Started</b></p><ul type="disc"><li><p><a class="ulink" href="../concepts/concepts.html" target="_top">Rescuing XSLT From Niche Status</a> - gives a basic introduction to XSLT from the point of view of creating HTML output.</p></li><li><p><a class="ulink" href="http://www.mulberrytech.com/quickref/" target="_top">XSLT and XPath Quick Reference Cards</a> - a set of PDF files that can be printed to provide quick references to the XSLT and XPath commands.</p></li></ul></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/launching/debugging.html b/docs/org.eclipse.wst.xsl.doc/html/launching/debugging.html
new file mode 100644
index 0000000..df2cbcd
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/launching/debugging.html
@@ -0,0 +1,21 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSLT Debugging</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="launching.html" title="XSL Launching and Debugging"><link rel="prev" href="launching.html" title="XSL Launching and Debugging"><link rel="next" href="debugging_common.html" title="Common Debugging Operations"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="XSLDebug"></a>XSLT Debugging</h2></div></div></div><p> XSL Tools provides a framework for XSLT processors to provide
+			debugging support. The support provided is highly dependent on the
+			processors. XSL Tools comes with built in support for the Xalan 2.7.1
+			processor. Debugging is only available for those processors that
+			support the feature and plug into the extension point. The XSL Tools
+			debugger leverages the existing eclipse platform Debug View</p><div class="figure"><a name="fig_XSLDebug"></a><p class="title"><b>Figure&nbsp;15.&nbsp;XSLT Debugging</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/launching/XSLDebugging.png" align="middle" alt="XSLT Debugging"></div></div></div><br class="figure-break"><p>
+			How the debugger acts will depend on the processor being used. Not
+			all XSLT processors pass the same type of information to the
+			debugger. These differences will be noted in the
+			<a class="xref" href="debugging_processors.html" title="XSLT Processor Specific Support">the section called &ldquo;XSLT Processor Specific Support&rdquo;</a>
+			section.
+		</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="DebugGettingStarted"></a>Starting a Debug Session</h3></div></div></div><p> Debugging is started the same way as launching an XSL
+				Tranformation is done. Except that the debug configuration is used
+				instead of the normal launch configuration. If a debugging session
+				is started on a processor that does not support debugging, a dialog
+				will ask if you want to switch to one of the supported debuggers.
+			</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Default JRE</h3><p> The default JRE does not have built in support for debugging,
+					even though it is based on Apache Xalan. It is recommended to use
+					Xalan or another processor provided by an adopter to do your
+					transformations. The default processor is known to have some issues
+					that Xalan and other processors do not have.</p></div></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/launching/debugging_common.html b/docs/org.eclipse.wst.xsl.doc/html/launching/debugging_common.html
new file mode 100644
index 0000000..3414c40
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/launching/debugging_common.html
@@ -0,0 +1,22 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Common Debugging Operations</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="debugging.html" title="XSLT Debugging"><link rel="prev" href="debugging.html" title="XSLT Debugging"><link rel="next" href="debugging_variablesview.html" title="Variables View"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="XSLDebugCommon"></a>Common Debugging Operations</h3></div></div></div><p>
+				XSLT debugging is handled by the eclipse platforms debugging
+				framework support as outlined in the
+				<a class="ulink" href="/help/topic/org.eclipse.platform.doc.isv/guide/debug_debug.htm" target="_top">"Program Debug and Launch Support"</a>
+				. Common operations like stepping into (F5), stepping over (F6),
+				pausing, running to a breakpoint, and relaunching are supported. In
+				addition to the standard Variable and Breakpoint views provided by
+				the platform, there are some XSLT specific views and functionality
+				as well. All of these are common regardless of the particular XSLT
+				debugger being used.
+			</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Introduction to Eclipse Debugging</h3><p>
+					<a class="ulink" href="http://www.mcs.vuw.ac.nz/courses/COMP205/2007T1/tools/eclipse/debugging/basics.shtml" target="_top">Basic Debugging in Eclipse</a>
+					contains a good general introduction to the basic features provided
+					by the Eclipse Debug view. XSL Tools leverages many of these
+					features and the same concepts apply to the XSL Tools debugger.
+				</p></div><p> In addition to the standard features and functionality, the
+				XSL Tools debugging support adds the following additional items:
+			</p><div class="itemizedlist"><ul type="disc"><li><p> Result View</p></li><li><p>XSLT specific Variables</p></li><li><p>XSLT Processor Specific Functionality</p></li></ul></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="XSLDebugResultView"></a>Result View</h4></div></div></div><p> The XSLT Debugger has a result view. This will show the
+					output that the stylesheet has generated to the current break point
+					or since the last step command was issued.</p><div class="mediaobject" align="center"><img src="../images/launching/resultView.png" align="middle"></div><p> The result view is updated throughout the debugging process,
+					and is useful to help see what output is generated at specific
+					points during a transformation.</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/launching/debugging_processors.html b/docs/org.eclipse.wst.xsl.doc/html/launching/debugging_processors.html
new file mode 100644
index 0000000..10b1922
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/launching/debugging_processors.html
@@ -0,0 +1,25 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSLT Processor Specific Support</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="debugging.html" title="XSLT Debugging"><link rel="prev" href="debugging_variablesview.html" title="Variables View"><link rel="next" href="../preferences/xslpreferences.html" title="XSL Tools Preferences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="XSLDebugProcessorSpecific"></a>XSLT Processor Specific Support</h3></div></div></div><p> Various XSLT processors provide various levels of debugging
+				support. Many do not provide support for debugging of stylesheets,
+				and thus can't be used for debugging. XSL Tools provides basic
+				support for Xalan, and can be used as a guide for adopters on how to
+				implement their own specific debugging support for other processors.
+			</p><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="XSLDebugXalan"></a>XSL Debugging with Xalan</h4></div></div></div><p> Xalan provides general stylesheet execution and evalation
+					functionality. However there are a few things that Xalan does not
+					suppor that other processors do.</p><div class="orderedlist"><p class="title"><b>Xalan Debugging Issues</b></p><ol type="1"><li><p>
+							<span class="emphasis"><em>Breakpoints</em></span>
+							- Xalan does not support stopping at Global Variables or
+							Parameters when a debugging session is started. It will
+							automatically start at the first template. Break points must be
+							placed in templates to be honored. The reason for this is that
+							Xalan lazily initializes the variables only when they are first
+							used.
+						</p></li><li><p>
+							<span class="emphasis"><em>XSLT Text elements</em></span>
+							- Xalan does not send notifications of xsl:text elements. These
+							are skipped over when debugging.
+						</p></li><li><p>
+							<span class="emphasis"><em>Built In Templates</em></span>
+							- Xalan does provide notification when the built in templates are
+							called, but currently the debugger does not support or display
+							stepping into these templates.
+						</p></li></ol></div></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/launching/debugging_variablesview.html b/docs/org.eclipse.wst.xsl.doc/html/launching/debugging_variablesview.html
new file mode 100644
index 0000000..848f6e3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/launching/debugging_variablesview.html
@@ -0,0 +1,15 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Variables View</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="debugging_common.html" title="Common Debugging Operations"><link rel="prev" href="debugging_common.html" title="Common Debugging Operations"><link rel="next" href="debugging_processors.html" title="XSLT Processor Specific Support"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="XSLDebugVariables"></a>Variables View</h4></div></div></div><p> The variables view will show all the local and global
+					variables and params that are currently in scope. There are two
+					types of variables that can be views.</p><div class="mediaobject" align="center"><img src="../images/launching/nodesetVariable.png" align="middle"></div><div class="itemizedlist"><p class="title"><b>Variable Types</b></p><ul type="disc"><li><p>
+							<span class="emphasis"><em>String</em></span>
+							- These contain text values. This could be strings of text,
+							numbers, or other characters.
+						</p></li><li><p>
+							<span class="emphasis"><em>Nodesets</em></span>
+							- Nodesets are represented in the variables view as expandable
+							variables. They contain sequences of nodes. The type of nodes are
+							represented by icons for elements, attributes, text, comments or
+							processing instructions.
+						</p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Can I change the value of variables?</h3><p> Currently the XSLT Debugger does not support changing the
+						values or contents of a variable. All XSLT variables are read
+						only.</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/launching/debuglaunching.html b/docs/org.eclipse.wst.xsl.doc/html/launching/debuglaunching.html
new file mode 100644
index 0000000..3988d97
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/launching/debuglaunching.html
@@ -0,0 +1,3 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Launch Debugging</title><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="launching.html" title="Chapter&nbsp;3.&nbsp;XSL Launching and Debugging"><link rel="prev" href="launching.html" title="Chapter&nbsp;3.&nbsp;XSL Launching and Debugging"><link rel="next" href="../preferences/xslpreferences.html" title="Chapter&nbsp;4.&nbsp;XSL Tools Preferences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="XSLDebug"></a>Launch Debugging</h2></div></div></div><p>
+	   		This is a place holder until some actual documentation can be written.
+	   </p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/launching/launching.html b/docs/org.eclipse.wst.xsl.doc/html/launching/launching.html
new file mode 100644
index 0000000..dbdb72f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/launching/launching.html
@@ -0,0 +1,52 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSL Launching and Debugging</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="../index.html" title="XSL Tools User Documentation"><link rel="prev" href="../editor/xsleditor_debugging.html" title="Navigation"><link rel="next" href="debugging.html" title="XSLT Debugging"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="N1024A"></a>XSL Launching and Debugging</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="launching.html#XSLLaunch">XSL Launching</a></span><ul><li><span class="section"><a href="launching.html#XSLLaunchConfig">Launch Configuration</a></span><ul><li><span class="section"><a href="launching.html#XSLLaunch_Main">Main Tab</a></span></li><li><span class="section"><a href="launching.html#XSLLaunch_Output">Output Tab</a></span></li><li><span class="section"><a href="launching.html#XSLLaunch_Processor">Processor Tab</a></span></li></ul></li></ul></li><li><span class="section"><a href="debugging.html">XSLT Debugging</a></span><ul><li><span class="section"><a href="debugging.html#DebugGettingStarted">Starting a Debug Session</a></span></li><li><span class="section"><a href="debugging_common.html">Common Debugging Operations</a></span><ul><li><span class="section"><a href="debugging_common.html#XSLDebugResultView">Result View</a></span></li><li><span class="section"><a href="debugging_variablesview.html">Variables View</a></span></li></ul></li><li><span class="section"><a href="debugging_processors.html">XSLT Processor Specific Support</a></span><ul><li><span class="section"><a href="debugging_processors.html#XSLDebugXalan">XSL Debugging with Xalan</a></span></li></ul></li></ul></li></ul></div><p> XSL Tools adds support for XSL Launch and Debugging
+		configurations. These allow you to setup XSL configurations for
+		various jobs, and to also debug xsl stylsheet transformations.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="XSLLaunch"></a>XSL Launching</h2></div></div></div><p>
+			In the Project Explorer, simply select the input XML file and the
+			stylesheet(s) to transform it, and then right-click and select
+			<span class="emphasis"><em>Run As &gt; XSL Transformation</em></span>
+			.
+		</p><div class="figure"><a name="fig_XSLRun"></a><p class="title"><b>Figure&nbsp;11.&nbsp;XSLT Run/Debug</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/launching/launchShortct.png" align="middle" alt="XSLT Run/Debug"></div></div></div><br class="figure-break"><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Selecting only the XSL Stylesheet</h3><p>
+				If only the XSL Stylesheet is selected then a dialog box will prompt you for the input file to use.
+			</p></div><p>
+			Launch can also be done through the Launch Configurations pages that are used for both debugging and normal transformations.
+			These configurations can be accessed through <span class="emphasis"><em>Run-&gt;Run Configurations</em></span> menu bar option.
+		</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="XSLLaunchConfig"></a>Launch Configuration</h3></div></div></div><p>
+				Currently, XSL Tools only supports the launching of java based
+				processors through the Run and Debug framework. To this point, it
+				leverages and extends some of the support provided by the Java
+				launch configurations. XSL Tools does add it's own specific features
+				for launching.
+			</p><div class="figure"><a name="fig_XSLLaunchConfig"></a><p class="title"><b>Figure&nbsp;12.&nbsp;Java XSLT Launch Configuration</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/launching/XSLRunDebugConfigurations.png" align="middle" alt="Java XSLT Launch Configuration"></div></div></div><br class="figure-break"><p>
+				The tabs Main, Output, and Processor control specifics for the XSLT processor and files to be run through
+				the transformation.
+			</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">XSLT Extensions</h3><p>If the transformation needs or makes use of extension
+					functions then those jar files should be added to the Classpath tab
+					so that they are picked up during the transformation. Otherwise the
+					transformation will fail.</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="XSLLaunch_Main"></a>Main Tab</h4></div></div></div><p>
+					As shown in <a class="xref" href="launching.html#fig_XSLLaunchConfig" title="Figure&nbsp;12.&nbsp;Java XSLT Launch Configuration">Figure&nbsp;12, &ldquo;Java XSLT Launch Configuration&rdquo;</a>, the Main Tab is where the input XML file is specified.  If a particular
+					XML file is not shown in the available list when browsing the Workspace, make sure that it is added to under the XML Content
+					Type in the General preference page.  Standard eclipse launching variables can be used to specify the location of the input file.
+				</p><p>
+					A run configuration can also use a simple pipeline transformation.  Meaning that the output from one stylesheet is used as input
+					to the next stylesheet.   The Stylesheet input box can have one to many stylesheets specified.  At least one stylesheet is required
+					for a transformation.
+				</p><p>
+					The last optional item are parameters.   Stylesheets can have parameters passed into them to setup configuration information.  An
+					example would be the numerous parameters that can be set for a DocBook stylesheet transformation.   If the parameters are not
+					specified the defaults that are defined in the stylesheet will take precedence. 
+				</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="XSLLaunch_Output"></a>Output Tab</h4></div></div></div><p>
+					The Output Tab allows the specification of where the transformation should store the information.
+					This can be relative to the workspace or a physical location outside the workspace.
+				</p><div class="figure"><a name="fig_XSLOutputTab"></a><p class="title"><b>Figure&nbsp;13.&nbsp;Java XSLT Launch Configuration</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/launching/XSLOutputTab.png" align="middle" alt="Java XSLT Launch Configuration"></div></div></div><br class="figure-break"></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="XSLLaunch_Processor"></a>Processor Tab</h4></div></div></div><p>
+					The particular XSLT processor that will be used can be choosen from this tab. The
+					default is to use the system default processor or what ever processor you have
+					set as the default processor in the preference pages.
+				</p><div class="figure"><a name="fig_XSLProcessorTab"></a><p class="title"><b>Figure&nbsp;14.&nbsp;Java XSLT Launch Configuration</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/launching/XSLProcessorTab.png" align="middle" alt="Java XSLT Launch Configuration"></div></div></div><br class="figure-break"><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">XSLT Debugging</h3><p>
+						If you are setting up a launch configuration for debugging, do not choose
+						the JRE Default processor, you should choose either Xalan or another adopters
+						processor that supports debugging.
+					</p></div><p>
+					In addition, every processor has their own configuration options that can be specified.
+					This controls such items as indentation, handling of white space, etc.  Refer to your
+					processors documentation for the specific options available.
+				</p></div></div></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/legal.html b/docs/org.eclipse.wst.xsl.doc/html/legal.html
new file mode 100644
index 0000000..4b3e8af
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/legal.html
@@ -0,0 +1,11 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Notices</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XSL Tools User Documentation"><link rel="up" href="index.html" title="XSL Tools User Documentation"><link rel="prev" href="samples/samples.html" title="XSL Tooling Samples"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="N1046F"></a>Notices</h2></div></div></div><p>
+      The material in this guide is Copyright (c) Doug Satchwell (<a class="ulink" href="http://www.chasetechnology.co.uk" target="_top">Chase Technology Ltd</a>), 
+      David Carver (<a class="ulink" href="http://www.starstandard.org" target="_top">Standards for Technology in Automotive Retail</a>)
+      and others 2008.
+    </p><p>
+		This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies 
+		this distribution, and is available at 
+		<a class="ulink" href="http://www.eclipse.org/legal/epl-v10.html" target="_top">http://www.eclipse.org/legal/epl-v10.html</a>.
+    </p><p>
+		<a class="ulink" href="about.html" target="_top">Terms and conditions regarding the use of this guide.</a>.
+	</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/preferences/syntaxColoring.html b/docs/org.eclipse.wst.xsl.doc/html/preferences/syntaxColoring.html
new file mode 100644
index 0000000..2d937aa
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/preferences/syntaxColoring.html
@@ -0,0 +1,8 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSLT Syntax Coloring</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xslpreferences.html" title="XSL Tools Preferences"><link rel="prev" href="validation.html" title="Project Validation Preferences"><link rel="next" href="../general/general.html" title="General"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pref_SyntaxColoring"></a>XSLT Syntax Coloring</h2></div></div></div><p>
+            XSL Tools also has the ability to syntax color the XSLT namespace items a different
+            color than the rest of the XML syntax included.   The default is for all XSL syntax to be
+            <span class="bold"><strong>bold</strong></span>.
+        </p><div class="figure"><a name="fig_XSLSyntaxColoringPreference"></a><p class="title"><b>Figure&nbsp;18.&nbsp;XSL Tools Syntax Coloring Preference</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/preferences/xslSyntaxColoring.png" align="middle" alt="XSL Tools Syntax Coloring Preference"></div></div></div><br class="figure-break"><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">XML Colors</h3><p>
+                The color for standard XML is still handled by the XML Files syntax coloring
+                preference page.   Changes made there are reflected in the XSL editor as well.
+            </p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/preferences/validation.html b/docs/org.eclipse.wst.xsl.doc/html/preferences/validation.html
new file mode 100644
index 0000000..e12a5ee
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/preferences/validation.html
@@ -0,0 +1,8 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Project Validation Preferences</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xslpreferences.html" title="XSL Tools Preferences"><link rel="prev" href="xpathexport.html" title="Import XPath Templates"><link rel="next" href="syntaxColoring.html" title="XSLT Syntax Coloring"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="pref_ProjectValidationPreferences"></a>Project Validation Preferences</h2></div></div></div><p>
+            XSL Tools has the ability to set both workspace wide preferences for
+            validation as well as project level preferences. These preferences, as shown
+            in
+            <a class="xref" href="validation.html#fig_ProjectLevelPreferences" title="Figure&nbsp;17.&nbsp;Project Level Validation Preferences">Figure&nbsp;17, &ldquo;Project Level Validation Preferences&rdquo;</a>
+            allow for the fine grain control of what the validator will consider to be an
+            syntax error.
+        </p><div class="figure"><a name="fig_ProjectLevelPreferences"></a><p class="title"><b>Figure&nbsp;17.&nbsp;Project Level Validation Preferences</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/preferences/projectLevelValidation.png" align="middle" alt="Project Level Validation Preferences"></div></div></div><br class="figure-break"><p> These preferences are accessed via the Projects properties dialog.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/preferences/xpathexport.html b/docs/org.eclipse.wst.xsl.doc/html/preferences/xpathexport.html
new file mode 100644
index 0000000..d027e00
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/preferences/xpathexport.html
@@ -0,0 +1 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Import XPath Templates</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xpathtemplates.html" title="XPath Templates"><link rel="prev" href="xpathimport.html" title="Import XPath Templates"><link rel="next" href="validation.html" title="Project Validation Preferences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="XPathExport"></a>Import XPath Templates</h3></div></div></div><p> Add documentation about importing new templates.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/preferences/xpathimport.html b/docs/org.eclipse.wst.xsl.doc/html/preferences/xpathimport.html
new file mode 100644
index 0000000..1becb66
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/preferences/xpathimport.html
@@ -0,0 +1 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Import XPath Templates</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xpathtemplates.html" title="XPath Templates"><link rel="prev" href="xpathtemplates.html" title="XPath Templates"><link rel="next" href="xpathexport.html" title="Import XPath Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="XPathImport"></a>Import XPath Templates</h3></div></div></div><p> Add documentation about importing new templates.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/preferences/xpathtemplates.html b/docs/org.eclipse.wst.xsl.doc/html/preferences/xpathtemplates.html
new file mode 100644
index 0000000..e5a2e69
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/preferences/xpathtemplates.html
@@ -0,0 +1,25 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XPath Templates</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xslpreferences.html" title="XSL Tools Preferences"><link rel="prev" href="xsloutputproperties.html" title="Output Properties"><link rel="next" href="xpathimport.html" title="Import XPath Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="XPathTemplates"></a>XPath Templates</h2></div></div></div><p> XPath template proposal is supported by the XSL Tooling project through the
+            built in template functionality of eclipse. Users and Adopters can add their
+            own specific xpath extensions for processor specific extensions. An example
+            would be to add the EXSLT extensions for proposal support.</p><div class="mediaobject" align="center"><img src="../images/preferences/XPathTemplates.png" align="middle"></div><p> The following content types are available:</p><div class="itemizedlist"><ul type="disc"><li><p>
+                    <span class="bold"><strong>axis</strong></span>
+                    - an XPath navigation axis statement.
+                </p></li><li><p>
+                    <span class="bold"><strong>exslt</strong></span>
+                    - An XPath statement that is defined by the
+                    <a class="ulink" href="http://www.exslt.org/" target="_top">EXSLT</a>
+                    library. Xalan and most other processors have built in support for the
+                    EXSLT library.
+                </p></li><li><p>
+                    <span class="bold"><strong>xpath</strong></span>
+                    - Represents an XPATH 1.0 function. These are functions as defined by
+                    the XPath 1.0 specification.
+                </p></li><li><p>
+                    <span class="bold"><strong>xpath 2.0</strong></span>
+                    - Represents an XPath 2.0 function.
+                    <span class="emphasis"><em>Note: That currently XSL Tools only ships with
+                        templates defined for XPath 1.0 .</em></span>
+                </p></li><li><p>
+                    <span class="bold"><strong>operator</strong></span>
+                    - An xpath logical operator like AND, OR, etc.
+                </p></li></ul></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="XPathTemplateNew"></a>Creating New Templates</h3></div></div></div><p> Add documentation about creating new templates.</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/preferences/xsloutputproperties.html b/docs/org.eclipse.wst.xsl.doc/html/preferences/xsloutputproperties.html
new file mode 100644
index 0000000..2f1b66c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/preferences/xsloutputproperties.html
@@ -0,0 +1,6 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Output Properties</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xslpreferences.html" title="XSL Tools Preferences"><link rel="prev" href="xslprocessors.html" title="Installed Processors"><link rel="next" href="xpathtemplates.html" title="XPath Templates"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="XSLOutputProperties"></a>Output Properties</h2></div></div></div><p> The various xsl processors support a wide variety of processor specific
+            tweaks. However there are several Standard processor features that all XSLT
+            processors support. These options can be set and will act as the defaults for
+            all transformations unless they are specifically overriden by the stylesheet
+            or the launch configuration.</p><div class="mediaobject" align="center"><img src="../images/preferences/xsl_outputproperties.png" align="middle"></div><p> In addition to the Standard Output Properties, each XSLT processor can have
+            processors specific features.</p></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/preferences/xslpreferences.html b/docs/org.eclipse.wst.xsl.doc/html/preferences/xslpreferences.html
new file mode 100644
index 0000000..17a26d5
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/preferences/xslpreferences.html
@@ -0,0 +1,18 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSL Tools Preferences</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="../index.html" title="XSL Tools User Documentation"><link rel="prev" href="../launching/debugging_processors.html" title="XSLT Processor Specific Support"><link rel="next" href="xslprocessors.html" title="Installed Processors"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="XSLPreferences"></a>XSL Tools Preferences</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="xslpreferences.html#XSLFeatures">Features</a></span></li><li><span class="section"><a href="xslprocessors.html">Installed Processors</a></span></li><li><span class="section"><a href="xsloutputproperties.html">Output Properties</a></span></li><li><span class="section"><a href="xpathtemplates.html">XPath Templates</a></span><ul><li><span class="section"><a href="xpathtemplates.html#XPathTemplateNew">Creating New Templates</a></span></li><li><span class="section"><a href="xpathimport.html">Import XPath Templates</a></span></li><li><span class="section"><a href="xpathexport.html">Import XPath Templates</a></span></li></ul></li><li><span class="section"><a href="validation.html">Project Validation Preferences</a></span></li><li><span class="section"><a href="syntaxColoring.html">XSLT Syntax Coloring</a></span></li></ul></div><p> The XSL Preference pages has several sub sections. Each of these allow for
+        configuration of various aspects of the preferences. From the controlling of the
+        default XSL processor to be used during transformations. To extending the content
+        assist support of the XPath functions available in the XML editor.</p><div class="figure"><a name="fig_XSLPreferences"></a><p class="title"><b>Figure&nbsp;16.&nbsp;XSL Tools Preferences</b></p><div class="figure-contents"><div class="mediaobject" align="center"><img src="../images/preferences/xslpreferences.png" align="middle" alt="XSL Tools Preferences"></div></div></div><br class="figure-break"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="XSLFeatures"></a>Features</h2></div></div></div><p> The XSL Features preference page allows for the configuration of features
+            for a particular processor. XSL Tools comes with Xalan 2.7.0 by default.
+            Adopters can extend and include their own specific features for their own
+            procesoors. An adopter could extend the tooling to support XSLT 2.0
+            transformations, and features particular to that parser.</p><div class="mediaobject" align="center"><img src="../images/preferences/xslfeatures.png" align="middle"></div><p>
+            The
+            <span class="bold"><strong>Processor Type</strong></span>
+            allows you to set features for a specific processor. In this case this is for
+            the processor that is being installed. XSL Tools comes with Xalan 2.7.0, and
+            it is the only available processor type by default.
+        </p><p> The feature table lists the features that are specific to the processor
+            that was selected. As you select each of the features, information regarding
+            that feature and it's abilities is displayed in the description box. By
+            clicking in the value column, next to the feature you want to set the value
+            for, the user can set the feature.</p></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/preferences/xslprocessors.html b/docs/org.eclipse.wst.xsl.doc/html/preferences/xslprocessors.html
new file mode 100644
index 0000000..ff799fc
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/preferences/xslprocessors.html
@@ -0,0 +1,4 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Installed Processors</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="xslpreferences.html" title="XSL Tools Preferences"><link rel="prev" href="xslpreferences.html" title="XSL Tools Preferences"><link rel="next" href="xsloutputproperties.html" title="Output Properties"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="XSLProcessors"></a>Installed Processors</h2></div></div></div><p> The installed processors page lets you pick which of the installed XSLT
+            processors will be used by default. The default is the System Default
+            Procesoor, but you can select any of the available processors to be used as
+            the default processor.</p><div class="mediaobject" align="center"><img src="../images/preferences/xsl_InstalledProcessors.png" align="middle"></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/reference/maintopic.html b/docs/org.eclipse.wst.xsl.doc/html/reference/maintopic.html
new file mode 100644
index 0000000..a476078
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/reference/maintopic.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+	<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/reference/subtopic.html b/docs/org.eclipse.wst.xsl.doc/html/reference/subtopic.html
new file mode 100644
index 0000000..8a61c50
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/reference/subtopic.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+	<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/reference/subtopic2.html b/docs/org.eclipse.wst.xsl.doc/html/reference/subtopic2.html
new file mode 100644
index 0000000..86bcbf9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/reference/subtopic2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+	<title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Sub Topic 2</h1>
+Please enter your text here.
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/html/samples/samples.html b/docs/org.eclipse.wst.xsl.doc/html/samples/samples.html
new file mode 100644
index 0000000..f684bd6
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/html/samples/samples.html
@@ -0,0 +1,11 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XSL Tooling Samples</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="../index.html" title="XSL Tools User Documentation"><link rel="up" href="../index.html" title="XSL Tools User Documentation"><link rel="prev" href="../general/general.html" title="General"><link rel="next" href="../legal.html" title="Notices"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="N10450"></a>XSL Tooling Samples</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="samples.html#EclipseHelp">Eclipse Help</a></span><ul><li><span class="section"><a href="samples.html#DocbookEclipseHelp">Creating Eclipse Help with Docbook and XSL Tools</a></span></li><li><span class="section"><a href="samples.html#DITAEclipseHelp">Creating Eclipse Help with DITA and XSL Tools</a></span></li></ul></li></ul></div><p>This section contains several samples and references to sample projects.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="EclipseHelp"></a>Eclipse Help</h2></div></div></div><p></p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="DocbookEclipseHelp"></a>Creating Eclipse Help with Docbook and XSL Tools</h3></div></div></div><p>
+				This tutorial assumes that you have knowledge of Docbook, ANT, and the
+				ability to setup ANT build scripts.
+			</p><p>
+				To Do write up the rest of the tutorial.
+			</p></div><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="DITAEclipseHelp"></a>Creating Eclipse Help with DITA and XSL Tools</h3></div></div></div><p>
+				This tutorial assumes that you have knowledge of DITA, ANT, and the
+				ability to setup ANT build scripts.
+			</p><p>
+				To Do write up the rest of the tutorial.
+			</p></div></div></div></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/plugin.properties b/docs/org.eclipse.wst.xsl.doc/plugin.properties
new file mode 100644
index 0000000..2aef5b9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/plugin.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.wst.xsl.doc
+vendorName = Eclipse Web Tools Platform
+pluginName = XSL User Documentation (Incubating)
diff --git a/docs/org.eclipse.wst.xsl.doc/plugin.xml b/docs/org.eclipse.wst.xsl.doc/plugin.xml
new file mode 100644
index 0000000..7f5a61e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/plugin.xml
@@ -0,0 +1,5 @@
+<plugin>
+	<extension point="org.eclipse.help.toc">
+		<toc primary="true" file="toc.xml"></toc>
+	</extension>
+</plugin>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.doc/toc.xml b/docs/org.eclipse.wst.xsl.doc/toc.xml
new file mode 100644
index 0000000..b4d5b96
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.doc/toc.xml
@@ -0,0 +1 @@
+<toc topic="html/index.html" label="XSL Tools User Documentation"><topic href="html/introduction/gettingstarted.html" label="Getting Started"></topic><topic href="html/concepts/concepts.html" label="XSLT Concepts"><topic href="html/concepts/concepts.html#ResucingXSLT" label="Rescuing XSLT From Niche Status"><topic href="html/concepts/concepts.html#N10043" label="The Problem"></topic><topic href="html/concepts/concepts.html#N10069" label="The Solution"></topic><topic href="html/concepts/concepts.html#N10090" label="Queries"><topic href="html/concepts/concepts.html#N1009E" label="xsl:for-each"></topic><topic href="html/concepts/concepts.html#N100AA" label="xsl:if"></topic><topic href="html/concepts/concepts.html#N100B4" label="xsl:choose"></topic></topic><topic href="html/concepts/concepts.html#N100BE" label="Conclusion"></topic></topic><topic href="html/concepts/resources.html" label="Resources"></topic></topic><topic href="html/editor/xsleditor.html" label="XSL Editing"><topic href="html/editor/xsleditor.html#Validation" label="Validation"></topic><topic href="html/editor/xsleditor_contentassist.html" label="Content Assist"><topic href="html/editor/xsleditor_contentassist.html#ed_XSLProposals" label="XSLT Element Proposals"></topic><topic href="html/editor/xsleditor_contentassist_selecttest.html" label="Select, Test, and Match Attributes"></topic><topic href="html/editor/xsleditor_contentassist_exclude.html" label="Exclude-Result-Prefixes"></topic><topic href="html/editor/xsleditor_contentassist_modeassist.html" label="Mode attribute assistance"></topic><topic href="html/editor/xsleditor_contentassist_namedtemplate.html" label="Named Template Assistance"></topic><topic href="html/editor/xsleditor_contentassist_calltemplate.html" label="Call-Template Assistance"></topic><topic href="html/editor/xsleditor_contentassist_include.html" label="Include and Import href Assistance"></topic></topic><topic href="html/editor/xsleditor_templates.html" label="Templates"><topic href="html/editor/xsleditor_templates.html#N101E2" label="XPath Templates"></topic></topic><topic href="html/editor/xsleditor_coloring.html" label="XSLT Syntax Coloring"></topic><topic href="html/editor/xsleditor_markers.html" label="XSLT Markers and Annotations"><topic href="html/editor/xsleditor_markers.html#xsltOverRide" label="Template Override"></topic></topic><topic href="html/editor/xsleditor_debugging.html" label="XSL Debugging"></topic><topic href="html/editor/xsleditor_debugging.html" label="Navigation"></topic></topic><topic href="html/launching/launching.html" label="XSL Launching and Debugging"><topic href="html/launching/launching.html#XSLLaunch" label="XSL Launching"><topic href="html/launching/launching.html#XSLLaunchConfig" label="Launch Configuration"><topic href="html/launching/launching.html#XSLLaunch_Main" label="Main Tab"></topic><topic href="html/launching/launching.html#XSLLaunch_Output" label="Output Tab"></topic><topic href="html/launching/launching.html#XSLLaunch_Processor" label="Processor Tab"></topic></topic></topic><topic href="html/launching/debugging.html" label="XSLT Debugging"><topic href="html/launching/debugging.html#DebugGettingStarted" label="Starting a Debug Session"></topic><topic href="html/launching/debugging_common.html" label="Common Debugging Operations"><topic href="html/launching/debugging_common.html#XSLDebugResultView" label="Result View"></topic><topic href="html/launching/debugging_variablesview.html" label="Variables View"></topic></topic><topic href="html/launching/debugging_processors.html" label="XSLT Processor Specific Support"><topic href="html/launching/debugging_processors.html#XSLDebugXalan" label="XSL Debugging with Xalan"></topic></topic></topic></topic><topic href="html/preferences/xslpreferences.html" label="XSL Tools Preferences"><topic href="html/preferences/xslpreferences.html#XSLFeatures" label="Features"></topic><topic href="html/preferences/xslprocessors.html" label="Installed Processors"></topic><topic href="html/preferences/xsloutputproperties.html" label="Output Properties"></topic><topic href="html/preferences/xpathtemplates.html" label="XPath Templates"><topic href="html/preferences/xpathtemplates.html#XPathTemplateNew" label="Creating New Templates"></topic><topic href="html/preferences/xpathimport.html" label="Import XPath Templates"></topic><topic href="html/preferences/xpathexport.html" label="Import XPath Templates"></topic></topic><topic href="html/preferences/validation.html" label="Project Validation Preferences"></topic><topic href="html/preferences/syntaxColoring.html" label="XSLT Syntax Coloring"></topic></topic><topic href="html/general/general.html" label="General"><topic href="html/general/general.html#XInclude" label="XInclude"></topic></topic><topic href="html/samples/samples.html" label="XSL Tooling Samples"><topic href="html/samples/samples.html#EclipseHelp" label="Eclipse Help"><topic href="html/samples/samples.html#DocbookEclipseHelp" label="Creating Eclipse Help with Docbook and XSL Tools"></topic><topic href="html/samples/samples.html#DITAEclipseHelp" label="Creating Eclipse Help with DITA and XSL Tools"></topic></topic></topic><topic href="html/legal.html" label="Notices"></topic></toc>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/.classpath b/docs/org.eclipse.wst.xsl.sdk.documentation/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/.project b/docs/org.eclipse.wst.xsl.sdk.documentation/.project
new file mode 100644
index 0000000..9fdf29d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/.project
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.wst.xsl.sdk.documentation</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/.settings/org.eclipse.jdt.core.prefs b/docs/org.eclipse.wst.xsl.sdk.documentation/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2136ed3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+#Sat Jun 21 18:22:30 GMT-05:00 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/.settings/org.eclipse.wst.validation.prefs b/docs/org.eclipse.wst.xsl.sdk.documentation/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..879153b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,17 @@
+#Sat Aug 02 08:45:39 GMT-05:00 2008
+DELEGATES_PREFERENCE=delegateValidatorList
+USER_BUILD_PREFERENCE=enabledBuildValidatorList
+USER_MANUAL_PREFERENCE=enabledManualValidatorList
+USER_PREFERENCE=overrideGlobalPreferencestruedisableAllValidationfalseversion1.2.0.v200806051402
+eclipse.preferences.version=1
+override=true
+suspend=false
+vals/org.eclipse.jst.jsp.core.JSPBatchValidator/global=FF01
+vals/org.eclipse.jst.jsp.core.JSPContentValidator/global=FF01
+vals/org.eclipse.wst.dtd.core.dtdDTDValidator/global=FF01
+vals/org.eclipse.wst.html.ui.HTMLValidator/global=FF01
+vals/org.eclipse.wst.wsdl.validation.wsdl/global=FF02158org.eclipse.wst.wsdl.validation.internal.eclipse.Validator
+vals/org.eclipse.wst.xml.core.xml/global=TT03
+vals/org.eclipse.wst.xsd.core.xsd/global=FF02162org.eclipse.wst.xsd.core.internal.validation.eclipse.Validator
+vals/org.eclipse.wst.xsl.core.xsl/global=TT02
+vf.version=3
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.xsl.sdk.documentation/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..0587e90
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.wst.xsl.sdk.documentation; singleton:=true
+Bundle-Version: 1.0.100.qualifier
+Bundle-Activator: org.eclipse.wst.xsl.sdk.documentation.Activator
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.help
+Bundle-ActivationPolicy: lazy
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Export-Package: org.eclipse.wst.xsl.sdk.documentation
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/ReadMe.txt b/docs/org.eclipse.wst.xsl.sdk.documentation/ReadMe.txt
new file mode 100644
index 0000000..06b591b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/ReadMe.txt
@@ -0,0 +1,6 @@
+To build the SDK documentation, you need the Doclet JELDocLet.jar.
+
+This can be retrieved from:
+
+http://sourceforge.net/projects/jeldoclet
+
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/about.html b/docs/org.eclipse.wst.xsl.sdk.documentation/about.html
new file mode 100644
index 0000000..2199df3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/about.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<HTML>
+
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+
+<BODY lang="EN-US">
+
+<H3>About This Content</H3>
+
+<P>June, 2008</P>
+
+<H3>License</H3>
+
+<P>The Eclipse Foundation makes available all content in this plug-in 
+("Content"). Unless otherwise indicated below, the Content is provided to you 
+under the terms and conditions of the Eclipse Public License Version 1.0 
+("EPL"). A copy of the EPL is available at
+<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>. 
+For purposes of the EPL, "Program" will mean the Content.</P>
+
+<P>If you did not receive this Content directly from the Eclipse Foundation, the 
+Content is being redistributed by another party ("Redistributor") and different 
+terms and conditions may apply to your use of any object code in the Content. 
+Check the RedistributorÂ’s license that was provided with the Content. If no such 
+license exists, contact the Redistributor. Unless otherwise indicated below, the 
+terms and conditions of the EPL still apply to any source code in the Content 
+and such source code may be obtained at
+<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
+
+</BODY>
+</HTML>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/build.properties b/docs/org.eclipse.wst.xsl.sdk.documentation/build.properties
new file mode 100644
index 0000000..1ccfc96
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/build.properties
@@ -0,0 +1,12 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+               META-INF/,\
+               .,\
+               build.xml,\
+               toc.xml,\
+               doc/html/,\
+               about.html,\
+               bin/,\
+               plugin.properties,\
+               tocExtension.xml
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/build.xml b/docs/org.eclipse.wst.xsl.sdk.documentation/build.xml
new file mode 100644
index 0000000..5be6701
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/build.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- ====================================================================== 
+     Jul 21, 2008 6:46:02 PM                                                        
+
+     SDK Documentation    
+     Builds SDK TOC Documentation using JELDoclet.
+                   
+     dcarver                                                                
+     ====================================================================== -->
+<project name="SDK Documentation" default="default">
+    <description>
+            Builds SDK TOC Documentation using JELDoclet.
+    </description>
+	
+	<property name="workspace" location="."/>
+	<property name="workspaceloc" location=".."/>
+
+    <!-- ================================= 
+          target: default              
+         ================================= -->
+    <target name="default" description="Builds SDK TOC Documentation using JELDoclet.">
+
+  	  <javadoc destdir="doc" package="true" docletpath="${workspace}/lib/jeldoclet.jar">
+  	  	 <fileset dir="${workspaceloc}">
+  	  	 	<include name="org.eclipse.wst.xsl.core/src/**/*.java"/>
+  	  	 	<include name="org.eclipse.wst.xsl.core/src_sse/**/*.java"/>
+  	  	 	<include name="org.eclipse.wst.xsl.ui/src/**/*.java"/>
+  	  	 	<include name="org.eclipse.wst.xsl.jaxp.debug/src-debugger/**/*.java"/>
+  	  	 	<include name="org.eclipse.wst.xsl.jaxp.debug/src-invoker/**/*.java"/>
+  	  	 	<include name="org.eclipse.wst.xsl.xalan/src-debugger/**/*.java"/>
+  	  	 	<include name="org.eclipse.wst.xml.xpath.core/src/**/*.java"/>
+  	  	 	<include name="org.eclipse.wst.xml.xpath.ui/src-xpath/**/*.java"/>
+  	  	 </fileset>
+  	     <doclet name="com.jeldoclet.JELDoclet"/>
+  	  </javadoc>
+    	
+     <xslt basedir="." style="doc/jeltohtml.xsl" in="doc/jel.xml" out="doc/html/deleteme.html">
+  		<factory name="org.apache.xalan.processor.TransformerFactoryImpl">
+  			<attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/>
+  		</factory>
+     </xslt>
+    	
+    	
+     <xslt style="doc/jeltotoc.xsl" in="doc/jel.xml" out="toc.xml" destdir=".">
+  		<factory name="org.apache.xalan.processor.TransformerFactoryImpl">
+  			<attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/>
+  		</factory>
+     	<param name="sdkname" expression="XSL Tools SDK Documentation"/>
+     </xslt>
+    	
+    </target>
+	
+	<target name="DocCheck">
+	  	  <javadoc destdir="doc/doccheck" package="true" docletpath="${workspace}/lib/doccheck.jar">
+	  	  	 <fileset dir="${workspaceloc}">
+	  	  	 	<include name="org.eclipse.wst.xsl.core/**/*.java"/>
+	  	  	 	<include name="org.eclipse.wst.xsl.debug/**/*.java"/>
+	  	  	 	<include name="org.eclipse.wst.xsl.debug.ui/**/*.java"/>
+	  	  	 	<include name="org.eclipse.wst.xsl.launching/**/*.java"/>
+	  	  	 	<include name="org.eclipse.wst.xsl.saxon/**/*.java"/>
+	  	  	 	<include name="org.eclipse.wst.xsl.ui/**/*.java"/>
+	  	  	 	<include name="org.eclipse.wst.xsl.xalan/src-debugger/**/*.java"/>
+	  	  	 	<include name="org.eclipse.wst.xml.xpath.core/src/**/*.java"/>
+	  	  	 	<include name="org.eclipse.wst.xml.xpath.ui/src-xpath/org/eclipse/wst/xml/xpath/ui/*.java"/>
+	  	  	 </fileset>
+	  	     <doclet name="com.sun.tools.doclets.doccheck.DocCheck">
+	  	     	<param name="-execDepth" value="2"/>
+	  	  	 </doclet>
+	  	  </javadoc>
+	</target>
+	
+	<target name="ExtensionPointDoc">
+		<pde.convertSchemaToHTML manifest="../org.eclipse.wst.xsl.jaxp.launching/plugin.xml"
+			                     destination="${workspace}/doc/html/extension_point"
+		/>
+		<pde.convertSchemaToHTML manifest="../org.eclipse.wst.xsl.ui/plugin.xml"
+			                     destination="${workspace}/doc/html/extension_point"
+		/>
+	</target>
+
+</project>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/.cvsignore b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/.cvsignore
new file mode 100644
index 0000000..d68722e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/.cvsignore
@@ -0,0 +1,299 @@
+doccheck
+org.eclipse.wst.xsl.core.internal.parser.XSLSourceParser.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.OutputPreferencePage.xml
+org.eclipse.wst.xml.xpath.ui.views.DOMViewerFilter.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.argument_return.xml
+org.eclipse.wst.xml.xpath.ui.internal.contentassist.XPathTemplateCompletionProcessor.xml
+org.eclipse.wst.xsl.core.internal.modelhandler.ModelHandlerForXSL.xml
+org.eclipse.wst.xsl.core.internal.XSLCorePlugin.xml
+org.eclipse.wst.xsl.ui.internal.XSLUIPlugin.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.InstalledProcessorsBlock.xml
+org.eclipse.wst.xsl.internal.launching.XSLTSourceLookupParticipant.xml
+org.eclipse.wst.xsl.internal.launching.registry.DebuggerRegistry.xml
+org.eclipse.wst.xsl.core.internal.model.XSLAttribute.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.output.Messages.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.variable_reference_return.xml
+org.eclipse.wst.xsl.core.internal.modelhandler.XSLModelLoader.xml
+org.eclipse.wst.xsl.ui.internal.actions.NewWizardAction.xml
+org.eclipse.wst.xsl.internal.debug.ui.model.XSLModelPresentation.xml
+org.eclipse.wst.xsl.core.resolver.XSLVersionHandler.xml
+org.eclipse.wst.xsl.internal.launching.DebuggerDescriptor.xml
+org.eclipse.wst.xsl.internal.launching.XSLTSourceLookupDirector.xml
+org.eclipse.wst.xsl.core.internal.encoding.XSLDocumentLoader.xml
+org.eclipse.wst.xsl.core.internal.text.IXSLPartitions.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.AddParameterAction.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.RemoveAction.xml
+org.eclipse.wst.xsl.core.internal.util.StructuredDocumentUtil.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter.Messages.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter.FOFormatterTab.xml
+org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistProcessor.xml
+org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizardPage.xml
+org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileTemplatesWizardPage.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.relative_location_path_return.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter.XSLFOComboBlock.xml
+org.eclipse.wst.xsl.ui.internal.style.LineStyleProviderForXSL.xml
+org.eclipse.wst.xsl.launching.IProcessorType.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.XSLMainTab.xml
+org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.EditorReferenceLabelProvider.xml
+org.eclipse.wst.xsl.core.internal.parser.regions.XPathSeparatorRegion.xml
+org.eclipse.wst.xsl.core.internal.validation.XSLValidator.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.Messages.xml
+org.eclipse.wst.xsl.internal.launching.registry.InvokerRegistryReader.xml
+org.eclipse.wst.xsl.invoker.config.TypedValue.xml
+org.eclipse.wst.xsl.core.XSLCore.xml
+org.eclipse.wst.xsl.xalan.debugger.XalanRootStyleFrame.xml
+org.eclipse.wst.xsl.core.internal.validation.Messages.xml
+org.eclipse.wst.xml.xpath.ui.internal.preferences.XPathTemplatePreferencePage.xml
+org.eclipse.wst.xsl.ui.internal.editor.XSLHyperlinkDetector.xml
+org.eclipse.wst.xsl.launching.model.Messages.xml
+org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.path_expr_return.xml
+org.eclipse.wst.xsl.ui.internal.actions.NewXMLFileWizardDelegate.xml
+org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.RefreshAction.xml
+org.eclipse.wst.xsl.invoker.Messages.xml
+org.eclipse.wst.xsl.internal.launching.OutputPropertyPreferences.xml
+org.eclipse.wst.xsl.ui.internal.preferences.AbstractXSLPreferencePage.xml
+org.eclipse.wst.xsl.invoker.config.Messages.xml
+org.eclipse.wst.xsl.core.internal.regions.XSLParserRegionFactory.xml
+org.eclipse.wst.xml.xpath.internal.ui.views.JFaceNodeLabelProviderXPath.xml
+org.eclipse.wst.xsl.ui.internal.preferences.XSLTemplatePreferencePage.xml
+org.eclipse.wst.xsl.launching.model.XSLDebugElement.xml
+org.eclipse.wst.xsl.internal.launching.XSLTLaunchConfigurationDelegate.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.Messages.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.union_expr_return.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.expr_return.xml
+org.eclipse.wst.xsl.ui.internal.actions.NewXSDFileWizardDelegate.xml
+org.eclipse.wst.xsl.internal.launching.registry.ProcessorTypeRegistryReader.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.equality_expr_return.xml
+org.eclipse.wst.xsl.core.internal.ant.XIncludeTask.xml
+org.eclipse.wst.xsl.internal.debug.ui.model.XSLBreakpointAdapterFactory.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorDetailsDialog.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.filter_expr_return.xml
+org.eclipse.wst.xsl.ui.internal.XSLUIConstants.xml
+org.eclipse.wst.xsl.debug.internal.util.XSLDebugPluginImages.xml
+org.eclipse.wst.xml.xpath.ui.internal.contentassist.CustomTemplateProposal.xml
+org.eclipse.wst.xsl.internal.launching.registry.ProcessorRegistryReader.xml
+org.eclipse.wst.xsl.internal.debug.ui.XSLTTabGroup.xml
+org.eclipse.wst.xsl.internal.launching.registry.ProcessorRegistry.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.AddWorkspaceFileAction.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.FeaturesBlock.xml
+org.eclipse.wst.xsl.core.internal.model.XSLElement.xml
+org.eclipse.wst.xsl.core.internal.model.StylesheetModel.xml
+org.eclipse.wst.xsl.core.internal.model.Import.xml
+org.eclipse.wst.xsl.ui.internal.preferences.MainPreferencePage.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.special_step_return.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.abbr_axis_specifier_return.xml
+org.eclipse.wst.xsl.invoker.TransformationException.xml
+org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchShortcut.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.AddProcessorDialog.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.XPathParserLexer.xml
+org.eclipse.wst.xml.xpath.internal.ui.views.XPathComputer.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.function_call_return.xml
+org.eclipse.wst.xml.xpath.ui.internal.XPathUIMessages.xml
+org.eclipse.wst.xsl.xalan.debugger.XalanPrintTraceListener.xml
+org.eclipse.wst.xsl.internal.launching.Utils.xml
+org.eclipse.wst.xsl.core.internal.model.Include.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.absolute_location_path_return.xml
+org.eclipse.wst.xsl.core.internal.validation.MaxErrorsExceededException.xml
+org.eclipse.wst.xml.xpath.internal.ui.views.XPathView.xml
+org.eclipse.wst.xml.xpath.ui.XPathUIMessages.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.output.OutputFileBlock.xml
+org.eclipse.wst.xsl.internal.launching.ProcessorInvokerDescriptor.xml
+org.eclipse.wst.xml.xpath.ui.internal.util.XPathPluginImageHelper.xml
+org.eclipse.wst.xsl.launching.model.XSLDebugTarget.xml
+org.eclipse.wst.xsl.invoker.IProcessorInvoker.xml
+org.eclipse.wst.xsl.core.internal.model.Variable.xml
+org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock.xml
+org.eclipse.wst.xsl.core.internal.model.Stylesheet.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorMessages.xml
+org.eclipse.wst.xsl.invoker.config.PipelineDefinition.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IParametersChangedListener.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.output.OutputTab.xml
+org.eclipse.wst.xsl.invoker.config.CreationException.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorDescriptor.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.MultipleInputDialog.FieldSummary.xml
+org.eclipse.wst.xsl.internal.launching.registry.DebuggerRegistryReader.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.ProcessorsPreferencePage.xml
+org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin.xml
+org.eclipse.wst.xml.xpath.internal.ui.views.JFaceNodeContentProviderXPath.xml
+org.eclipse.wst.xsl.ui.internal.validation.DelegatingSourceValidatorForXSL.xml
+org.eclipse.wst.xsl.ui.internal.actions.NewWSDLFileWizardDelegate.xml
+org.eclipse.wst.xml.xpath.ui.internal.util.XPathPluginImages.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.literal_return.xml
+org.eclipse.wst.xsl.core.ValidationPreferences.xml
+org.eclipse.wst.xsl.xalan.debugger.XalanTraceListener.xml
+org.eclipse.wst.xsl.ui.internal.actions.NewXSLFileWizardDelegate.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction.xml
+org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.XPathAction.xml
+org.eclipse.wst.xsl.ui.internal.actions.NewDTDFileWizardDelegate.xml
+org.eclipse.wst.xsl.ui.internal.doubleclick.XSLDoubleClickStrategy.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.relational_expr_return.xml
+org.eclipse.wst.xsl.core.internal.validation.XSLValidationMessage.xml
+org.eclipse.wst.xml.xpath.ui.internal.preferences.XPathPrefencePage.xml
+org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator2.xml
+org.eclipse.wst.xsl.launching.IProcessorInstall.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.MainTabMessages.xml
+org.eclipse.wst.xsl.core.internal.model.XSLNode.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetLabelProvider.xml
+org.eclipse.wst.xsl.ui.internal.contentassist.Messages.xml
+org.eclipse.wst.xsl.launching.config.LaunchProperties.xml
+org.eclipse.wst.xsl.core.internal.util.Debug.xml
+org.eclipse.wst.xml.xpath.ui.views.EditNamespacePrefixDialog.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.JarLabelProvider.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParametersContentProvider.xml
+jel.xml
+org.eclipse.wst.xml.xpath.core.XPathCorePlugin.xml
+org.eclipse.wst.xsl.internal.launching.PluginProcessorJar.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.primary_expr_return.xml
+org.eclipse.wst.xsl.internal.launching.XSLPropertyTester.xml
+org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock.WidgetListener.xml
+org.eclipse.wst.xsl.xalan.debugger.XalanVariable.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.number_return.xml
+org.eclipse.wst.xsl.ui.internal.validation.XSLMarkupValidator.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.xml
+org.eclipse.wst.xsl.internal.debug.ui.breakpoint.Messages.xml
+org.eclipse.wst.xsl.ui.internal.validation.DelegatingSourceValidatorForXalanXSL.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter.RendererTabMessages.xml
+org.eclipse.wst.xsl.internal.debug.ui.XSLConsoleLineTracker.xml
+org.eclipse.wst.xsl.launching.IProcessorInvoker.xml
+org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.ShowInSourceAction.xml
+org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchConfigurationTab.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter.RendererConfigurationBlock.xml
+org.eclipse.wst.xsl.internal.launching.registry.Messages.xml
+org.eclipse.wst.xsl.debugger.StyleFrame.xml
+org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.InputFileBlock.xml
+org.eclipse.wst.xsl.debugger.IXSLDebugger.xml
+org.eclipse.wst.xsl.launching.IFeature.xml
+org.eclipse.wst.xsl.internal.debug.ui.model.XSLLineBreakpointAdapter.xml
+org.eclipse.wst.xsl.ui.internal.preferences.Messages.xml
+org.eclipse.wst.xsl.internal.launching.ProcessorPreferences.xml
+org.eclipse.wst.xsl.internal.launching.PreferenceInitializer.xml
+org.eclipse.wst.xsl.debugger.DebugRunner.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.i_relative_location_path_return.xml
+org.eclipse.wst.xsl.launching.config.Messages.xml
+org.eclipse.wst.xsl.core.internal.util.FileUtil.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.XSLProcessorTab.xml
+org.eclipse.wst.xml.xpath.core.internal.parser.XPathParser.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.ProcessorLibraryBlock.xml
+org.eclipse.wst.xsl.core.internal.model.Parameter.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver.URIResolverBlock2.xml
+org.eclipse.wst.xsl.core.internal.preferences.PreferenceInitializer.xml
+org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame.xml
+org.eclipse.wst.xsl.launching.model.XSLLineBreakpoint.xml
+org.eclipse.wst.xml.xpath.ui.internal.templates.TemplateContextTypeIdsXPath.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver.Messages.xml
+org.eclipse.wst.xsl.internal.launching.registry.AbstractRegistryReader.xml
+org.eclipse.wst.xsl.internal.launching.LaunchingPlugin.xml
+org.eclipse.wst.xsl.ui.internal.templates.VersionTemplateVariableResolverXSL.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.xpath_return.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.FeaturesBlock.xml
+org.eclipse.wst.xsl.invoker.ConfigurationException.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.RemoveParameterAction.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.MultipleInputDialog.xml
+org.eclipse.wst.xsl.launching.Messages.xml
+org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizard.xml
+org.eclipse.wst.xsl.launching.model.IXSLDebugTarget.xml
+org.eclipse.wst.xsl.core.internal.Messages.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.TransformsBlock.xml
+org.eclipse.wst.xsl.invoker.JAXPSAXProcessorInvoker.xml
+org.eclipse.wst.xsl.internal.launching.OutputProperty.xml
+org.eclipse.wst.xsl.core.internal.regions.XPathRegionContext.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.ControlAccessibleListener.xml
+org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper.xml
+org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants.xml
+org.eclipse.wst.xsl.internal.launching.Messages.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.OutputBlock.xml
+org.eclipse.wst.xsl.launching.config.LaunchTransform.xml
+org.eclipse.wst.xsl.debugger.DebugConstants.xml
+org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.abbr_step_return.xml
+org.eclipse.wst.xsl.launching.config.LaunchAttribute.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.location_path_return.xml
+org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.XMLEditorsContentProvider.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer.xml
+org.eclipse.wst.xsl.debugger.Variable.xml
+org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver.WorkingDirectoryBlock.xml
+org.eclipse.wst.xsl.core.internal.model.CallTemplate.xml
+org.eclipse.wst.xsl.core.resolver.ResolverExtension.xml
+org.eclipse.wst.xsl.ui.internal.StructuredTextViewerConfigurationXSL.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParametersBlock.xml
+org.eclipse.wst.xml.xpath.ui.XPathViewPlugin.xml
+org.eclipse.wst.xsl.internal.launching.PreferenceUtil.xml
+org.eclipse.wst.xsl.launching.model.IXSLConstants.xml
+org.eclipse.wst.xsl.launching.IDebugger.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParametersLabelProvider.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.mult_expr_return.xml
+org.eclipse.wst.xsl.internal.launching.FeaturePreferences.xml
+org.eclipse.wst.xsl.launching.IOutputProperty.xml
+org.eclipse.wst.xsl.launching.model.XSLThread.xml
+org.eclipse.wst.xsl.xalan.debugger.XalanDebugger.xml
+org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport.xml
+org.eclipse.wst.xsl.launching.config.LaunchFeatures.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.FeaturesPreferencePage.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.IStylesheetEntriesChangedListener.xml
+org.eclipse.wst.xml.xpath.ui.views.DOMNodeLabelProvider.xml
+org.eclipse.wst.xsl.internal.launching.ProcessorType.xml
+org.eclipse.wst.xsl.ui.internal.validation.XSLErrorListener.xml
+org.eclipse.wst.xsl.core.internal.ant.Messages.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver.URIResolverBlock.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractParameterAction.xml
+org.eclipse.wst.xsl.launching.config.LaunchHelper.xml
+org.eclipse.wst.xsl.ui.internal.editor.SourceFileHyperlink.xml
+org.eclipse.wst.xsl.launching.model.XSLVariable.xml
+org.eclipse.wst.xsl.launching.model.XSLValue.xml
+org.eclipse.wst.xsl.launching.model.XSLStackFrame.xml
+org.eclipse.wst.xsl.core.internal.model.Template.xml
+org.eclipse.wst.xsl.internal.debug.ui.preferences.BasePreferencePage.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.predicate_expr_return.xml
+org.eclipse.wst.xsl.internal.launching.registry.ProcessorTypeRegistry.xml
+org.eclipse.wst.xsl.core.internal.xinclude.XIncluder.xml
+org.eclipse.wst.xml.xpath.ui.views.DOMTreeContentProvider.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.output.OutputPropertiesBlock.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.unary_expr_return.xml
+org.eclipse.wst.xsl.internal.launching.registry.InvokerRegistry.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.MoveUpAction.xml
+org.eclipse.wst.xsl.invoker.config.TransformDefinition.xml
+org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.OpenDialogAction.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.additive_expr_return.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.step_return.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.arg_list_return.xml
+org.eclipse.wst.xsl.debug.internal.util.XSLPluginImageHelper.xml
+org.eclipse.wst.xsl.internal.debug.ui.Messages.xml
+org.eclipse.wst.xsl.ui.internal.perspective.XMLPerspectiveFactory.xml
+org.eclipse.wst.xsl.ui.internal.handlers.OpenDeclarationHandler.xml
+org.eclipse.wst.xsl.launching.config.LaunchPipeline.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.AddExternalFileAction.xml
+org.eclipse.wst.xsl.internal.launching.ProcessorJar.xml
+org.eclipse.wst.xsl.launching.XSLTRuntime.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetContentProvider.xml
+org.eclipse.wst.xsl.core.internal.text.rules.StructuredTextPartitionerForXSL.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathLexer.xml
+org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder.xml
+org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.JarContentProvider.xml
+org.eclipse.wst.xsl.debugger.AbstractDebugger.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.ActionMessages.xml
+org.eclipse.wst.xsl.internal.launching.XSLTSourcePathComputerDelegate.xml
+org.eclipse.wst.xsl.internal.debug.ui.breakpoint.XSLBreakpointProvider.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.MoveDownAction.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorBlock.xml
+org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.Messages.xml
+org.eclipse.wst.xml.xpath.internal.ui.views.Messages.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.predicate_return.xml
+org.eclipse.wst.xml.xpath.internal.ui.views.XPathViewActions.xml
+org.eclipse.wst.xsl.ui.internal.preferences.ValidationPreferencePage.xml
+org.eclipse.wst.xsl.launching.IProcessorJar.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.or_expr_return.xml
+org.eclipse.wst.xsl.internal.debug.ui.actions.MultipleInputDialog.Validator.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.axis_return.xml
+org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIConstants.xml
+org.eclipse.wst.xsl.internal.launching.Feature.xml
+org.eclipse.wst.xsl.debugger.BreakPoint.xml
+org.eclipse.wst.xsl.launching.ProcessorInstall.xml
+org.eclipse.wst.xsl.core.internal.xpath.parser.xpathParser.and_expr_return.xml
+org.eclipse.wst.xsl.invoker.Main.xml
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/.cvsignore b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/.cvsignore
new file mode 100644
index 0000000..175a2a6
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/.cvsignore
@@ -0,0 +1 @@
+deleteme.html
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_debugger.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_debugger.html
new file mode 100644
index 0000000..c596d3e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_debugger.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>XSLT Debugger</title>
+<style type="text/css">@import url("../../book.css");</style>
+<style type="text/css">@import url("../../schema.css");</style>
+</HEAD>
+<BODY>
+<H1 style="text-align:center">XSLT Debugger</H1>
+<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.wst.xsl.launching.jaxp.debugger<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Contribute a debugger for a particular JAXP processor type (e.g. Saxon). The extension point primarily defines the classpath and transformer factory to be used when debugging.<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>
+<p></p>
+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.debugger">debugger</a>+)&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>
+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>
+<p></p>
+<ul class="ConfigMarkupAttlistDesc">
+</ul>
+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.debugger">debugger</a> EMPTY&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST debugger</p>
+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">classpath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">processorTypeId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">className&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">transformerFactoryClass&nbsp;CDATA #REQUIRED</p>&gt;</p>
+<p></p>
+<p class="ConfigMarkupElementDesc">
+A debugger for a processor type</p>
+<br>
+<ul class="ConfigMarkupAttlistDesc">
+<li><b>id</b> - A unique id for this debugger</li>
+<li><b>name</b> - A name to be displayed in the UI</li>
+<li><b>classpath</b> - A ';'-separated classpath required to run the debugger (in addition to that already added by the processor itself).</li>
+<li><b>processorTypeId</b> - The processor type that this debugger works with</li>
+<li><b>className</b> - A fully-qualified class that implement the IXSLDebugger interface. It is easier to extend AbstractXSLDebugger.</li>
+<li><b>transformerFactoryClass</b> - The fully-qualified class name of the transformer factory to use for debugging. This must be one of the transformer factories belonging to the processor type.</li>
+</ul>
+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6><pre class="Example"><span class="code SchemaTag">
+   &lt;extension
+         point=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.jaxp.launching.debugger&quot;</span><span class="code SchemaTag">&gt;
+      &lt;debugger
+            className=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.xalan.debugger.XalanDebugger&quot;</span><span class="code SchemaTag">
+            classpath=</span><span class="code SchemaCstring">&quot;${eclipse_orbit:org.eclipse.wst.xsl.xalan}&quot;</span><span class="code SchemaTag">
+            id=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.xalan.debugger&quot;</span><span class="code SchemaTag">
+            name=</span><span class="code SchemaCstring">&quot;Xalan 2.5.1 or greater&quot;</span><span class="code SchemaTag">
+            processorTypeId=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.xalan.processorType&quot;</span><span class="code SchemaTag">
+            transformerFactoryClass=</span><span class="code SchemaCstring">&quot;org.apache.xalan.processor.TransformerFactoryImpl&quot;</span><span class="code SchemaTag">&gt;
+      &lt;/debugger&gt;
+   &lt;/extension&gt;
+</span></pre>
+<p></p>
+
+<br>
+<p class="note SchemaCopyright">
+Copyright (c) 2007 Chase Technology Ltd - <a href="http://www.chasetechnology.co.uk">http://www.chasetechnology.co.uk</a>.<br>
+All rights reserved. This program and the accompanying materials are made 
+available under the terms of the Eclipse Public License v1.0 which accompanies 
+this distribution, and is available at <a
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+
+</p>
+</BODY>
+</HTML>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_invoke.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_invoke.html
new file mode 100644
index 0000000..c19c443
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_invoke.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>XSLT Processor Invoker</title>
+<style type="text/css">@import url("../../book.css");</style>
+<style type="text/css">@import url("../../schema.css");</style>
+</HEAD>
+<BODY>
+<H1 style="text-align:center">XSLT Processor Invoker</H1>
+<div style="border: 1px solid #990000; padding: 5px; text-align: center; color: red;">This extension point is internal</div>
+<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.wst.xsl.launching.jaxp.invoke<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6><b>This extension point is internal and should not be used by any other plugins.</b><p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>
+<p></p>
+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.invoker">invoker</a>)&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>
+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>
+<p></p>
+<ul class="ConfigMarkupAttlistDesc">
+</ul>
+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.invoker">invoker</a> EMPTY&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST invoker</p>
+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">classpath&nbsp;CDATA #REQUIRED</p>&gt;</p>
+<p></p>
+<ul class="ConfigMarkupAttlistDesc">
+<li><b>id</b> - Unique id for this invoker</li>
+<li><b>class</b> - A class that implements the IProcessorInvoker interface</li>
+<li><b>classpath</b> - A semi-colon separated list of jars relative to the root of the contributing plugin. One of the jars must contain the Invoker class named in the class attribute.</li>
+</ul>
+<br><br>
+<p class="note SchemaCopyright">
+Copyright (c) 2007 Chase Technology Ltd - <a href="http://www.chasetechnology.co.uk">http://www.chasetechnology.co.uk</a>.<br>
+All rights reserved. This program and the accompanying materials are made 
+available under the terms of the Eclipse Public License v1.0 which accompanies 
+this distribution, and is available at <a
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+
+</p>
+</BODY>
+</HTML>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processor.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processor.html
new file mode 100644
index 0000000..79a2cae
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processor.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>XSLT Processor</title>
+<style type="text/css">@import url("../../book.css");</style>
+<style type="text/css">@import url("../../schema.css");</style>
+</HEAD>
+<BODY>
+<H1 style="text-align:center">XSLT Processor</H1>
+<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.wst.xsl.launching.jaxp.processor<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Contribute a Java XSLT processor instance (e.g. Xalan 2.7.0). The extension point primarily defines the classpath to be used when launching an XSLT transformation.<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>
+<p></p>
+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.processor">processor</a>+)&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>
+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>
+<p></p>
+<ul class="ConfigMarkupAttlistDesc">
+</ul>
+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.processor">processor</a> EMPTY&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST processor</p>
+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">processorTypeId&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">classpath&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">debuggerId&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">supports&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p>&gt;</p>
+<p></p>
+<p class="ConfigMarkupElementDesc">
+An instance of a JAXP-compliant XSLT processor</p>
+<br>
+<ul class="ConfigMarkupAttlistDesc">
+<li><b>id</b> - A unique id for this processor instance</li>
+<li><b>label</b> - A label for this instance to be displayed in the UI</li>
+<li><b>processorTypeId</b> - The id for the processor type</li>
+<li><b>classpath</b> - The classpath to use when this processor is launched</li>
+<li><b>debuggerId</b> - The id of a debugger to associate with the processor</li>
+<li><b>supports</b> - A comma-separated list of supported XSLT versions e.g. 1.0,2.0</li>
+</ul>
+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6><pre class="Example"><span class="code SchemaTag">
+   &lt;extension
+         point=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.jaxp.launching.processor&quot;</span><span class="code SchemaTag">&gt;
+      &lt;!-- An adopter can specify the ${eclipse_orbit: } variable to indicate which eclipse
+           bundle should be added to the class path. --&gt;
+      &lt;processor
+      classpath=</span><span class="code SchemaCstring">&quot;${eclipse_orbit:org.apache.xalan};${eclipse_orbit:org.apache.xml.serializer};${eclipse_orbit:org.apache.bcel};${eclipse_orbit:java_cup.runtime}&quot;</span><span class="code SchemaTag">
+            id=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.launching.xalan.processor&quot;</span><span class="code SchemaTag">
+            label=</span><span class="code SchemaCstring">&quot;%processor.label.1&quot;</span><span class="code SchemaTag">
+            processorTypeId=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.xalan.processorType&quot;</span><span class="code SchemaTag">
+            debuggerId=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.xalan.debugger&quot;</span><span class="code SchemaTag">
+            supports=</span><span class="code SchemaCstring">&quot;1.0&quot;</span><span class="code SchemaTag">&gt;
+      &lt;/processor&gt;
+   &lt;/extension&gt;
+</span></pre>
+<p></p>
+
+<br>
+<p class="note SchemaCopyright">
+Copyright (c) 2007 Chase Technology Ltd - <a href="http://www.chasetechnology.co.uk">http://www.chasetechnology.co.uk</a>.<br>
+All rights reserved. This program and the accompanying materials are made 
+available under the terms of the Eclipse Public License v1.0 which accompanies 
+this distribution, and is available at <a
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+
+</p>
+</BODY>
+</HTML>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processorType.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processorType.html
new file mode 100644
index 0000000..d7fb5f1
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processorType.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>XSLT Processor Type</title>
+<style type="text/css">@import url("../../book.css");</style>
+<style type="text/css">@import url("../../schema.css");</style>
+</HEAD>
+<BODY>
+<H1 style="text-align:center">XSLT Processor Type</H1>
+<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.wst.xsl.launching.jaxp.processorType<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>Contribute a Java XSLT processor type (e.g. Xalan, Saxon). The processor type defines which JAXP attributes and output properies are supported, and also the transformer factory classes it contains.<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>
+<p></p>
+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.processorType">processorType</a>+)&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>
+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>
+<p></p>
+<ul class="ConfigMarkupAttlistDesc">
+</ul>
+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.processorType">processorType</a> (<a href="#e.transformerFactory">transformerFactory</a>*)&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST processorType</p>
+<p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">label&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">outputProperties&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">attributeProperties&nbsp;CDATA #IMPLIED</p>&gt;</p>
+<p></p>
+<ul class="ConfigMarkupAttlistDesc">
+<li><b>id</b> - Unique id for the processor type</li>
+<li><b>label</b> - Name for display in the UI</li>
+<li><b>outputProperties</b> - Location of a properties file containing the list of the processors output properties. Must be a path relative to the root of the bundle.</li>
+<li><b>attributeProperties</b> - Location of a properties file containing the list of the attributes supported by this processor. Must be a path relative to the root of the bundle.</li>
+</ul>
+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.transformerFactory">transformerFactory</a> EMPTY&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST transformerFactory</p>
+<p class="code SchemaDtdAttlist">factoryClass&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED</p>&gt;</p>
+<p></p>
+<p class="ConfigMarkupElementDesc">
+A TransformerFactory for this type</p>
+<br>
+<ul class="ConfigMarkupAttlistDesc">
+<li><b>factoryClass</b> - The fully-qualified transformer factory class</li>
+<li><b>name</b> - A name for this transformer factory to be displayed in the UI</li>
+</ul>
+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6><pre class="Example"><span class="code SchemaTag">
+   &lt;extension
+         point=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.jaxp.launching.processorType&quot;</span><span class="code SchemaTag">&gt;
+      &lt;processorType
+            attributeProperties=</span><span class="code SchemaCstring">&quot;XalanAttributes.properties&quot;</span><span class="code SchemaTag">
+            id=</span><span class="code SchemaCstring">&quot;org.eclipse.wst.xsl.xalan.processorType&quot;</span><span class="code SchemaTag">
+            label=</span><span class="code SchemaCstring">&quot;%processorType.label.0&quot;</span><span class="code SchemaTag">
+            outputProperties=</span><span class="code SchemaCstring">&quot;XalanOutputProperties.properties&quot;</span><span class="code SchemaTag">&gt;
+         &lt;transformerFactory
+               factoryClass=</span><span class="code SchemaCstring">&quot;org.apache.xalan.processor.TransformerFactoryImpl&quot;</span><span class="code SchemaTag">
+               name=</span><span class="code SchemaCstring">&quot;Interpretive&quot;</span><span class="code SchemaTag">&gt;
+         &lt;/transformerFactory&gt;
+         &lt;transformerFactory
+               factoryClass=</span><span class="code SchemaCstring">&quot;org.apache.xalan.xsltc.trax.TransformerFactoryImpl&quot;</span><span class="code SchemaTag">
+               name=</span><span class="code SchemaCstring">&quot;Compiling&quot;</span><span class="code SchemaTag">&gt;
+         &lt;/transformerFactory&gt;
+      &lt;/processorType&gt;
+   &lt;/extension&gt;
+</span></pre>
+<p></p>
+
+<br>
+<p class="note SchemaCopyright">
+Copyright (c) 2007 Chase Technology Ltd - <a href="http://www.chasetechnology.co.uk">http://www.chasetechnology.co.uk</a>.<br>
+All rights reserved. This program and the accompanying materials are made 
+available under the terms of the Eclipse Public License v1.0 which accompanies 
+this distribution, and is available at <a
+href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+
+</p>
+</BODY>
+</HTML>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_ui_contentAssistProcessor.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_ui_contentAssistProcessor.html
new file mode 100644
index 0000000..12d6dcb
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/extension_point/org_eclipse_wst_xsl_ui_contentAssistProcessor.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>XSL Content Assistance</title>
+<style type="text/css">@import url("../../book.css");</style>
+<style type="text/css">@import url("../../schema.css");</style>
+</HEAD>
+<BODY>
+<H1 style="text-align:center">XSL Content Assistance</H1>
+<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Identifier: </h6>org.eclipse.wst.xsl.ui.contentAssistProcessor<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Since: </h6>1.1
+<p></p>
+
+<h6 class="CaptionFigColumn SchemaHeader">Description: </h6>XSL Content Asisstance processor extension point, allows for the contribution of adopter defined XSL processor extensions.<p></p>
+<h6 class="CaptionFigColumn SchemaHeader">Configuration Markup:</h6>
+<p></p>
+<p class="code SchemaDtd">&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.processor">processor</a>+)&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST extension</p>
+<p class="code SchemaDtdAttlist">point&nbsp;CDATA #REQUIRED</p><p class="code SchemaDtdAttlist">id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED</p><p class="code SchemaDtdAttlist">name&nbsp;&nbsp;CDATA #IMPLIED</p>&gt;</p>
+<p></p>
+<ul class="ConfigMarkupAttlistDesc">
+<li><b>point</b> - A unique ID for this extension point</li>
+<li><b>name</b> - Extension point name</li>
+</ul>
+<br><p class="code SchemaDtd">&lt;!ELEMENT <a name="e.processor">processor</a> EMPTY&gt;</p>
+<p class="code SchemaDtd">&lt;!ATTLIST processor</p>
+<p class="code SchemaDtdAttlist">class&nbsp;CDATA #REQUIRED</p>&gt;</p>
+<p></p>
+<p class="ConfigMarkupElementDesc">
+Processor that provides content assistance</p>
+<br>
+<ul class="ConfigMarkupAttlistDesc">
+<li><b>class</b> - The class that implements the content assistant processor.</li>
+</ul>
+<br><h6 class="CaptionFigColumn SchemaHeader">Examples: </h6><p>&lt;extension
+       point="org.eclipse.wst.xsl.ui.contentAssistProcessor"></p>
+<p>&#160;&#160;&#160;&lt;processor
+          class="org.eclipse.wst.xml.ui.internal.contentassist.XMLContentAssistProcessor"></p>
+<p>&#160;&#160;&#160;&lt;/processor></p>
+<p>&lt;/extension></p>
+<p></p>
+
+<br>
+<p class="note SchemaCopyright">
+*******************************************************************************
+ * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver (STAR) - initial API and implementation
+ ******************************************************************************
+
+</p>
+</BODY>
+</HTML>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.XPathCorePlugin.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.XPathCorePlugin.html
new file mode 100644
index 0000000..e4b81ed
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.XPathCorePlugin.html
@@ -0,0 +1,17 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.core</strong></font><br>
+               Class XPathCorePlugin</h2><br><hr><pre>public class <strong>XPathCorePlugin</strong>
+extends Plugin</pre>The activator class controls the plug-in life cycle<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_PLUGIN_ID">PLUGIN_ID</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathCorePlugin">XPathCorePlugin</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath.core.XPathCorePlugin</code></td><td width="" align="left"><code><a href="#method_getDefault">getDefault</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the shared instance</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_start">start</a>(BundleContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_stop">stop</a>(BundleContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_PLUGIN_ID">PLUGIN_ID</a></h2><p><code>public static  java.lang.String <strong>PLUGIN_ID</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathCorePlugin">XPathCorePlugin</a></h2><p><code>public <strong>XPathCorePlugin</strong>()</code></p><p>The constructor</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getDefault">getDefault</a></h2><p><code>public org.eclipse.wst.xml.xpath.core.XPathCorePlugin <strong>getDefault</strong>()</code></p><p>Returns the shared instance</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath.core.XPathCorePlugin</code> - the shared instance</p><hr><h2><a name="method_start">start</a></h2><p><code>public void <strong>start</strong>(BundleContext context)</code></p><p></p><h3>Parameters</h3><p><code>context</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr><h2><a name="method_stop">stop</a></h2><p><code>public void <strong>stop</strong>(BundleContext context)</code></p><p></p><h3>Parameters</h3><p><code>context</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.XPathProcessorPreferences.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.XPathProcessorPreferences.html
new file mode 100644
index 0000000..c1f479b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.XPathProcessorPreferences.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.core</strong></font><br>
+               Class XPathProcessorPreferences</h2><br><hr><pre>public class <strong>XPathProcessorPreferences</strong>
+extends java.lang.Object</pre>XPath Processor preferences<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_1_0_PROCESSOR">XPATH_1_0_PROCESSOR</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_2_0_PROCESSOR">XPATH_2_0_PROCESSOR</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_OTHER">XPATH_OTHER</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathProcessorPreferences">XPathProcessorPreferences</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_XPATH_1_0_PROCESSOR">XPATH_1_0_PROCESSOR</a></h2><p><code>public static  java.lang.String <strong>XPATH_1_0_PROCESSOR</strong></code></p><hr><h2><a name="field_XPATH_2_0_PROCESSOR">XPATH_2_0_PROCESSOR</a></h2><p><code>public static  java.lang.String <strong>XPATH_2_0_PROCESSOR</strong></code></p><hr><h2><a name="field_XPATH_OTHER">XPATH_OTHER</a></h2><p><code>public static  java.lang.String <strong>XPATH_OTHER</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathProcessorPreferences">XPathProcessorPreferences</a></h2><p><code>public <strong>XPathProcessorPreferences</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.internal.preferences.PreferenceInitializer.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.internal.preferences.PreferenceInitializer.html
new file mode 100644
index 0000000..3d1ed32
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.internal.preferences.PreferenceInitializer.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.core.internal.preferences</strong></font><br>
+               Class PreferenceInitializer</h2><br><hr><pre>public class <strong>PreferenceInitializer</strong>
+extends AbstractPreferenceInitializer</pre>Preferences initializer for XSL core preferences.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_PreferenceInitializer">PreferenceInitializer</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_initializeDefaultPreferences">initializeDefaultPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_PreferenceInitializer">PreferenceInitializer</a></h2><p><code>public <strong>PreferenceInitializer</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_initializeDefaultPreferences">initializeDefaultPreferences</a></h2><p><code>public void <strong>initializeDefaultPreferences</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.NodeListImpl.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.NodeListImpl.html
new file mode 100644
index 0000000..8e7d953
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.NodeListImpl.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.core.util</strong></font><br>
+               Class NodeListImpl</h2><br><hr><pre>public class <strong>NodeListImpl</strong>
+extends java.lang.Object</pre><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private ResultSequence</code></td><td width="80%" align="left"><code><a href="#field_rs">rs</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NodeListImpl">NodeListImpl</a></strong>(ResultSequence result)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getLength">getLength</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Node</code></td><td width="" align="left"><code><a href="#method_item">item</a>(int arg0)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_rs">rs</a></h2><p><code>package-private ResultSequence <strong>rs</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NodeListImpl">NodeListImpl</a></h2><p><code>public <strong>NodeListImpl</strong>(ResultSequence result)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getLength">getLength</a></h2><p><code>public int <strong>getLength</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_item">item</a></h2><p><code>public org.w3c.dom.Node <strong>item</strong>(int arg0)</code></p><p></p><h3>Parameters</h3><p><code>arg0</code></p><h3>Returns</h3><p><code>org.w3c.dom.Node</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.XPath20Helper.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.XPath20Helper.html
new file mode 100644
index 0000000..1e95d01
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.XPath20Helper.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.core.util</strong></font><br>
+               Class XPath20Helper</h2><br><hr><pre>public class <strong>XPath20Helper</strong>
+extends java.lang.Object</pre><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPath20Helper">XPath20Helper</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_compile">compile</a>(java.lang.String xpathExp)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPath20Helper">XPath20Helper</a></h2><p><code>public <strong>XPath20Helper</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_compile">compile</a></h2><p><code>public void <strong>compile</strong>(java.lang.String xpathExp)</code></p><p></p><h3>Parameters</h3><p><code>xpathExp</code></p><h3>Throws:</h3><p><code>javax.xml.xpath.XPathExpressionException</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.XPathCoreHelper.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.XPathCoreHelper.html
new file mode 100644
index 0000000..1f907cc
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.XPathCoreHelper.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.core.util</strong></font><br>
+               Class XPathCoreHelper</h2><br><hr><pre>public class <strong>XPathCoreHelper</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathCoreHelper">XPathCoreHelper</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static Preferences</code></td><td width="" align="left"><code><a href="#method_getPreferences">getPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathCoreHelper">XPathCoreHelper</a></h2><p><code>public <strong>XPathCoreHelper</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getPreferences">getPreferences</a></h2><p><code>public Preferences <strong>getPreferences</strong>()</code></p><p></p><h3>Returns</h3><p><code>Preferences</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper.html
new file mode 100644
index 0000000..e226ec4
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper.html
@@ -0,0 +1,119 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.core.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.core.util</strong></font><br>
+               Class XSLTXPathHelper</h2><br><hr><pre>public class <strong>XSLTXPathHelper</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLTXPathHelper">XSLTXPathHelper</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code><a href="#method_calculateXPathToNode">calculateXPathToNode</a>(org.w3c.dom.Node node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns a XPath expression given a DOM Node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_compile">compile</a>(java.lang.String expression)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.apache.xpath.objects.XObject</code></td><td width="" align="left"><code><a href="#method_eval">eval</a>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Evaluate XPath string to an XObject. Using this method, XPath namespace
+ prefixes will be resolved from the namespaceNode.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.apache.xpath.objects.XObject</code></td><td width="" align="left"><code><a href="#method_eval">eval</a>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.w3c.dom.Node namespaceNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Evaluate XPath string to an XObject. XPath namespace prefixes are
+ resolved from the namespaceNode. The implementation of this is a little
+ slow, since it creates a number of objects each time it is called. This
+ could be optimized to keep the same objects around, but then
+ thread-safety issues would arise.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.apache.xpath.objects.XObject</code></td><td width="" align="left"><code><a href="#method_eval">eval</a>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.apache.xml.utils.PrefixResolver prefixResolver)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Evaluate XPath string to an XObject. XPath namespace prefixes are
+ resolved from the namespaceNode. The implementation of this is a little
+ slow, since it creates a number of objects each time it is called. This
+ could be optimized to keep the same objects around, but then
+ thread-safety issues would arise.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected static org.apache.xpath.compiler.FunctionTable</code></td><td width="" align="left"><code><a href="#method_getFunctionTable">getFunctionTable</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.w3c.dom.traversal.NodeIterator</code></td><td width="" align="left"><code><a href="#method_selectNodeIterator">selectNodeIterator</a>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Use an XPath string to select a nodelist. XPath namespace prefixes are
+ resolved from the contextNode.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.w3c.dom.traversal.NodeIterator</code></td><td width="" align="left"><code><a href="#method_selectNodeIterator">selectNodeIterator</a>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.w3c.dom.Node namespaceNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Use an XPath string to select a nodelist. XPath namespace prefixes are
+ resolved from the namespaceNode.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.w3c.dom.NodeList</code></td><td width="" align="left"><code><a href="#method_selectNodeList">selectNodeList</a>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Use an XPath string to select a nodelist. XPath namespace prefixes are
+ resolved from the contextNode.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.w3c.dom.NodeList</code></td><td width="" align="left"><code><a href="#method_selectNodeList">selectNodeList</a>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.w3c.dom.Node namespaceNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Use an XPath string to select a nodelist. XPath namespace prefixes are
+ resolved from the namespaceNode.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.w3c.dom.Node</code></td><td width="" align="left"><code><a href="#method_selectSingleNode">selectSingleNode</a>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Use an XPath string to select a single node. XPath namespace prefixes are
+ resolved from the context node, which may not be what you want (see the
+ next method).</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.w3c.dom.Node</code></td><td width="" align="left"><code><a href="#method_selectSingleNode">selectSingleNode</a>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.w3c.dom.Node namespaceNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Use an XPath string to select a single node. XPath namespace prefixes are
+ resolved from the namespaceNode.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLTXPathHelper">XSLTXPathHelper</a></h2><p><code>public <strong>XSLTXPathHelper</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_calculateXPathToNode">calculateXPathToNode</a></h2><p><code>public java.lang.String <strong>calculateXPathToNode</strong>(org.w3c.dom.Node node)</code></p><p>Returns a XPath expression given a DOM Node.</p><h3>Parameters</h3><p><code>node</code> - The DOM Node to create the XPath expression.</p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_compile">compile</a></h2><p><code>public void <strong>compile</strong>(java.lang.String expression)</code></p><p></p><h3>Parameters</h3><p><code>expression</code></p><h3>Throws:</h3><p><code>javax.xml.xpath.XPathExpressionException</code></p><hr><h2><a name="method_eval">eval</a></h2><p><code>public org.apache.xpath.objects.XObject <strong>eval</strong>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str)</code></p><p>Evaluate XPath string to an XObject. Using this method, XPath namespace
+ prefixes will be resolved from the namespaceNode.</p><h3>Parameters</h3><p><code>contextNode</code> - The node to start searching from.</p><p><code>str</code> - A valid XPath string.</p><h3>Returns</h3><p><code>org.apache.xpath.objects.XObject</code> - An XObject, which can be used to obtain a string, number,          nodelist, etc, should never be null.</p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_eval">eval</a></h2><p><code>public org.apache.xpath.objects.XObject <strong>eval</strong>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.w3c.dom.Node namespaceNode)</code></p><p>Evaluate XPath string to an XObject. XPath namespace prefixes are
+ resolved from the namespaceNode. The implementation of this is a little
+ slow, since it creates a number of objects each time it is called. This
+ could be optimized to keep the same objects around, but then
+ thread-safety issues would arise.</p><h3>Parameters</h3><p><code>contextNode</code> - The node to start searching from.</p><p><code>str</code> - A valid XPath string.</p><p><code>namespaceNode</code> - The node from which prefixes in the XPath will be resolved to             namespaces.</p><h3>Returns</h3><p><code>org.apache.xpath.objects.XObject</code> - An XObject, which can be used to obtain a string, number,          nodelist, etc, should never be null.</p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_eval">eval</a></h2><p><code>public org.apache.xpath.objects.XObject <strong>eval</strong>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.apache.xml.utils.PrefixResolver prefixResolver)</code></p><p>Evaluate XPath string to an XObject. XPath namespace prefixes are
+ resolved from the namespaceNode. The implementation of this is a little
+ slow, since it creates a number of objects each time it is called. This
+ could be optimized to keep the same objects around, but then
+ thread-safety issues would arise.</p><h3>Parameters</h3><p><code>contextNode</code> - The node to start searching from.</p><p><code>str</code> - A valid XPath string.</p><p><code>prefixResolver</code> - Will be called if the parser encounters namespace prefixes, to             resolve the prefixes to URLs.</p><h3>Returns</h3><p><code>org.apache.xpath.objects.XObject</code> - An XObject, which can be used to obtain a string, number,          nodelist, etc, should never be null.</p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_getFunctionTable">getFunctionTable</a></h2><p><code>protected org.apache.xpath.compiler.FunctionTable <strong>getFunctionTable</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.apache.xpath.compiler.FunctionTable</code></p><hr><h2><a name="method_selectNodeIterator">selectNodeIterator</a></h2><p><code>public org.w3c.dom.traversal.NodeIterator <strong>selectNodeIterator</strong>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str)</code></p><p>Use an XPath string to select a nodelist. XPath namespace prefixes are
+ resolved from the contextNode.</p><h3>Parameters</h3><p><code>contextNode</code> - The node to start searching from.</p><p><code>str</code> - A valid XPath string.</p><h3>Returns</h3><p><code>org.w3c.dom.traversal.NodeIterator</code> - A NodeIterator, should never be null.</p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_selectNodeIterator">selectNodeIterator</a></h2><p><code>public org.w3c.dom.traversal.NodeIterator <strong>selectNodeIterator</strong>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.w3c.dom.Node namespaceNode)</code></p><p>Use an XPath string to select a nodelist. XPath namespace prefixes are
+ resolved from the namespaceNode.</p><h3>Parameters</h3><p><code>contextNode</code> - The node to start searching from.</p><p><code>str</code> - A valid XPath string.</p><p><code>namespaceNode</code> - The node from which prefixes in the XPath will be resolved to             namespaces.</p><h3>Returns</h3><p><code>org.w3c.dom.traversal.NodeIterator</code> - A NodeIterator, should never be null.</p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_selectNodeList">selectNodeList</a></h2><p><code>public org.w3c.dom.NodeList <strong>selectNodeList</strong>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str)</code></p><p>Use an XPath string to select a nodelist. XPath namespace prefixes are
+ resolved from the contextNode.</p><h3>Parameters</h3><p><code>contextNode</code> - The node to start searching from.</p><p><code>str</code> - A valid XPath string.</p><h3>Returns</h3><p><code>org.w3c.dom.NodeList</code> - A NodeIterator, should never be null.</p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_selectNodeList">selectNodeList</a></h2><p><code>public org.w3c.dom.NodeList <strong>selectNodeList</strong>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.w3c.dom.Node namespaceNode)</code></p><p>Use an XPath string to select a nodelist. XPath namespace prefixes are
+ resolved from the namespaceNode.</p><h3>Parameters</h3><p><code>contextNode</code> - The node to start searching from.</p><p><code>str</code> - A valid XPath string.</p><p><code>namespaceNode</code> - The node from which prefixes in the XPath will be resolved to             namespaces.</p><h3>Returns</h3><p><code>org.w3c.dom.NodeList</code> - A NodeIterator, should never be null.</p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_selectSingleNode">selectSingleNode</a></h2><p><code>public org.w3c.dom.Node <strong>selectSingleNode</strong>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str)</code></p><p>Use an XPath string to select a single node. XPath namespace prefixes are
+ resolved from the context node, which may not be what you want (see the
+ next method).</p><h3>Parameters</h3><p><code>contextNode</code> - The node to start searching from.</p><p><code>str</code> - A valid XPath string.</p><h3>Returns</h3><p><code>org.w3c.dom.Node</code> - The first node found that matches the XPath, or null.</p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_selectSingleNode">selectSingleNode</a></h2><p><code>public org.w3c.dom.Node <strong>selectSingleNode</strong>(org.w3c.dom.Node contextNode
+         ,
+      java.lang.String str
+         ,
+      org.w3c.dom.Node namespaceNode)</code></p><p>Use an XPath string to select a single node. XPath namespace prefixes are
+ resolved from the namespaceNode.</p><h3>Parameters</h3><p><code>contextNode</code> - The node to start searching from.</p><p><code>str</code> - A valid XPath string.</p><p><code>namespaceNode</code> - The node from which prefixes in the XPath will be resolved to             namespaces.</p><h3>Returns</h3><p><code>org.w3c.dom.Node</code> - The first node found that matches the XPath, or null.</p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.XPathUIMessages.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.XPathUIMessages.html
new file mode 100644
index 0000000..a921231
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.XPathUIMessages.html
@@ -0,0 +1,53 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui</strong></font><br>
+               Class XPathUIMessages</h2><br><hr><pre>public class <strong>XPathUIMessages</strong>
+extends NLS</pre>Strings used by XPath UI<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Context">XPathNavigator_Context</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Document">XPathNavigator_Document</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_DOM_Tree">XPathNavigator_DOM_Tree</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Expression">XPathNavigator_Expression</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Namespace_Prefixes">XPathNavigator_Namespace_Prefixes</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Namespaces">XPathNavigator_Namespaces</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Namespaces_Tip">XPathNavigator_Namespaces_Tip</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Node_could_not_be_selected">XPathNavigator_Node_could_not_be_selected</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Nothing_selected">XPathNavigator_Nothing_selected</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Refresh_Source_Docs">XPathNavigator_Refresh_Source_Docs</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Refresh_Source_Docs_Tip">XPathNavigator_Refresh_Source_Docs_Tip</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Run_on_selected">XPathNavigator_Run_on_selected</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Run_XPath_Query">XPathNavigator_Run_XPath_Query</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Select_source_first">XPathNavigator_Select_source_first</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Selection">XPathNavigator_Selection</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Show_In_Source">XPathNavigator_Show_In_Source</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Show_In_Source_Tip">XPathNavigator_Show_In_Source_Tip</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_Text">XPathNavigator_Text</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_XML_Source_Document">XPathNavigator_XML_Source_Document</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_XPath_Eval_Failed">XPathNavigator_XPath_Eval_Failed</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_XPath_Navigator">XPathNavigator_XPath_Navigator</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPathNavigator_XPath_Show_In_Source_Failed">XPathNavigator_XPath_Show_In_Source_Failed</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.util.ResourceBundle</code></td><td width="" align="left"><code><a href="#method_getResourceBundle">getResourceBundle</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_XPathNavigator_Context">XPathNavigator_Context</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Context</strong></code></p><hr><h2><a name="field_XPathNavigator_Document">XPathNavigator_Document</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Document</strong></code></p><hr><h2><a name="field_XPathNavigator_DOM_Tree">XPathNavigator_DOM_Tree</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_DOM_Tree</strong></code></p><hr><h2><a name="field_XPathNavigator_Expression">XPathNavigator_Expression</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Expression</strong></code></p><hr><h2><a name="field_XPathNavigator_Namespace_Prefixes">XPathNavigator_Namespace_Prefixes</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Namespace_Prefixes</strong></code></p><hr><h2><a name="field_XPathNavigator_Namespaces">XPathNavigator_Namespaces</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Namespaces</strong></code></p><hr><h2><a name="field_XPathNavigator_Namespaces_Tip">XPathNavigator_Namespaces_Tip</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Namespaces_Tip</strong></code></p><hr><h2><a name="field_XPathNavigator_Node_could_not_be_selected">XPathNavigator_Node_could_not_be_selected</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Node_could_not_be_selected</strong></code></p><hr><h2><a name="field_XPathNavigator_Nothing_selected">XPathNavigator_Nothing_selected</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Nothing_selected</strong></code></p><hr><h2><a name="field_XPathNavigator_Refresh_Source_Docs">XPathNavigator_Refresh_Source_Docs</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Refresh_Source_Docs</strong></code></p><hr><h2><a name="field_XPathNavigator_Refresh_Source_Docs_Tip">XPathNavigator_Refresh_Source_Docs_Tip</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Refresh_Source_Docs_Tip</strong></code></p><hr><h2><a name="field_XPathNavigator_Run_on_selected">XPathNavigator_Run_on_selected</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Run_on_selected</strong></code></p><hr><h2><a name="field_XPathNavigator_Run_XPath_Query">XPathNavigator_Run_XPath_Query</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Run_XPath_Query</strong></code></p><hr><h2><a name="field_XPathNavigator_Select_source_first">XPathNavigator_Select_source_first</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Select_source_first</strong></code></p><hr><h2><a name="field_XPathNavigator_Selection">XPathNavigator_Selection</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Selection</strong></code></p><hr><h2><a name="field_XPathNavigator_Show_In_Source">XPathNavigator_Show_In_Source</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Show_In_Source</strong></code></p><hr><h2><a name="field_XPathNavigator_Show_In_Source_Tip">XPathNavigator_Show_In_Source_Tip</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Show_In_Source_Tip</strong></code></p><hr><h2><a name="field_XPathNavigator_Text">XPathNavigator_Text</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_Text</strong></code></p><hr><h2><a name="field_XPathNavigator_XML_Source_Document">XPathNavigator_XML_Source_Document</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_XML_Source_Document</strong></code></p><hr><h2><a name="field_XPathNavigator_XPath_Eval_Failed">XPathNavigator_XPath_Eval_Failed</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_XPath_Eval_Failed</strong></code></p><hr><h2><a name="field_XPathNavigator_XPath_Navigator">XPathNavigator_XPath_Navigator</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_XPath_Navigator</strong></code></p><hr><h2><a name="field_XPathNavigator_XPath_Show_In_Source_Failed">XPathNavigator_XPath_Show_In_Source_Failed</a></h2><p><code>public static  java.lang.String <strong>XPathNavigator_XPath_Show_In_Source_Failed</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getResourceBundle">getResourceBundle</a></h2><p><code>public java.util.ResourceBundle <strong>getResourceBundle</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ResourceBundle</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.XPathViewPlugin.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.XPathViewPlugin.html
new file mode 100644
index 0000000..c3434c2
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.XPathViewPlugin.html
@@ -0,0 +1,63 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui</strong></font><br>
+               Class XPathViewPlugin</h2><br><hr><pre>public class <strong>XPathViewPlugin</strong>
+extends AbstractUIPlugin</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathViewPlugin">XPathViewPlugin</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath.ui.XPathViewPlugin</code></td><td width="" align="left"><code><a href="#method_getDefault">getDefault</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the shared instance.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPluginId">getPluginId</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ResourceBundle</code></td><td width="" align="left"><code><a href="#method_getResourceBundle">getResourceBundle</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the plugin's resource bundle</td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code><a href="#method_getResourceString">getResourceString</a>(java.lang.String key)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the string from the plugin's resource bundle,
+ or 'key' if not found.</td></tr><tr valign="top"><td width="20%" align="right"><code>public ContextTypeRegistry</code></td><td width="" align="left"><code><a href="#method_getXPathTemplateContextRegistry">getXPathTemplateContextRegistry</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the template context type registry for xpath</td></tr><tr valign="top"><td width="20%" align="right"><code>public TemplateStore</code></td><td width="" align="left"><code><a href="#method_getXPathTemplateStore">getXPathTemplateStore</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the template store for the xpath templates.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_info">info</a>(java.lang.String message)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_initializeImageRegistry">initializeImageRegistry</a>(ImageRegistry reg)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_log">log</a>(java.lang.String message
+         ,
+      java.lang.Throwable ex)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_log">log</a>(java.lang.Throwable ex)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_partActivated">partActivated</a>(IWorkbenchPartReference partRef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_partBroughtToTop">partBroughtToTop</a>(IWorkbenchPartReference partRef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_partClosed">partClosed</a>(IWorkbenchPartReference partRef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_partDeactivated">partDeactivated</a>(IWorkbenchPartReference partRef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_partHidden">partHidden</a>(IWorkbenchPartReference partRef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_partInputChanged">partInputChanged</a>(IWorkbenchPartReference partRef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_partOpened">partOpened</a>(IWorkbenchPartReference partRef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_partVisible">partVisible</a>(IWorkbenchPartReference partRef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_start">start</a>(BundleContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               This method is called upon plug-in activation</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_stop">stop</a>(BundleContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               This method is called when the plug-in is stopped</td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_throwCoreException">throwCoreException</a>(java.lang.String message
+         ,
+      java.lang.Throwable t)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_updateXPathNavigatorView">updateXPathNavigatorView</a>(IWorkbenchPartReference partRef)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_warn">warn</a>(java.lang.String message)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathViewPlugin">XPathViewPlugin</a></h2><p><code>public <strong>XPathViewPlugin</strong>()</code></p><p>The constructor.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getDefault">getDefault</a></h2><p><code>public org.eclipse.wst.xml.xpath.ui.XPathViewPlugin <strong>getDefault</strong>()</code></p><p>Returns the shared instance.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath.ui.XPathViewPlugin</code></p><hr><h2><a name="method_getPluginId">getPluginId</a></h2><p><code>public java.lang.String <strong>getPluginId</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getResourceBundle">getResourceBundle</a></h2><p><code>public java.util.ResourceBundle <strong>getResourceBundle</strong>()</code></p><p>Returns the plugin's resource bundle</p><h3>Returns</h3><p><code>java.util.ResourceBundle</code></p><hr><h2><a name="method_getResourceString">getResourceString</a></h2><p><code>public java.lang.String <strong>getResourceString</strong>(java.lang.String key)</code></p><p>Returns the string from the plugin's resource bundle,
+ or 'key' if not found.</p><h3>Parameters</h3><p><code>key</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getXPathTemplateContextRegistry">getXPathTemplateContextRegistry</a></h2><p><code>public ContextTypeRegistry <strong>getXPathTemplateContextRegistry</strong>()</code></p><p>Returns the template context type registry for xpath</p><h3>Returns</h3><p><code>ContextTypeRegistry</code> - the template context type registry for xpath</p><hr><h2><a name="method_getXPathTemplateStore">getXPathTemplateStore</a></h2><p><code>public TemplateStore <strong>getXPathTemplateStore</strong>()</code></p><p>Returns the template store for the xpath templates.</p><h3>Returns</h3><p><code>TemplateStore</code> - the template store for the xpath templates</p><hr><h2><a name="method_info">info</a></h2><p><code>public void <strong>info</strong>(java.lang.String message)</code></p><p></p><h3>Parameters</h3><p><code>message</code></p><hr><h2><a name="method_initializeImageRegistry">initializeImageRegistry</a></h2><p><code>protected void <strong>initializeImageRegistry</strong>(ImageRegistry reg)</code></p><p></p><h3>Parameters</h3><p><code>reg</code></p><hr><h2><a name="method_log">log</a></h2><p><code>public void <strong>log</strong>(java.lang.String message
+         ,
+      java.lang.Throwable ex)</code></p><p></p><h3>Parameters</h3><p><code>message</code></p><p><code>ex</code></p><hr><h2><a name="method_log">log</a></h2><p><code>public void <strong>log</strong>(java.lang.Throwable ex)</code></p><p></p><h3>Parameters</h3><p><code>ex</code></p><hr><h2><a name="method_partActivated">partActivated</a></h2><p><code>public void <strong>partActivated</strong>(IWorkbenchPartReference partRef)</code></p><p></p><h3>Parameters</h3><p><code>partRef</code></p><hr><h2><a name="method_partBroughtToTop">partBroughtToTop</a></h2><p><code>public void <strong>partBroughtToTop</strong>(IWorkbenchPartReference partRef)</code></p><p></p><h3>Parameters</h3><p><code>partRef</code></p><hr><h2><a name="method_partClosed">partClosed</a></h2><p><code>public void <strong>partClosed</strong>(IWorkbenchPartReference partRef)</code></p><p></p><h3>Parameters</h3><p><code>partRef</code></p><hr><h2><a name="method_partDeactivated">partDeactivated</a></h2><p><code>public void <strong>partDeactivated</strong>(IWorkbenchPartReference partRef)</code></p><p></p><h3>Parameters</h3><p><code>partRef</code></p><hr><h2><a name="method_partHidden">partHidden</a></h2><p><code>public void <strong>partHidden</strong>(IWorkbenchPartReference partRef)</code></p><p></p><h3>Parameters</h3><p><code>partRef</code></p><hr><h2><a name="method_partInputChanged">partInputChanged</a></h2><p><code>public void <strong>partInputChanged</strong>(IWorkbenchPartReference partRef)</code></p><p></p><h3>Parameters</h3><p><code>partRef</code></p><hr><h2><a name="method_partOpened">partOpened</a></h2><p><code>public void <strong>partOpened</strong>(IWorkbenchPartReference partRef)</code></p><p></p><h3>Parameters</h3><p><code>partRef</code></p><hr><h2><a name="method_partVisible">partVisible</a></h2><p><code>public void <strong>partVisible</strong>(IWorkbenchPartReference partRef)</code></p><p></p><h3>Parameters</h3><p><code>partRef</code></p><hr><h2><a name="method_start">start</a></h2><p><code>public void <strong>start</strong>(BundleContext context)</code></p><p>This method is called upon plug-in activation</p><h3>Parameters</h3><p><code>context</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr><h2><a name="method_stop">stop</a></h2><p><code>public void <strong>stop</strong>(BundleContext context)</code></p><p>This method is called when the plug-in is stopped</p><h3>Parameters</h3><p><code>context</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr><h2><a name="method_throwCoreException">throwCoreException</a></h2><p><code>public void <strong>throwCoreException</strong>(java.lang.String message
+         ,
+      java.lang.Throwable t)</code></p><p></p><h3>Parameters</h3><p><code>message</code></p><p><code>t</code></p><h3>Throws:</h3><p><code>CoreException</code></p><hr><h2><a name="method_updateXPathNavigatorView">updateXPathNavigatorView</a></h2><p><code>protected void <strong>updateXPathNavigatorView</strong>(IWorkbenchPartReference partRef)</code></p><p></p><h3>Parameters</h3><p><code>partRef</code></p><hr><h2><a name="method_warn">warn</a></h2><p><code>public void <strong>warn</strong>(java.lang.String message)</code></p><p></p><h3>Parameters</h3><p><code>message</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.DOMNodeLabelProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.DOMNodeLabelProvider.html
new file mode 100644
index 0000000..b4596d3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.DOMNodeLabelProvider.html
@@ -0,0 +1,11 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class DOMNodeLabelProvider</h2><br><hr><pre>public class <strong>DOMNodeLabelProvider</strong>
+extends LabelProvider</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DOMNodeLabelProvider">DOMNodeLabelProvider</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public Image</code></td><td width="" align="left"><code><a href="#method_getImage">getImage</a>(java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getText">getText</a>(java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_DOMNodeLabelProvider">DOMNodeLabelProvider</a></h2><p><code>public <strong>DOMNodeLabelProvider</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getImage">getImage</a></h2><p><code>public Image <strong>getImage</strong>(java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>Image</code></p><hr><h2><a name="method_getText">getText</a></h2><p><code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.DOMTreeContentProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.DOMTreeContentProvider.html
new file mode 100644
index 0000000..7ea99b3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.DOMTreeContentProvider.html
@@ -0,0 +1,33 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class DOMTreeContentProvider</h2><br><hr><pre>public class <strong>DOMTreeContentProvider</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private org.w3c.dom.Node</code></td><td width="80%" align="left"><code><a href="#field_node">node</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  java.lang.Object[]</code></td><td width="80%" align="left"><code><a href="#field_NOTHING">NOTHING</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DOMTreeContentProvider">DOMTreeContentProvider</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getChildren">getChildren</a>(java.lang.Object parentElement)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getElements">getElements</a>(java.lang.Object inputElement)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getParent">getParent</a>(java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_hasChildren">hasChildren</a>(java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_inputChanged">inputChanged</a>(Viewer viewer
+         ,
+      java.lang.Object oldInput
+         ,
+      java.lang.Object newInput)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_node">node</a></h2><p><code>package-private org.w3c.dom.Node <strong>node</strong></code></p><hr><h2><a name="field_NOTHING">NOTHING</a></h2><p><code>package-private static  java.lang.Object[] <strong>NOTHING</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_DOMTreeContentProvider">DOMTreeContentProvider</a></h2><p><code>public <strong>DOMTreeContentProvider</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_getChildren">getChildren</a></h2><p><code>public java.lang.Object[] <strong>getChildren</strong>(java.lang.Object parentElement)</code></p><p></p><h3>Parameters</h3><p><code>parentElement</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_getElements">getElements</a></h2><p><code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object inputElement)</code></p><p></p><h3>Parameters</h3><p><code>inputElement</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_getParent">getParent</a></h2><p><code>public java.lang.Object <strong>getParent</strong>(java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_hasChildren">hasChildren</a></h2><p><code>public boolean <strong>hasChildren</strong>(java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_inputChanged">inputChanged</a></h2><p><code>public void <strong>inputChanged</strong>(Viewer viewer
+         ,
+      java.lang.Object oldInput
+         ,
+      java.lang.Object newInput)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>oldInput</code></p><p><code>newInput</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.DOMViewerFilter.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.DOMViewerFilter.html
new file mode 100644
index 0000000..5724acf
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.DOMViewerFilter.html
@@ -0,0 +1,17 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class DOMViewerFilter</h2><br><hr><pre>public class <strong>DOMViewerFilter</strong>
+extends ViewerFilter</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DOMViewerFilter">DOMViewerFilter</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_select">select</a>(Viewer viewer
+         ,
+      java.lang.Object parentElement
+         ,
+      java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_DOMViewerFilter">DOMViewerFilter</a></h2><p><code>public <strong>DOMViewerFilter</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_select">select</a></h2><p><code>public boolean <strong>select</strong>(Viewer viewer
+         ,
+      java.lang.Object parentElement
+         ,
+      java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>parentElement</code></p><p><code>element</code></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.EditNamespacePrefixDialog.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.EditNamespacePrefixDialog.html
new file mode 100644
index 0000000..351929b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.EditNamespacePrefixDialog.html
@@ -0,0 +1,37 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class EditNamespacePrefixDialog</h2><br><hr><pre>public class <strong>EditNamespacePrefixDialog</strong>
+extends Dialog</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected Label</code></td><td width="80%" align="left"><code><a href="#field_errorMessageLabel">errorMessageLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="80%" align="left"><code><a href="#field_namespaceInfoList">namespaceInfoList</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IPath</code></td><td width="80%" align="left"><code><a href="#field_resourceLocation">resourceLocation</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_EditNamespacePrefixDialog">EditNamespacePrefixDialog</a></strong>(Shell parentShell
+         ,
+      IPath resourceLocation)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_createButtonsForButtonBar">createButtonsForButtonBar</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Control</code></td><td width="" align="left"><code><a href="#method_createDialogArea">createDialogArea</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Control</code></td><td width="" align="left"><code><a href="#method_getDialogArea">getDialogArea</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getNamespaceInfoList">getNamespaceInfoList</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setNamespaceInfoList">setNamespaceInfoList</a>(java.util.List list)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_updateErrorMessage">updateErrorMessage</a>(java.util.List namespaceInfoList)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_updateOccured">updateOccured</a>(java.lang.Object object
+         ,
+      java.lang.Object arg)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_errorMessageLabel">errorMessageLabel</a></h2><p><code>protected Label <strong>errorMessageLabel</strong></code></p><hr><h2><a name="field_namespaceInfoList">namespaceInfoList</a></h2><p><code>protected java.util.List <strong>namespaceInfoList</strong></code></p><hr><h2><a name="field_resourceLocation">resourceLocation</a></h2><p><code>protected IPath <strong>resourceLocation</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_EditNamespacePrefixDialog">EditNamespacePrefixDialog</a></h2><p><code>public <strong>EditNamespacePrefixDialog</strong>(Shell parentShell
+         ,
+      IPath resourceLocation)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createButtonsForButtonBar">createButtonsForButtonBar</a></h2><p><code>protected void <strong>createButtonsForButtonBar</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><hr><h2><a name="method_createDialogArea">createDialogArea</a></h2><p><code>protected Control <strong>createDialogArea</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Control</code></p><hr><h2><a name="method_getDialogArea">getDialogArea</a></h2><p><code>protected Control <strong>getDialogArea</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Control</code></p><hr><h2><a name="method_getNamespaceInfoList">getNamespaceInfoList</a></h2><p><code>public java.util.List <strong>getNamespaceInfoList</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_setNamespaceInfoList">setNamespaceInfoList</a></h2><p><code>public void <strong>setNamespaceInfoList</strong>(java.util.List list)</code></p><p></p><h3>Parameters</h3><p><code>list</code></p><hr><h2><a name="method_updateErrorMessage">updateErrorMessage</a></h2><p><code>public void <strong>updateErrorMessage</strong>(java.util.List namespaceInfoList)</code></p><p></p><h3>Parameters</h3><p><code>namespaceInfoList</code></p><hr><h2><a name="method_updateOccured">updateOccured</a></h2><p><code>public void <strong>updateOccured</strong>(java.lang.Object object
+         ,
+      java.lang.Object arg)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><p><code>arg</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.EditorReferenceLabelProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.EditorReferenceLabelProvider.html
new file mode 100644
index 0000000..6c0fcc3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.EditorReferenceLabelProvider.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class XPathNavigator.EditorReferenceLabelProvider</h2><br><hr><pre>package-private class <strong>XPathNavigator.EditorReferenceLabelProvider</strong>
+extends LabelProvider</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  char</code></td><td width="80%" align="left"><code><a href="#field_DIRTY_INDICATOR">DIRTY_INDICATOR</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               A string used to indicate that an editor is dirty</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.EditorReferenceLabelProvider">XPathNavigator.EditorReferenceLabelProvider</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public Image</code></td><td width="" align="left"><code><a href="#method_getImage">getImage</a>(java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getText">getText</a>(java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_DIRTY_INDICATOR">DIRTY_INDICATOR</a></h2><p><code>public static  char <strong>DIRTY_INDICATOR</strong></code></p><table><tr><td>A string used to indicate that an editor is dirty</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathNavigator.EditorReferenceLabelProvider">XPathNavigator.EditorReferenceLabelProvider</a></h2><p><code>package-private <strong>XPathNavigator.EditorReferenceLabelProvider</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getImage">getImage</a></h2><p><code>public Image <strong>getImage</strong>(java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>Image</code></p><hr><h2><a name="method_getText">getText</a></h2><p><code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.RefreshAction.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.RefreshAction.html
new file mode 100644
index 0000000..3fbec3a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.RefreshAction.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class XPathNavigator.RefreshAction</h2><br><hr><pre>package-private class <strong>XPathNavigator.RefreshAction</strong>
+extends Action</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.RefreshAction">XPathNavigator.RefreshAction</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_run">run</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathNavigator.RefreshAction">XPathNavigator.RefreshAction</a></h2><p><code>package-private <strong>XPathNavigator.RefreshAction</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_run">run</a></h2><p><code>public void <strong>run</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.ShowInSourceAction.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.ShowInSourceAction.html
new file mode 100644
index 0000000..9ecb08e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.ShowInSourceAction.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class XPathNavigator.ShowInSourceAction</h2><br><hr><pre>package-private class <strong>XPathNavigator.ShowInSourceAction</strong>
+extends Action</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.ShowInSourceAction">XPathNavigator.ShowInSourceAction</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_run">run</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathNavigator.ShowInSourceAction">XPathNavigator.ShowInSourceAction</a></h2><p><code>package-private <strong>XPathNavigator.ShowInSourceAction</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_run">run</a></h2><p><code>public void <strong>run</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.XMLEditorsContentProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.XMLEditorsContentProvider.html
new file mode 100644
index 0000000..d357359
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.XMLEditorsContentProvider.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class XPathNavigator.XMLEditorsContentProvider</h2><br><hr><pre>package-private class <strong>XPathNavigator.XMLEditorsContentProvider</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.XMLEditorsContentProvider">XPathNavigator.XMLEditorsContentProvider</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getElements">getElements</a>(java.lang.Object inputElement)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_inputChanged">inputChanged</a>(Viewer viewer
+         ,
+      java.lang.Object oldInput
+         ,
+      java.lang.Object newInput)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathNavigator.XMLEditorsContentProvider">XPathNavigator.XMLEditorsContentProvider</a></h2><p><code>package-private <strong>XPathNavigator.XMLEditorsContentProvider</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_getElements">getElements</a></h2><p><code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object inputElement)</code></p><p></p><h3>Parameters</h3><p><code>inputElement</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_inputChanged">inputChanged</a></h2><p><code>public void <strong>inputChanged</strong>(Viewer viewer
+         ,
+      java.lang.Object oldInput
+         ,
+      java.lang.Object newInput)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>oldInput</code></p><p><code>newInput</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.XPathAction.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.XPathAction.html
new file mode 100644
index 0000000..d8a4d8f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.XPathAction.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class XPathNavigator.XPathAction</h2><br><hr><pre>package-private class <strong>XPathNavigator.XPathAction</strong>
+extends Action</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.XPathAction">XPathNavigator.XPathAction</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_run">run</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathNavigator.XPathAction">XPathNavigator.XPathAction</a></h2><p><code>package-private <strong>XPathNavigator.XPathAction</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_run">run</a></h2><p><code>public void <strong>run</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.html
new file mode 100644
index 0000000..2c51030
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xml.xpath.ui.views.XPathNavigator.html
@@ -0,0 +1,45 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath.ui.views</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath.ui.views</strong></font><br>
+               Class XPathNavigator</h2><br><hr><pre>public class <strong>XPathNavigator</strong>
+extends ViewPart</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected IMemento</code></td><td width="80%" align="left"><code><a href="#field_memento">memento</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_MEMENTO_QUERYCONTEXT_DOCUMENT">MEMENTO_QUERYCONTEXT_DOCUMENT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_MEMENTO_QUERYCONTEXT_KEY">MEMENTO_QUERYCONTEXT_KEY</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_MEMENTO_QUERYCONTEXT_SELECTION">MEMENTO_QUERYCONTEXT_SELECTION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_MEMENTO_XPATHNAVIGATOR_SECTION">MEMENTO_XPATHNAVIGATOR_SECTION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_MEMENTO_XPATHQUERY_KEY">MEMENTO_XPATHQUERY_KEY</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.WeakHashMap</code></td><td width="80%" align="left"><code><a href="#field_namespaceInfo">namespaceInfo</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathNavigator">XPathNavigator</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.EditorReferenceLabelProvider">XPathNavigator.EditorReferenceLabelProvider</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.RefreshAction">XPathNavigator.RefreshAction</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.ShowInSourceAction">XPathNavigator.ShowInSourceAction</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.XMLEditorsContentProvider">XPathNavigator.XMLEditorsContentProvider</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XPathNavigator.XPathAction">XPathNavigator.XPathAction</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_createPartControl">createPartControl</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               This is a callback that will allow us to create the viewer and initialize
+ it.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.w3c.dom.Element</code></td><td width="" align="left"><code><a href="#method_getQueryContext">getQueryContext</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.w3c.dom.Document</code></td><td width="" align="left"><code><a href="#method_getSelectedDocument">getSelectedDocument</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IViewSite site
+         ,
+      IMemento memento)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_restoreState">restoreState</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_saveState">saveState</a>(IMemento memento)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setFocus">setFocus</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Passing the focus request to the viewer's control.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_update">update</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_memento">memento</a></h2><p><code>protected IMemento <strong>memento</strong></code></p><hr><h2><a name="field_MEMENTO_QUERYCONTEXT_DOCUMENT">MEMENTO_QUERYCONTEXT_DOCUMENT</a></h2><p><code>public static  java.lang.String <strong>MEMENTO_QUERYCONTEXT_DOCUMENT</strong></code></p><hr><h2><a name="field_MEMENTO_QUERYCONTEXT_KEY">MEMENTO_QUERYCONTEXT_KEY</a></h2><p><code>public static  java.lang.String <strong>MEMENTO_QUERYCONTEXT_KEY</strong></code></p><hr><h2><a name="field_MEMENTO_QUERYCONTEXT_SELECTION">MEMENTO_QUERYCONTEXT_SELECTION</a></h2><p><code>public static  java.lang.String <strong>MEMENTO_QUERYCONTEXT_SELECTION</strong></code></p><hr><h2><a name="field_MEMENTO_XPATHNAVIGATOR_SECTION">MEMENTO_XPATHNAVIGATOR_SECTION</a></h2><p><code>public static  java.lang.String <strong>MEMENTO_XPATHNAVIGATOR_SECTION</strong></code></p><hr><h2><a name="field_MEMENTO_XPATHQUERY_KEY">MEMENTO_XPATHQUERY_KEY</a></h2><p><code>public static  java.lang.String <strong>MEMENTO_XPATHQUERY_KEY</strong></code></p><hr><h2><a name="field_namespaceInfo">namespaceInfo</a></h2><p><code>protected java.util.WeakHashMap <strong>namespaceInfo</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathNavigator">XPathNavigator</a></h2><p><code>public <strong>XPathNavigator</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createPartControl">createPartControl</a></h2><p><code>public void <strong>createPartControl</strong>(Composite parent)</code></p><p>This is a callback that will allow us to create the viewer and initialize
+ it.</p><h3>Parameters</h3><p><code>parent</code></p><hr><h2><a name="method_getQueryContext">getQueryContext</a></h2><p><code>protected org.w3c.dom.Element <strong>getQueryContext</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.w3c.dom.Element</code></p><hr><h2><a name="method_getSelectedDocument">getSelectedDocument</a></h2><p><code>protected org.w3c.dom.Document <strong>getSelectedDocument</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.w3c.dom.Document</code></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IViewSite site
+         ,
+      IMemento memento)</code></p><p></p><h3>Parameters</h3><p><code>site</code></p><p><code>memento</code></p><h3>Throws:</h3><p><code>PartInitException</code></p><hr><h2><a name="method_restoreState">restoreState</a></h2><p><code>protected void <strong>restoreState</strong>()</code></p><p></p><hr><h2><a name="method_saveState">saveState</a></h2><p><code>public void <strong>saveState</strong>(IMemento memento)</code></p><p></p><h3>Parameters</h3><p><code>memento</code></p><hr><h2><a name="method_setFocus">setFocus</a></h2><p><code>public void <strong>setFocus</strong>()</code></p><p>Passing the focus request to the viewer's control.</p><hr><h2><a name="method_update">update</a></h2><p><code>public void <strong>update</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.Messages.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.Messages.html
new file mode 100644
index 0000000..78165b7
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.Messages.html
@@ -0,0 +1,71 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core</strong></font><br>
+               Class Messages</h2><br><hr><pre>public class <strong>Messages</strong>
+extends org.eclipse.osgi.util.NLS</pre><p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_0">XIncludeTask_0</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_1">XIncludeTask_1</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_2">XIncludeTask_2</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_3">XIncludeTask_3</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_4">XIncludeTask_4</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_5">XIncludeTask_5</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_6">XIncludeTask_6</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_7">XIncludeTask_7</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_8">XIncludeTask_8</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_9">XIncludeTask_9</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLCorePlugin_badInitializationData">XSLCorePlugin_badInitializationData</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLCorePlugin_coreError">XSLCorePlugin_coreError</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLCorePlugin_parserConfiguration">XSLCorePlugin_parserConfiguration</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_1">XSLValidator_1</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_10">XSLValidator_10</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Stylesheet importing itself</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_11">XSLValidator_11</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Template conflict (internal)</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_12">XSLValidator_12</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Template conflict (included)</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_13">XSLValidator_13</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Template conflict (external)</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_14">XSLValidator_14</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Parameter missing name attribute</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_15">XSLValidator_15</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Parameter with empty name attribute</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_16">XSLValidator_16</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Duplicate parameter</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_18">XSLValidator_18</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Unresolved named template</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_2">XSLValidator_2</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Circular reference</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_20">XSLValidator_20</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Parameter without default value</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_22">XSLValidator_22</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Parameter does not exist</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_23">XSLValidator_23</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               href attribute is required</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_3">XSLValidator_3</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Missing parameter</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_4">XSLValidator_4</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Unresolved include</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_6">XSLValidator_6</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Stylesheet includes itself</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_8">XSLValidator_8</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Unresolved import</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Messages">Messages</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_reloadMessages">reloadMessages</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_XIncludeTask_0">XIncludeTask_0</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_0</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_1">XIncludeTask_1</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_1</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_2">XIncludeTask_2</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_2</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_3">XIncludeTask_3</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_3</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_4">XIncludeTask_4</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_4</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_5">XIncludeTask_5</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_5</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_6">XIncludeTask_6</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_6</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_7">XIncludeTask_7</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_7</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_8">XIncludeTask_8</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_8</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_9">XIncludeTask_9</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_9</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XSLCorePlugin_badInitializationData">XSLCorePlugin_badInitializationData</a></h2><p><code>public static  java.lang.String <strong>XSLCorePlugin_badInitializationData</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XSLCorePlugin_coreError">XSLCorePlugin_coreError</a></h2><p><code>public static  java.lang.String <strong>XSLCorePlugin_coreError</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XSLCorePlugin_parserConfiguration">XSLCorePlugin_parserConfiguration</a></h2><p><code>public static  java.lang.String <strong>XSLCorePlugin_parserConfiguration</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XSLValidator_1">XSLValidator_1</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_1</strong></code></p><hr><h2><a name="field_XSLValidator_10">XSLValidator_10</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_10</strong></code></p><table><tr><td>Stylesheet importing itself</td></tr></table><hr><h2><a name="field_XSLValidator_11">XSLValidator_11</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_11</strong></code></p><table><tr><td>Template conflict (internal)</td></tr></table><hr><h2><a name="field_XSLValidator_12">XSLValidator_12</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_12</strong></code></p><table><tr><td>Template conflict (included)</td></tr></table><hr><h2><a name="field_XSLValidator_13">XSLValidator_13</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_13</strong></code></p><table><tr><td>Template conflict (external)</td></tr></table><hr><h2><a name="field_XSLValidator_14">XSLValidator_14</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_14</strong></code></p><table><tr><td>Parameter missing name attribute</td></tr></table><hr><h2><a name="field_XSLValidator_15">XSLValidator_15</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_15</strong></code></p><table><tr><td>Parameter with empty name attribute</td></tr></table><hr><h2><a name="field_XSLValidator_16">XSLValidator_16</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_16</strong></code></p><table><tr><td>Duplicate parameter</td></tr></table><hr><h2><a name="field_XSLValidator_18">XSLValidator_18</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_18</strong></code></p><table><tr><td>Unresolved named template</td></tr></table><hr><h2><a name="field_XSLValidator_2">XSLValidator_2</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_2</strong></code></p><table><tr><td>Circular reference</td></tr></table><hr><h2><a name="field_XSLValidator_20">XSLValidator_20</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_20</strong></code></p><table><tr><td>Parameter without default value</td></tr></table><hr><h2><a name="field_XSLValidator_22">XSLValidator_22</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_22</strong></code></p><table><tr><td>Parameter does not exist</td></tr></table><hr><h2><a name="field_XSLValidator_23">XSLValidator_23</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_23</strong></code></p><table><tr><td>href attribute is required</td></tr></table><hr><h2><a name="field_XSLValidator_3">XSLValidator_3</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_3</strong></code></p><table><tr><td>Missing parameter</td></tr></table><hr><h2><a name="field_XSLValidator_4">XSLValidator_4</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_4</strong></code></p><table><tr><td>Unresolved include</td></tr></table><hr><h2><a name="field_XSLValidator_6">XSLValidator_6</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_6</strong></code></p><table><tr><td>Stylesheet includes itself</td></tr></table><hr><h2><a name="field_XSLValidator_8">XSLValidator_8</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_8</strong></code></p><table><tr><td>Unresolved import</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Messages">Messages</a></h2><p><code>public <strong>Messages</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_reloadMessages">reloadMessages</a></h2><p><code>public void <strong>reloadMessages</strong>()</code></p><p>TODO: Add JavaDoc</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.ValidationPreferences.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.ValidationPreferences.html
new file mode 100644
index 0000000..0a6aa83
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.ValidationPreferences.html
@@ -0,0 +1,95 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core</strong></font><br>
+               Class ValidationPreferences</h2><br><hr><pre>public class <strong>ValidationPreferences</strong>
+extends java.lang.Object</pre>Preference constants specific to the XSL validator.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_CALL_TEMPLATES">CALL_TEMPLATES</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which an unresolved called template is reported. 
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_CIRCULAR_REF">CIRCULAR_REF</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which an include/import circular references is reported.
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_DUPLICATE_PARAMETER">DUPLICATE_PARAMETER</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which a duplicate parameter is reported.
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_EMPTY_PARAM">EMPTY_PARAM</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which a parameter that does not have a default value and does not specify a value is reported.
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_MAX_ERRORS">MAX_ERRORS</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The maximum number of errors allowed per XSL file.
+ &lt;p&gt;
+ Value is of type &lt;code&gt;Integer&lt;/code&gt;.
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_MISSING_INCLUDE">MISSING_INCLUDE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which an unresolved import or included is reported.
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_MISSING_PARAM">MISSING_PARAM</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which a missing parameter is reported.
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NAME_ATTRIBUTE_EMPTY">NAME_ATTRIBUTE_EMPTY</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which a parameter with an empty name attribute is reported.
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NAME_ATTRIBUTE_MISSING">NAME_ATTRIBUTE_MISSING</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which a parameter without a name attribute is reported.
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_TEMPLATE_CONFLICT">TEMPLATE_CONFLICT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which a template conflict is reported.
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATHS">XPATHS</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The level at which an invalid XPath is reported.
+ &lt;p&gt;
+ Value is one of &lt;code&gt;IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO&lt;/code&gt;
+ &lt;/p&gt;</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ValidationPreferences">ValidationPreferences</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_CALL_TEMPLATES">CALL_TEMPLATES</a></h2><p><code>public static  java.lang.String <strong>CALL_TEMPLATES</strong></code></p><table><tr><td>The level at which an unresolved called template is reported. 
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><h2><a name="field_CIRCULAR_REF">CIRCULAR_REF</a></h2><p><code>public static  java.lang.String <strong>CIRCULAR_REF</strong></code></p><table><tr><td>The level at which an include/import circular references is reported.
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><h2><a name="field_DUPLICATE_PARAMETER">DUPLICATE_PARAMETER</a></h2><p><code>public static  java.lang.String <strong>DUPLICATE_PARAMETER</strong></code></p><table><tr><td>The level at which a duplicate parameter is reported.
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><h2><a name="field_EMPTY_PARAM">EMPTY_PARAM</a></h2><p><code>public static  java.lang.String <strong>EMPTY_PARAM</strong></code></p><table><tr><td>The level at which a parameter that does not have a default value and does not specify a value is reported.
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><h2><a name="field_MAX_ERRORS">MAX_ERRORS</a></h2><p><code>public static  java.lang.String <strong>MAX_ERRORS</strong></code></p><table><tr><td>The maximum number of errors allowed per XSL file.
+ <p>
+ Value is of type <code>Integer</code>.
+ </p></td></tr></table><hr><h2><a name="field_MISSING_INCLUDE">MISSING_INCLUDE</a></h2><p><code>public static  java.lang.String <strong>MISSING_INCLUDE</strong></code></p><table><tr><td>The level at which an unresolved import or included is reported.
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><h2><a name="field_MISSING_PARAM">MISSING_PARAM</a></h2><p><code>public static  java.lang.String <strong>MISSING_PARAM</strong></code></p><table><tr><td>The level at which a missing parameter is reported.
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><h2><a name="field_NAME_ATTRIBUTE_EMPTY">NAME_ATTRIBUTE_EMPTY</a></h2><p><code>public static  java.lang.String <strong>NAME_ATTRIBUTE_EMPTY</strong></code></p><table><tr><td>The level at which a parameter with an empty name attribute is reported.
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><h2><a name="field_NAME_ATTRIBUTE_MISSING">NAME_ATTRIBUTE_MISSING</a></h2><p><code>public static  java.lang.String <strong>NAME_ATTRIBUTE_MISSING</strong></code></p><table><tr><td>The level at which a parameter without a name attribute is reported.
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><h2><a name="field_TEMPLATE_CONFLICT">TEMPLATE_CONFLICT</a></h2><p><code>public static  java.lang.String <strong>TEMPLATE_CONFLICT</strong></code></p><table><tr><td>The level at which a template conflict is reported.
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><h2><a name="field_XPATHS">XPATHS</a></h2><p><code>public static  java.lang.String <strong>XPATHS</strong></code></p><table><tr><td>The level at which an invalid XPath is reported.
+ <p>
+ Value is one of <code>IMarker.SEVERITY_ERROR, IMarker.SEVERITY_WARNING, IMarker.SEVERITY_INFO</code>
+ </p></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_ValidationPreferences">ValidationPreferences</a></h2><p><code>public <strong>ValidationPreferences</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.XSLCore.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.XSLCore.html
new file mode 100644
index 0000000..780c6e7
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.XSLCore.html
@@ -0,0 +1,59 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core</strong></font><br>
+               Class XSLCore</h2><br><hr><pre>public class <strong>XSLCore</strong>
+extends java.lang.Object</pre>The interface to all aspects of the XSL core functionality.
+ <p>
+ This is responsible for building and maintaining the cache of built XSL
+ models.
+ </p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSL_CONTENT_TYPE">XSL_CONTENT_TYPE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The XSL content type (= org.eclipse.wst.xml.core.xslsource)</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSL_NAMESPACE_URI">XSL_NAMESPACE_URI</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The XSL namespace URI (= http://www.w3.org/1999/XSL/Transform)</td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.StylesheetModel</code></td><td width="" align="left"><code><a href="#method_buildStylesheet">buildStylesheet</a>(IFile file)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Completely rebuild the source file from its DOM</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_clean">clean</a>(IProject project
+         ,
+      IProgressMonitor monitor)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Clean all of the stylesheets from the given project.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.w3c.dom.Attr</code></td><td width="" align="left"><code><a href="#method_getCurrentAttrNode">getCurrentAttrNode</a>(org.w3c.dom.Node node
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns an Attr node for the current Node if one exits at the specified
+ offset.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.w3c.dom.Node</code></td><td width="" align="left"><code><a href="#method_getCurrentNode">getCurrentNode</a>(IDocument document
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the current Node at the specified offset.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.core.XSLCore</code></td><td width="" align="left"><code><a href="#method_getInstance">getInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the singleton <code>XSLCore</code> instance.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.StylesheetModel</code></td><td width="" align="left"><code><a href="#method_getStylesheet">getStylesheet</a>(IFile file)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the cached stylesheet, or build it if it has not yet been built.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code><a href="#method_isXMLFile">isXMLFile</a>(IFile file)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Determine whether the given file is an XML file by inspecting its content
+ types.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code><a href="#method_isXSLFile">isXSLFile</a>(IFile file)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Determine whether the given file is an XSL file by inspecting its content
+ types.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code><a href="#method_isXSLNamespace">isXSLNamespace</a>(org.w3c.dom.Node node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Takes a given <code>Node</code> and returns whether it is part of the the
+ XSLT Namespace.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static IFile</code></td><td width="" align="left"><code><a href="#method_resolveFile">resolveFile</a>(IFile currentFile
+         ,
+      java.lang.String uri)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Locates a file for the given current file and URI.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_XSL_CONTENT_TYPE">XSL_CONTENT_TYPE</a></h2><p><code>public static  java.lang.String <strong>XSL_CONTENT_TYPE</strong></code></p><table><tr><td>The XSL content type (= org.eclipse.wst.xml.core.xslsource)</td></tr></table><hr><h2><a name="field_XSL_NAMESPACE_URI">XSL_NAMESPACE_URI</a></h2><p><code>public static  java.lang.String <strong>XSL_NAMESPACE_URI</strong></code></p><table><tr><td>The XSL namespace URI (= http://www.w3.org/1999/XSL/Transform)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_buildStylesheet">buildStylesheet</a></h2><p><code>public org.eclipse.wst.xsl.core.model.StylesheetModel <strong>buildStylesheet</strong>(IFile file)</code></p><p>Completely rebuild the source file from its DOM</p><h3>Parameters</h3><p><code>file</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.StylesheetModel</code> - the stylesheet model, or null if it could not be created.</p><hr><h2><a name="method_clean">clean</a></h2><p><code>public void <strong>clean</strong>(IProject project
+         ,
+      IProgressMonitor monitor)</code></p><p>Clean all of the stylesheets from the given project.</p><h3>Parameters</h3><p><code>project</code> - the project to be cleaned</p><p><code>monitor</code> - a progress monitor to track the clean progress</p><hr><h2><a name="method_getCurrentAttrNode">getCurrentAttrNode</a></h2><p><code>public org.w3c.dom.Attr <strong>getCurrentAttrNode</strong>(org.w3c.dom.Node node
+         ,
+      int offset)</code></p><p>Returns an Attr node for the current Node if one exits at the specified
+ offset.</p><h3>Parameters</h3><p><code>node</code></p><p><code>offset</code></p><h3>Returns</h3><p><code>org.w3c.dom.Attr</code> - A w3c.dom.Attr</p><hr><h2><a name="method_getCurrentNode">getCurrentNode</a></h2><p><code>public org.w3c.dom.Node <strong>getCurrentNode</strong>(IDocument document
+         ,
+      int offset)</code></p><p>Returns the current Node at the specified offset.</p><h3>Parameters</h3><p><code>document</code></p><p><code>offset</code></p><h3>Returns</h3><p><code>org.w3c.dom.Node</code> - an w3c.dom.Node</p><hr><h2><a name="method_getInstance">getInstance</a></h2><p><code>public org.eclipse.wst.xsl.core.XSLCore <strong>getInstance</strong>()</code></p><p>Get the singleton <code>XSLCore</code> instance.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.XSLCore</code> - the <code>XSLCore</code> instance</p><hr><h2><a name="method_getStylesheet">getStylesheet</a></h2><p><code>public org.eclipse.wst.xsl.core.model.StylesheetModel <strong>getStylesheet</strong>(IFile file)</code></p><p>Get the cached stylesheet, or build it if it has not yet been built.</p><h3>Parameters</h3><p><code>file</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.StylesheetModel</code> - source file, or null if could not be built</p><hr><h2><a name="method_isXMLFile">isXMLFile</a></h2><p><code>public boolean <strong>isXMLFile</strong>(IFile file)</code></p><p>Determine whether the given file is an XML file by inspecting its content
+ types.</p><h3>Parameters</h3><p><code>file</code> - the file to inspect</p><h3>Returns</h3><p><code>boolean</code> - true if this file is an XML file</p><hr><h2><a name="method_isXSLFile">isXSLFile</a></h2><p><code>public boolean <strong>isXSLFile</strong>(IFile file)</code></p><p>Determine whether the given file is an XSL file by inspecting its content
+ types.</p><h3>Parameters</h3><p><code>file</code> - the file to inspect</p><h3>Returns</h3><p><code>boolean</code> - true if this file is an XSL file</p><hr><h2><a name="method_isXSLNamespace">isXSLNamespace</a></h2><p><code>public boolean <strong>isXSLNamespace</strong>(org.w3c.dom.Node node)</code></p><p>Takes a given <code>Node</code> and returns whether it is part of the the
+ XSLT Namespace.</p><h3>Parameters</h3><p><code>node</code> - The Node to be checked.</p><h3>Returns</h3><p><code>boolean</code> - True if part of the XSLT namespace, false otherwise.</p><hr><h2><a name="method_resolveFile">resolveFile</a></h2><p><code>public IFile <strong>resolveFile</strong>(IFile currentFile
+         ,
+      java.lang.String uri)</code></p><p>Locates a file for the given current file and URI.</p><h3>Parameters</h3><p><code>currentFile</code> - the file to resolve relative to</p><p><code>uri</code> - the relative URI</p><h3>Returns</h3><p><code>IFile</code> - the file at the URI relative to this <code>currentFile</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.Messages.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.Messages.html
new file mode 100644
index 0000000..00478bc
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.Messages.html
@@ -0,0 +1,71 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal</strong></font><br>
+               Class Messages</h2><br><hr><pre>public class <strong>Messages</strong>
+extends NLS</pre><p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_0">XIncludeTask_0</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_1">XIncludeTask_1</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_2">XIncludeTask_2</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_3">XIncludeTask_3</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_4">XIncludeTask_4</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_5">XIncludeTask_5</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_6">XIncludeTask_6</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_7">XIncludeTask_7</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_8">XIncludeTask_8</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XIncludeTask_9">XIncludeTask_9</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLCorePlugin_badInitializationData">XSLCorePlugin_badInitializationData</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLCorePlugin_coreError">XSLCorePlugin_coreError</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLCorePlugin_parserConfiguration">XSLCorePlugin_parserConfiguration</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_1">XSLValidator_1</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_10">XSLValidator_10</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Stylesheet importing itself</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_11">XSLValidator_11</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Template conflict (internal)</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_12">XSLValidator_12</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Template conflict (included)</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_13">XSLValidator_13</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Template conflict (external)</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_14">XSLValidator_14</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Parameter missing name attribute</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_15">XSLValidator_15</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Parameter with empty name attribute</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_16">XSLValidator_16</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Duplicate parameter</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_18">XSLValidator_18</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Unresolved named template</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_2">XSLValidator_2</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Circular reference</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_20">XSLValidator_20</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Parameter without default value</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_22">XSLValidator_22</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Parameter does not exist</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_23">XSLValidator_23</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               href attribute is required</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_3">XSLValidator_3</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Missing parameter</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_4">XSLValidator_4</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Unresolved include</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_6">XSLValidator_6</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Stylesheet includes itself</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidator_8">XSLValidator_8</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Unresolved import</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Messages">Messages</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_reloadMessages">reloadMessages</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_XIncludeTask_0">XIncludeTask_0</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_0</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_1">XIncludeTask_1</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_1</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_2">XIncludeTask_2</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_2</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_3">XIncludeTask_3</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_3</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_4">XIncludeTask_4</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_4</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_5">XIncludeTask_5</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_5</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_6">XIncludeTask_6</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_6</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_7">XIncludeTask_7</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_7</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_8">XIncludeTask_8</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_8</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XIncludeTask_9">XIncludeTask_9</a></h2><p><code>public static  java.lang.String <strong>XIncludeTask_9</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XSLCorePlugin_badInitializationData">XSLCorePlugin_badInitializationData</a></h2><p><code>public static  java.lang.String <strong>XSLCorePlugin_badInitializationData</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XSLCorePlugin_coreError">XSLCorePlugin_coreError</a></h2><p><code>public static  java.lang.String <strong>XSLCorePlugin_coreError</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XSLCorePlugin_parserConfiguration">XSLCorePlugin_parserConfiguration</a></h2><p><code>public static  java.lang.String <strong>XSLCorePlugin_parserConfiguration</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_XSLValidator_1">XSLValidator_1</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_1</strong></code></p><hr><h2><a name="field_XSLValidator_10">XSLValidator_10</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_10</strong></code></p><table><tr><td>Stylesheet importing itself</td></tr></table><hr><h2><a name="field_XSLValidator_11">XSLValidator_11</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_11</strong></code></p><table><tr><td>Template conflict (internal)</td></tr></table><hr><h2><a name="field_XSLValidator_12">XSLValidator_12</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_12</strong></code></p><table><tr><td>Template conflict (included)</td></tr></table><hr><h2><a name="field_XSLValidator_13">XSLValidator_13</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_13</strong></code></p><table><tr><td>Template conflict (external)</td></tr></table><hr><h2><a name="field_XSLValidator_14">XSLValidator_14</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_14</strong></code></p><table><tr><td>Parameter missing name attribute</td></tr></table><hr><h2><a name="field_XSLValidator_15">XSLValidator_15</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_15</strong></code></p><table><tr><td>Parameter with empty name attribute</td></tr></table><hr><h2><a name="field_XSLValidator_16">XSLValidator_16</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_16</strong></code></p><table><tr><td>Duplicate parameter</td></tr></table><hr><h2><a name="field_XSLValidator_18">XSLValidator_18</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_18</strong></code></p><table><tr><td>Unresolved named template</td></tr></table><hr><h2><a name="field_XSLValidator_2">XSLValidator_2</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_2</strong></code></p><table><tr><td>Circular reference</td></tr></table><hr><h2><a name="field_XSLValidator_20">XSLValidator_20</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_20</strong></code></p><table><tr><td>Parameter without default value</td></tr></table><hr><h2><a name="field_XSLValidator_22">XSLValidator_22</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_22</strong></code></p><table><tr><td>Parameter does not exist</td></tr></table><hr><h2><a name="field_XSLValidator_23">XSLValidator_23</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_23</strong></code></p><table><tr><td>href attribute is required</td></tr></table><hr><h2><a name="field_XSLValidator_3">XSLValidator_3</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_3</strong></code></p><table><tr><td>Missing parameter</td></tr></table><hr><h2><a name="field_XSLValidator_4">XSLValidator_4</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_4</strong></code></p><table><tr><td>Unresolved include</td></tr></table><hr><h2><a name="field_XSLValidator_6">XSLValidator_6</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_6</strong></code></p><table><tr><td>Stylesheet includes itself</td></tr></table><hr><h2><a name="field_XSLValidator_8">XSLValidator_8</a></h2><p><code>public static  java.lang.String <strong>XSLValidator_8</strong></code></p><table><tr><td>Unresolved import</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Messages">Messages</a></h2><p><code>public <strong>Messages</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_reloadMessages">reloadMessages</a></h2><p><code>public void <strong>reloadMessages</strong>()</code></p><p>TODO: Add JavaDoc</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.XSLCorePlugin.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.XSLCorePlugin.html
new file mode 100644
index 0000000..36dbf7f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.XSLCorePlugin.html
@@ -0,0 +1,31 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal</strong></font><br>
+               Class XSLCorePlugin</h2><br><hr><pre>public class <strong>XSLCorePlugin</strong>
+extends Plugin</pre>The activator class controls the plug-in life cycle<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_PLUGIN_ID">PLUGIN_ID</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_USE_PROJECT_SETTINGS">USE_PROJECT_SETTINGS</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLCorePlugin">XSLCorePlugin</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.core.internal.XSLCorePlugin</code></td><td width="" align="left"><code><a href="#method_getDefault">getDefault</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the shared instance</td></tr><tr valign="top"><td width="20%" align="right"><code>public javax.xml.parsers.SAXParserFactory</code></td><td width="" align="left"><code><a href="#method_getFactory">getFactory</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return the registered SAX parser factory or null if one
+ does not exist.	 * @return</td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_log">log</a>(IStatus status)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Logs the specified status with this plug-in's log.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static IStatus</code></td><td width="" align="left"><code><a href="#method_newErrorStatus">newErrorStatus</a>(java.lang.String message
+         ,
+      java.lang.Throwable exception)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns a new error status for this plug-in with the given message</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_start">start</a>(BundleContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_stop">stop</a>(BundleContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_PLUGIN_ID">PLUGIN_ID</a></h2><p><code>public static  java.lang.String <strong>PLUGIN_ID</strong></code></p><table><tr><td>TODO: Add JavaDoc</td></tr></table><hr><h2><a name="field_USE_PROJECT_SETTINGS">USE_PROJECT_SETTINGS</a></h2><p><code>public static  java.lang.String <strong>USE_PROJECT_SETTINGS</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLCorePlugin">XSLCorePlugin</a></h2><p><code>public <strong>XSLCorePlugin</strong>()</code></p><p>The constructor</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getDefault">getDefault</a></h2><p><code>public org.eclipse.wst.xsl.core.internal.XSLCorePlugin <strong>getDefault</strong>()</code></p><p>Returns the shared instance</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.internal.XSLCorePlugin</code> - the shared instance</p><hr><h2><a name="method_getFactory">getFactory</a></h2><p><code>public javax.xml.parsers.SAXParserFactory <strong>getFactory</strong>()</code></p><p>Return the registered SAX parser factory or null if one
+ does not exist.	 * @return</p><h3>Returns</h3><p><code>javax.xml.parsers.SAXParserFactory</code> - returns a SAXParserFactory</p><hr><h2><a name="method_log">log</a></h2><p><code>public void <strong>log</strong>(IStatus status)</code></p><p>Logs the specified status with this plug-in's log.</p><h3>Parameters</h3><p><code>status</code> - status to log</p><hr><h2><a name="method_newErrorStatus">newErrorStatus</a></h2><p><code>public IStatus <strong>newErrorStatus</strong>(java.lang.String message
+         ,
+      java.lang.Throwable exception)</code></p><p>Returns a new error status for this plug-in with the given message</p><h3>Parameters</h3><p><code>message</code> - the message to be included in the status</p><p><code>exception</code> - the exception to be included in the status or <code>null</code> if none</p><h3>Returns</h3><p><code>IStatus</code> - a new error status</p><hr><h2><a name="method_start">start</a></h2><p><code>public void <strong>start</strong>(BundleContext context)</code></p><p></p><h3>Parameters</h3><p><code>context</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr><h2><a name="method_stop">stop</a></h2><p><code>public void <strong>stop</strong>(BundleContext context)</code></p><p></p><h3>Parameters</h3><p><code>context</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.ant.XIncludeTask.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.ant.XIncludeTask.html
new file mode 100644
index 0000000..3cc3db2
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.ant.XIncludeTask.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.ant</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.ant</strong></font><br>
+               Class XIncludeTask</h2><br><hr><pre>public class <strong>XIncludeTask</strong>
+extends org.apache.tools.ant.Task</pre>This class provides an XInclude ANT task definition.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XIncludeTask">XIncludeTask</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_execute">execute</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code><a href="#method_listFiles">listFiles</a>(java.io.File directory
+         ,
+      boolean recurse)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setIn">setIn</a>(java.lang.String inFile)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setOut">setOut</a>(java.lang.String outFile)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add JavaDoc</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XIncludeTask">XIncludeTask</a></h2><p><code>public <strong>XIncludeTask</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_execute">execute</a></h2><p><code>public void <strong>execute</strong>()</code></p><p></p><hr><h2><a name="method_listFiles">listFiles</a></h2><p><code>public java.util.Collection <strong>listFiles</strong>(java.io.File directory
+         ,
+      boolean recurse)</code></p><p>TODO: Add JavaDoc</p><h3>Parameters</h3><p><code>directory</code></p><p><code>recurse</code></p><h3>Returns</h3><p><code>java.util.Collection</code></p><hr><h2><a name="method_setIn">setIn</a></h2><p><code>public void <strong>setIn</strong>(java.lang.String inFile)</code></p><p>TODO: Add JavaDoc</p><h3>Parameters</h3><p><code>inFile</code></p><hr><h2><a name="method_setOut">setOut</a></h2><p><code>public void <strong>setOut</strong>(java.lang.String outFile)</code></p><p>TODO: Add JavaDoc</p><h3>Parameters</h3><p><code>outFile</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.encoding.XSLDocumentLoader.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.encoding.XSLDocumentLoader.html
new file mode 100644
index 0000000..37240d7
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.encoding.XSLDocumentLoader.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.encoding</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.encoding</strong></font><br>
+               Class XSLDocumentLoader</h2><br><hr><pre>public class <strong>XSLDocumentLoader</strong>
+extends AbstractDocumentLoader</pre>This class reads an XSL file and creates an XML Structured Model.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLDocumentLoader">XSLDocumentLoader</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public IDocumentPartitioner</code></td><td width="" align="left"><code><a href="#method_getDefaultDocumentPartitioner">getDefaultDocumentPartitioner</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IDocumentCharsetDetector</code></td><td width="" align="left"><code><a href="#method_getDocumentEncodingDetector">getDocumentEncodingDetector</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public RegionParser</code></td><td width="" align="left"><code><a href="#method_getParser">getParser</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getSpecDefaultEncoding">getSpecDefaultEncoding</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IEncodedDocument</code></td><td width="" align="left"><code><a href="#method_newEncodedDocument">newEncodedDocument</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IDocumentLoader</code></td><td width="" align="left"><code><a href="#method_newInstance">newInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLDocumentLoader">XSLDocumentLoader</a></h2><p><code>public <strong>XSLDocumentLoader</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getDefaultDocumentPartitioner">getDefaultDocumentPartitioner</a></h2><p><code>public IDocumentPartitioner <strong>getDefaultDocumentPartitioner</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentPartitioner</code></p><hr><h2><a name="method_getDocumentEncodingDetector">getDocumentEncodingDetector</a></h2><p><code>public IDocumentCharsetDetector <strong>getDocumentEncodingDetector</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentCharsetDetector</code></p><hr><h2><a name="method_getParser">getParser</a></h2><p><code>public RegionParser <strong>getParser</strong>()</code></p><p></p><h3>Returns</h3><p><code>RegionParser</code></p><hr><h2><a name="method_getSpecDefaultEncoding">getSpecDefaultEncoding</a></h2><p><code>protected java.lang.String <strong>getSpecDefaultEncoding</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_newEncodedDocument">newEncodedDocument</a></h2><p><code>protected IEncodedDocument <strong>newEncodedDocument</strong>()</code></p><p></p><h3>Returns</h3><p><code>IEncodedDocument</code></p><hr><h2><a name="method_newInstance">newInstance</a></h2><p><code>public IDocumentLoader <strong>newInstance</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentLoader</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder.html
new file mode 100644
index 0000000..d6147ca
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder.html
@@ -0,0 +1,23 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font><br>
+               Class StylesheetBuilder</h2><br><hr><pre>public class <strong>StylesheetBuilder</strong>
+extends java.lang.Object</pre>A builder that creates and maintains a cache of <code>Stylesheet</code>'s.<p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder</code></td><td width="" align="left"><code><a href="#method_getInstance">getInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the singleton <code>StylesheetBuilder</code> instance.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.Stylesheet</code></td><td width="" align="left"><code><a href="#method_getStylesheet">getStylesheet</a>(IFile file
+         ,
+      boolean force)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the <code>Stylesheet</code> associated with the given file. If either
+ the <code>Stylesheet</code> has not yet been created or
+ <code>force</code> is specified then the <code>Stylesheet</code> is
+ built.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_release">release</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Releases all the cached stylesheets.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_release">release</a>(IFile file)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getInstance">getInstance</a></h2><p><code>public org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder <strong>getInstance</strong>()</code></p><p>Get the singleton <code>StylesheetBuilder</code> instance.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder</code> - the <code>StylesheetBuilder</code> instance</p><hr><h2><a name="method_getStylesheet">getStylesheet</a></h2><p><code>public org.eclipse.wst.xsl.core.model.Stylesheet <strong>getStylesheet</strong>(IFile file
+         ,
+      boolean force)</code></p><p>Get the <code>Stylesheet</code> associated with the given file. If either
+ the <code>Stylesheet</code> has not yet been created or
+ <code>force</code> is specified then the <code>Stylesheet</code> is
+ built.</p><h3>Parameters</h3><p><code>file</code> - the XSL file</p><p><code>force</code> - <code>true</code> to force a parse of the file</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.Stylesheet</code> - the <code>Stylesheet</code></p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>()</code></p><p>Releases all the cached stylesheets.</p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>(IFile file)</code></p><p></p><h3>Parameters</h3><p><code>file</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetParser.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetParser.html
new file mode 100644
index 0000000..96aad5d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetParser.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font><br>
+               Class StylesheetParser</h2><br><hr><pre>public class <strong>StylesheetParser</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StylesheetParser">StylesheetParser</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_walkDocument">walkDocument</a>(IDOMDocument document)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_StylesheetParser">StylesheetParser</a></h2><p><code>public <strong>StylesheetParser</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_walkDocument">walkDocument</a></h2><p><code>public void <strong>walkDocument</strong>(IDOMDocument document)</code></p><p></p><h3>Parameters</h3><p><code>document</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetParserData.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetParserData.html
new file mode 100644
index 0000000..c02aa62
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetParserData.html
@@ -0,0 +1,40 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font><br>
+               Class StylesheetParserData</h2><br><hr><pre>public class <strong>StylesheetParserData</strong>
+extends java.lang.Object</pre>This class is used to hold Data necessary for parsing and walking
+ an XSL Stylesheet into a Model.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StylesheetParserData">StylesheetParserData</a></strong>(java.util.Stack elementStack
+         ,
+      java.util.Stack callTemplates
+         ,
+      java.util.Stack functions)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Stack</code></td><td width="" align="left"><code><a href="#method_getCallTemplates">getCallTemplates</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.Template</code></td><td width="" align="left"><code><a href="#method_getCurrentTemplate">getCurrentTemplate</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Stack</code></td><td width="" align="left"><code><a href="#method_getElementStack">getElementStack</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Stack</code></td><td width="" align="left"><code><a href="#method_getFunctions">getFunctions</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_getParentEl">getParentEl</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.Stylesheet</code></td><td width="" align="left"><code><a href="#method_getStylesheet">getStylesheet</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setCallTemplates">setCallTemplates</a>(java.util.Stack callTemplates)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setCurrentTemplate">setCurrentTemplate</a>(org.eclipse.wst.xsl.core.model.Template currentTemplate)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setElementStack">setElementStack</a>(java.util.Stack elementStack)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setFunctions">setFunctions</a>(java.util.Stack functions)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setParentEl">setParentEl</a>(org.eclipse.wst.xsl.core.model.XSLElement parentEl)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setStylesheet">setStylesheet</a>(org.eclipse.wst.xsl.core.model.Stylesheet sf)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_StylesheetParserData">StylesheetParserData</a></h2><p><code>public <strong>StylesheetParserData</strong>(java.util.Stack elementStack
+         ,
+      java.util.Stack callTemplates
+         ,
+      java.util.Stack functions)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCallTemplates">getCallTemplates</a></h2><p><code>public java.util.Stack <strong>getCallTemplates</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Stack</code></p><hr><h2><a name="method_getCurrentTemplate">getCurrentTemplate</a></h2><p><code>public org.eclipse.wst.xsl.core.model.Template <strong>getCurrentTemplate</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.Template</code></p><hr><h2><a name="method_getElementStack">getElementStack</a></h2><p><code>public java.util.Stack <strong>getElementStack</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Stack</code></p><hr><h2><a name="method_getFunctions">getFunctions</a></h2><p><code>public java.util.Stack <strong>getFunctions</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Stack</code></p><hr><h2><a name="method_getParentEl">getParentEl</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>getParentEl</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_getStylesheet">getStylesheet</a></h2><p><code>public org.eclipse.wst.xsl.core.model.Stylesheet <strong>getStylesheet</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.Stylesheet</code></p><hr><h2><a name="method_setCallTemplates">setCallTemplates</a></h2><p><code>public void <strong>setCallTemplates</strong>(java.util.Stack callTemplates)</code></p><p></p><h3>Parameters</h3><p><code>callTemplates</code></p><hr><h2><a name="method_setCurrentTemplate">setCurrentTemplate</a></h2><p><code>public void <strong>setCurrentTemplate</strong>(org.eclipse.wst.xsl.core.model.Template currentTemplate)</code></p><p></p><h3>Parameters</h3><p><code>currentTemplate</code></p><hr><h2><a name="method_setElementStack">setElementStack</a></h2><p><code>public void <strong>setElementStack</strong>(java.util.Stack elementStack)</code></p><p></p><h3>Parameters</h3><p><code>elementStack</code></p><hr><h2><a name="method_setFunctions">setFunctions</a></h2><p><code>public void <strong>setFunctions</strong>(java.util.Stack functions)</code></p><p></p><h3>Parameters</h3><p><code>functions</code></p><hr><h2><a name="method_setParentEl">setParentEl</a></h2><p><code>public void <strong>setParentEl</strong>(org.eclipse.wst.xsl.core.model.XSLElement parentEl)</code></p><p></p><h3>Parameters</h3><p><code>parentEl</code></p><hr><h2><a name="method_setStylesheet">setStylesheet</a></h2><p><code>public void <strong>setStylesheet</strong>(org.eclipse.wst.xsl.core.model.Stylesheet sf)</code></p><p></p><h3>Parameters</h3><p><code>sf</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.XSLElementFactory.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.XSLElementFactory.html
new file mode 100644
index 0000000..0ddcab2
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.XSLElementFactory.html
@@ -0,0 +1,31 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font><br>
+               Class XSLElementFactory</h2><br><hr><pre>public class <strong>XSLElementFactory</strong>
+extends java.lang.Object</pre>A Factory that creates XSL Elements of the requested type.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLElementFactory">XSLElementFactory</a></strong>(org.eclipse.wst.xsl.core.internal.model.StylesheetParserData data
+         ,
+      org.w3c.dom.Element element)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createCallTemplate">createCallTemplate</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createFunction">createFunction</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createImport">createImport</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createInclude">createInclude</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createParamater">createParamater</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createStyleSheet">createStyleSheet</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createTemplate">createTemplate</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createVariable">createVariable</a>(org.eclipse.wst.xsl.core.model.XSLElement xslEl)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createWithParamParm">createWithParamParm</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createXSLElement">createXSLElement</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLElementFactory">XSLElementFactory</a></h2><p><code>public <strong>XSLElementFactory</strong>(org.eclipse.wst.xsl.core.internal.model.StylesheetParserData data
+         ,
+      org.w3c.dom.Element element)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createCallTemplate">createCallTemplate</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createCallTemplate</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_createFunction">createFunction</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createFunction</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_createImport">createImport</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createImport</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_createInclude">createInclude</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createInclude</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_createParamater">createParamater</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createParamater</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_createStyleSheet">createStyleSheet</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createStyleSheet</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_createTemplate">createTemplate</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createTemplate</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_createVariable">createVariable</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createVariable</strong>(org.eclipse.wst.xsl.core.model.XSLElement xslEl)</code></p><p></p><h3>Parameters</h3><p><code>xslEl</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_createWithParamParm">createWithParamParm</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createWithParamParm</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr><h2><a name="method_createXSLElement">createXSLElement</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createXSLElement</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.XSLModelObjectFactory.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.XSLModelObjectFactory.html
new file mode 100644
index 0000000..008c6d7
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.model.XSLModelObjectFactory.html
@@ -0,0 +1,17 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.model</strong></font><br>
+               Class XSLModelObjectFactory</h2><br><hr><pre>public class <strong>XSLModelObjectFactory</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLModelObjectFactory">XSLModelObjectFactory</a></strong>(org.w3c.dom.Element element
+         ,
+      org.eclipse.wst.xsl.core.model.XSLElement xslEl
+         ,
+      org.eclipse.wst.xsl.core.internal.model.StylesheetParserData data)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLElement</code></td><td width="" align="left"><code><a href="#method_createXSLModelObject">createXSLModelObject</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Creates an XSL Model Object of the appropriate type.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLModelObjectFactory">XSLModelObjectFactory</a></h2><p><code>public <strong>XSLModelObjectFactory</strong>(org.w3c.dom.Element element
+         ,
+      org.eclipse.wst.xsl.core.model.XSLElement xslEl
+         ,
+      org.eclipse.wst.xsl.core.internal.model.StylesheetParserData data)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createXSLModelObject">createXSLModelObject</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLElement <strong>createXSLModelObject</strong>()</code></p><p>Creates an XSL Model Object of the appropriate type.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLElement</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.modelhandler.ModelHandlerForXSL.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.modelhandler.ModelHandlerForXSL.html
new file mode 100644
index 0000000..b7f84d4
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.modelhandler.ModelHandlerForXSL.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.modelhandler</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.modelhandler</strong></font><br>
+               Class ModelHandlerForXSL</h2><br><hr><pre>public class <strong>ModelHandlerForXSL</strong>
+extends ModelHandlerForXML</pre>Provides generic XML model handling. It is also marked as the default
+ content type handler. There should be only one implementation of the
+ default.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_AssociatedContentTypeID">AssociatedContentTypeID</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Needs to match what's in plugin registry. In fact, can be overwritten
+ at run time with what's in registry! (so should never be 'final')</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ModelHandlerForXSL">ModelHandlerForXSL</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public IDocumentLoader</code></td><td width="" align="left"><code><a href="#method_getDocumentLoader">getDocumentLoader</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IDocumentCharsetDetector</code></td><td width="" align="left"><code><a href="#method_getEncodingDetector">getEncodingDetector</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IModelLoader</code></td><td width="" align="left"><code><a href="#method_getModelLoader">getModelLoader</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_AssociatedContentTypeID">AssociatedContentTypeID</a></h2><p><code>package-private static  java.lang.String <strong>AssociatedContentTypeID</strong></code></p><table><tr><td>Needs to match what's in plugin registry. In fact, can be overwritten
+ at run time with what's in registry! (so should never be 'final')</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_ModelHandlerForXSL">ModelHandlerForXSL</a></h2><p><code>public <strong>ModelHandlerForXSL</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getDocumentLoader">getDocumentLoader</a></h2><p><code>public IDocumentLoader <strong>getDocumentLoader</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentLoader</code></p><hr><h2><a name="method_getEncodingDetector">getEncodingDetector</a></h2><p><code>public IDocumentCharsetDetector <strong>getEncodingDetector</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentCharsetDetector</code></p><hr><h2><a name="method_getModelLoader">getModelLoader</a></h2><p><code>public IModelLoader <strong>getModelLoader</strong>()</code></p><p></p><h3>Returns</h3><p><code>IModelLoader</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.modelhandler.XSLModelLoader.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.modelhandler.XSLModelLoader.html
new file mode 100644
index 0000000..e025319
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.modelhandler.XSLModelLoader.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.modelhandler</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.modelhandler</strong></font><br>
+               Class XSLModelLoader</h2><br><hr><pre>public class <strong>XSLModelLoader</strong>
+extends XMLModelLoader</pre>This class reads an XML file and creates an XML Structured Model.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLModelLoader">XSLModelLoader</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public IDocumentLoader</code></td><td width="" align="left"><code><a href="#method_getDocumentLoader">getDocumentLoader</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IModelLoader</code></td><td width="" align="left"><code><a href="#method_newInstance">newInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IStructuredModel</code></td><td width="" align="left"><code><a href="#method_newModel">newModel</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_preLoadAdapt">preLoadAdapt</a>(IStructuredModel structuredModel)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLModelLoader">XSLModelLoader</a></h2><p><code>public <strong>XSLModelLoader</strong>()</code></p><p>XMLLoader constructor comment.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getDocumentLoader">getDocumentLoader</a></h2><p><code>public IDocumentLoader <strong>getDocumentLoader</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentLoader</code></p><hr><h2><a name="method_newInstance">newInstance</a></h2><p><code>public IModelLoader <strong>newInstance</strong>()</code></p><p></p><h3>Returns</h3><p><code>IModelLoader</code></p><hr><h2><a name="method_newModel">newModel</a></h2><p><code>public IStructuredModel <strong>newModel</strong>()</code></p><p></p><h3>Returns</h3><p><code>IStructuredModel</code></p><hr><h2><a name="method_preLoadAdapt">preLoadAdapt</a></h2><p><code>protected void <strong>preLoadAdapt</strong>(IStructuredModel structuredModel)</code></p><p></p><h3>Parameters</h3><p><code>structuredModel</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.parser.XSLSourceParser.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.parser.XSLSourceParser.html
new file mode 100644
index 0000000..0edc05d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.parser.XSLSourceParser.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.parser</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.parser</strong></font><br>
+               Class XSLSourceParser</h2><br><hr><pre>public class <strong>XSLSourceParser</strong>
+extends XMLSourceParser</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLSourceParser">XSLSourceParser</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public RegionParser</code></td><td width="" align="left"><code><a href="#method_newInstance">newInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IStructuredDocumentRegion</code></td><td width="" align="left"><code><a href="#method_parseNodes">parseNodes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_setTokenizer">setTokenizer</a>(BlockTokenizer newTokenizer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLSourceParser">XSLSourceParser</a></h2><p><code>public <strong>XSLSourceParser</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_newInstance">newInstance</a></h2><p><code>public RegionParser <strong>newInstance</strong>()</code></p><p></p><h3>Returns</h3><p><code>RegionParser</code></p><hr><h2><a name="method_parseNodes">parseNodes</a></h2><p><code>protected IStructuredDocumentRegion <strong>parseNodes</strong>()</code></p><p></p><h3>Returns</h3><p><code>IStructuredDocumentRegion</code></p><hr><h2><a name="method_setTokenizer">setTokenizer</a></h2><p><code>protected void <strong>setTokenizer</strong>(BlockTokenizer newTokenizer)</code></p><p></p><h3>Parameters</h3><p><code>newTokenizer</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.parser.regions.XPathSeparatorRegion.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.parser.regions.XPathSeparatorRegion.html
new file mode 100644
index 0000000..c778102
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.parser.regions.XPathSeparatorRegion.html
@@ -0,0 +1,55 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.parser.regions</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.parser.regions</strong></font><br>
+               Class XPathSeparatorRegion</h2><br><hr><pre>public class <strong>XPathSeparatorRegion</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathSeparatorRegion">XPathSeparatorRegion</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XPathSeparatorRegion">XPathSeparatorRegion</a></strong>(int start
+         ,
+      int textLength
+         ,
+      int length)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_adjustLength">adjustLength</a>(int i)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_adjustStart">adjustStart</a>(int i)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_adjustTextLength">adjustTextLength</a>(int i)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_equatePositions">equatePositions</a>(ITextRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getEnd">getEnd</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getLength">getLength</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getStart">getStart</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getTextEnd">getTextEnd</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getTextLength">getTextLength</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getType">getType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_toString">toString</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public StructuredDocumentEvent</code></td><td width="" align="left"><code><a href="#method_updateRegion">updateRegion</a>(java.lang.Object requester
+         ,
+      IStructuredDocumentRegion parent
+         ,
+      java.lang.String changes
+         ,
+      int requestStart
+         ,
+      int lengthToReplace)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathSeparatorRegion">XPathSeparatorRegion</a></h2><p><code>public <strong>XPathSeparatorRegion</strong>()</code></p><p></p><hr><h2><a name="con_XPathSeparatorRegion">XPathSeparatorRegion</a></h2><p><code>public <strong>XPathSeparatorRegion</strong>(int start
+         ,
+      int textLength
+         ,
+      int length)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_adjustLength">adjustLength</a></h2><p><code>public void <strong>adjustLength</strong>(int i)</code></p><p></p><h3>Parameters</h3><p><code>i</code></p><hr><h2><a name="method_adjustStart">adjustStart</a></h2><p><code>public void <strong>adjustStart</strong>(int i)</code></p><p></p><h3>Parameters</h3><p><code>i</code></p><hr><h2><a name="method_adjustTextLength">adjustTextLength</a></h2><p><code>public void <strong>adjustTextLength</strong>(int i)</code></p><p></p><h3>Parameters</h3><p><code>i</code></p><hr><h2><a name="method_equatePositions">equatePositions</a></h2><p><code>public void <strong>equatePositions</strong>(ITextRegion region)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><hr><h2><a name="method_getEnd">getEnd</a></h2><p><code>public int <strong>getEnd</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getLength">getLength</a></h2><p><code>public int <strong>getLength</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getStart">getStart</a></h2><p><code>public int <strong>getStart</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getTextEnd">getTextEnd</a></h2><p><code>public int <strong>getTextEnd</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getTextLength">getTextLength</a></h2><p><code>public int <strong>getTextLength</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getType">getType</a></h2><p><code>public java.lang.String <strong>getType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_toString">toString</a></h2><p><code>public java.lang.String <strong>toString</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_updateRegion">updateRegion</a></h2><p><code>public StructuredDocumentEvent <strong>updateRegion</strong>(java.lang.Object requester
+         ,
+      IStructuredDocumentRegion parent
+         ,
+      java.lang.String changes
+         ,
+      int requestStart
+         ,
+      int lengthToReplace)</code></p><p></p><h3>Parameters</h3><p><code>requester</code></p><p><code>parent</code></p><p><code>changes</code></p><p><code>requestStart</code></p><p><code>lengthToReplace</code></p><h3>Returns</h3><p><code>StructuredDocumentEvent</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.preferences.PreferenceInitializer.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.preferences.PreferenceInitializer.html
new file mode 100644
index 0000000..b709284
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.preferences.PreferenceInitializer.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.preferences</strong></font><br>
+               Class PreferenceInitializer</h2><br><hr><pre>public class <strong>PreferenceInitializer</strong>
+extends AbstractPreferenceInitializer</pre>Preferences initializer for XSL core preferences.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_PreferenceInitializer">PreferenceInitializer</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_initializeDefaultPreferences">initializeDefaultPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_PreferenceInitializer">PreferenceInitializer</a></h2><p><code>public <strong>PreferenceInitializer</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_initializeDefaultPreferences">initializeDefaultPreferences</a></h2><p><code>public void <strong>initializeDefaultPreferences</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.regions.XPathRegionContext.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.regions.XPathRegionContext.html
new file mode 100644
index 0000000..17918f6
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.regions.XPathRegionContext.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.regions</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.regions</strong></font><br>
+               Class XPathRegionContext</h2><br><hr><pre>public class <strong>XPathRegionContext</strong>
+extends </pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_BLOCK_TEXT">BLOCK_TEXT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_UNDEFINED">UNDEFINED</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_WHITE_SPACE">WHITE_SPACE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_CONTENT">XPATH_CONTENT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_FUNCTION_NAME">XPATH_FUNCTION_NAME</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_FUNCTION_PARAMETERS_CLOSE">XPATH_FUNCTION_PARAMETERS_CLOSE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_FUNCTION_PARAMETERS_OPEN">XPATH_FUNCTION_PARAMETERS_OPEN</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_SEPARATOR_DIV">XPATH_SEPARATOR_DIV</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_BLOCK_TEXT">BLOCK_TEXT</a></h2><p><code>public static  java.lang.String <strong>BLOCK_TEXT</strong></code></p><hr><h2><a name="field_UNDEFINED">UNDEFINED</a></h2><p><code>public static  java.lang.String <strong>UNDEFINED</strong></code></p><hr><h2><a name="field_WHITE_SPACE">WHITE_SPACE</a></h2><p><code>public static  java.lang.String <strong>WHITE_SPACE</strong></code></p><hr><h2><a name="field_XPATH_CONTENT">XPATH_CONTENT</a></h2><p><code>public static  java.lang.String <strong>XPATH_CONTENT</strong></code></p><hr><h2><a name="field_XPATH_FUNCTION_NAME">XPATH_FUNCTION_NAME</a></h2><p><code>public static  java.lang.String <strong>XPATH_FUNCTION_NAME</strong></code></p><hr><h2><a name="field_XPATH_FUNCTION_PARAMETERS_CLOSE">XPATH_FUNCTION_PARAMETERS_CLOSE</a></h2><p><code>public static  java.lang.String <strong>XPATH_FUNCTION_PARAMETERS_CLOSE</strong></code></p><hr><h2><a name="field_XPATH_FUNCTION_PARAMETERS_OPEN">XPATH_FUNCTION_PARAMETERS_OPEN</a></h2><p><code>public static  java.lang.String <strong>XPATH_FUNCTION_PARAMETERS_OPEN</strong></code></p><hr><h2><a name="field_XPATH_SEPARATOR_DIV">XPATH_SEPARATOR_DIV</a></h2><p><code>public static  java.lang.String <strong>XPATH_SEPARATOR_DIV</strong></code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.regions.XSLParserRegionFactory.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.regions.XSLParserRegionFactory.html
new file mode 100644
index 0000000..6d21f4b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.regions.XSLParserRegionFactory.html
@@ -0,0 +1,5 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.regions</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.regions</strong></font><br>
+               Class XSLParserRegionFactory</h2><br><hr><pre>public class <strong>XSLParserRegionFactory</strong>
+extends XMLParserRegionFactory</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLParserRegionFactory">XSLParserRegionFactory</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLParserRegionFactory">XSLParserRegionFactory</a></h2><p><code>public <strong>XSLParserRegionFactory</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.text.IXSLPartitions.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.text.IXSLPartitions.html
new file mode 100644
index 0000000..f0c0049
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.text.IXSLPartitions.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.text</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.text</strong></font><br>
+               Class IXSLPartitions</h2><br><hr><pre>public class <strong>IXSLPartitions</strong>
+extends </pre>This interface is not intended to be implemented.
+ It defines the partition types for XSL.
+ Clients should reference the partition type Strings defined here directly.<p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSL_XPATH">XSL_XPATH</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_XSL_XPATH">XSL_XPATH</a></h2><p><code>public static  java.lang.String <strong>XSL_XPATH</strong></code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.text.rules.StructuredTextPartitionerForXSL.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.text.rules.StructuredTextPartitionerForXSL.html
new file mode 100644
index 0000000..1100eed
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.text.rules.StructuredTextPartitionerForXSL.html
@@ -0,0 +1,20 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.text.rules</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.text.rules</strong></font><br>
+               Class StructuredTextPartitionerForXSL</h2><br><hr><pre>public class <strong>StructuredTextPartitionerForXSL</strong>
+extends StructuredTextPartitionerForXML</pre>Contains information specific to setting up Structured Document Partions 
+ in XSL documents.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StructuredTextPartitionerForXSL">StructuredTextPartitionerForXSL</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String[]</code></td><td width="" align="left"><code><a href="#method_getConfiguredContentTypes">getConfiguredContentTypes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPartitionType">getPartitionType</a>(ITextRegion region
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IDocumentPartitioner</code></td><td width="" align="left"><code><a href="#method_newInstance">newInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_StructuredTextPartitionerForXSL">StructuredTextPartitionerForXSL</a></h2><p><code>public <strong>StructuredTextPartitionerForXSL</strong>()</code></p><p>The StructuredTextPartitionerForXSL adds the necessary
+ Partition types to help Identify potential XPath areas.
+ This is also used for Line Styling and Content Assistance.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getConfiguredContentTypes">getConfiguredContentTypes</a></h2><p><code>public java.lang.String[] <strong>getConfiguredContentTypes</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String[]</code></p><hr><h2><a name="method_getPartitionType">getPartitionType</a></h2><p><code>public java.lang.String <strong>getPartitionType</strong>(ITextRegion region
+         ,
+      int offset)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><p><code>offset</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_newInstance">newInstance</a></h2><p><code>public IDocumentPartitioner <strong>newInstance</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDocumentPartitioner</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.Debug.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.Debug.html
new file mode 100644
index 0000000..ae1c90c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.Debug.html
@@ -0,0 +1,99 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.util</strong></font><br>
+               Class Debug</h2><br><hr><pre>public class <strong>Debug</strong>
+extends java.lang.Object</pre>Debug Class is used to determine when Debugging output to system out.<p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_checkForMemoryLeaks">checkForMemoryLeaks</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_collectStats">collectStats</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code><a href="#field_DEBUG">DEBUG</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_DEBUG_THREADLOCAL">DEBUG_THREADLOCAL</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugBreakpoints">debugBreakpoints</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugCaretMediator">debugCaretMediator</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugDisplayTreePositions">debugDisplayTreePositions</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugLauncher">debugLauncher</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugMediator">debugMediator</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugNotification">debugNotification</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugNotificationAndEvents">debugNotificationAndEvents</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugNotifyDeferred">debugNotifyDeferred</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugReconciling">debugReconciling</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugRtfFormatProvider">debugRtfFormatProvider</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugStructuredDocument">debugStructuredDocument</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugTaglibs">debugTaglibs</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugTokenizer">debugTokenizer</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugTreeModel">debugTreeModel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugUpdateTreePositions">debugUpdateTreePositions</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_debugXSLModel">debugXSLModel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Output Modeling Messages.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_displayInfo">displayInfo</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_displayToConsole">displayToConsole</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               effects output of Logger</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_displayWarnings">displayWarnings</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_headParsing">headParsing</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_jsDebugContextAssist">jsDebugContextAssist</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_jsDebugSyntaxColoring">jsDebugSyntaxColoring</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_LOCKS">LOCKS</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_perfTest">perfTest</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_perfTestAdapterClassLoading">perfTestAdapterClassLoading</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_perfTestFormat">perfTestFormat</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_perfTestRawStructuredDocumentOnly">perfTestRawStructuredDocumentOnly</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_perfTestStructuredDocumentEventOnly">perfTestStructuredDocumentEventOnly</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_perfTestStructuredDocumentOnly">perfTestStructuredDocumentOnly</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_syntaxHighlighting">syntaxHighlighting</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  boolean</code></td><td width="80%" align="left"><code><a href="#field_useStandardEolInWidget">useStandardEolInWidget</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Debug">Debug</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_dump">dump</a>(IStructuredDocument structuredDocument)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               For tests and debug only</td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_dump">dump</a>(IStructuredDocument structuredDocument
+         ,
+      boolean verbose)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_dump">dump</a>(ITextRegionCollection region
+         ,
+      boolean verbose)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_println">println</a>(java.lang.String msg)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Simple utility to make sure println's are some what in order</td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code><a href="#method_toStringUtil">toStringUtil</a>(IStructuredDocument object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="" align="left"><code><a href="#method_toStringUtil">toStringUtil</a>(ITextRegionCollection object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_checkForMemoryLeaks">checkForMemoryLeaks</a></h2><p><code>public static  boolean <strong>checkForMemoryLeaks</strong></code></p><hr><h2><a name="field_collectStats">collectStats</a></h2><p><code>public static  boolean <strong>collectStats</strong></code></p><hr><h2><a name="field_DEBUG">DEBUG</a></h2><p><code>public static  int <strong>DEBUG</strong></code></p><hr><h2><a name="field_DEBUG_THREADLOCAL">DEBUG_THREADLOCAL</a></h2><p><code>public static  boolean <strong>DEBUG_THREADLOCAL</strong></code></p><hr><h2><a name="field_debugBreakpoints">debugBreakpoints</a></h2><p><code>public static  boolean <strong>debugBreakpoints</strong></code></p><hr><h2><a name="field_debugCaretMediator">debugCaretMediator</a></h2><p><code>public static  boolean <strong>debugCaretMediator</strong></code></p><hr><h2><a name="field_debugDisplayTreePositions">debugDisplayTreePositions</a></h2><p><code>public static  boolean <strong>debugDisplayTreePositions</strong></code></p><hr><h2><a name="field_debugLauncher">debugLauncher</a></h2><p><code>public static  boolean <strong>debugLauncher</strong></code></p><hr><h2><a name="field_debugMediator">debugMediator</a></h2><p><code>public static  boolean <strong>debugMediator</strong></code></p><hr><h2><a name="field_debugNotification">debugNotification</a></h2><p><code>public static  boolean <strong>debugNotification</strong></code></p><hr><h2><a name="field_debugNotificationAndEvents">debugNotificationAndEvents</a></h2><p><code>public static  boolean <strong>debugNotificationAndEvents</strong></code></p><hr><h2><a name="field_debugNotifyDeferred">debugNotifyDeferred</a></h2><p><code>public static  boolean <strong>debugNotifyDeferred</strong></code></p><hr><h2><a name="field_debugReconciling">debugReconciling</a></h2><p><code>public static  boolean <strong>debugReconciling</strong></code></p><hr><h2><a name="field_debugRtfFormatProvider">debugRtfFormatProvider</a></h2><p><code>public static  boolean <strong>debugRtfFormatProvider</strong></code></p><hr><h2><a name="field_debugStructuredDocument">debugStructuredDocument</a></h2><p><code>public static  boolean <strong>debugStructuredDocument</strong></code></p><hr><h2><a name="field_debugTaglibs">debugTaglibs</a></h2><p><code>public static  boolean <strong>debugTaglibs</strong></code></p><hr><h2><a name="field_debugTokenizer">debugTokenizer</a></h2><p><code>public static  boolean <strong>debugTokenizer</strong></code></p><hr><h2><a name="field_debugTreeModel">debugTreeModel</a></h2><p><code>public static  boolean <strong>debugTreeModel</strong></code></p><hr><h2><a name="field_debugUpdateTreePositions">debugUpdateTreePositions</a></h2><p><code>public static  boolean <strong>debugUpdateTreePositions</strong></code></p><hr><h2><a name="field_debugXSLModel">debugXSLModel</a></h2><p><code>public static  boolean <strong>debugXSLModel</strong></code></p><table><tr><td>Output Modeling Messages.</td></tr></table><hr><h2><a name="field_displayInfo">displayInfo</a></h2><p><code>public static  boolean <strong>displayInfo</strong></code></p><hr><h2><a name="field_displayToConsole">displayToConsole</a></h2><p><code>public static  boolean <strong>displayToConsole</strong></code></p><table><tr><td>effects output of Logger</td></tr></table><hr><h2><a name="field_displayWarnings">displayWarnings</a></h2><p><code>public static  boolean <strong>displayWarnings</strong></code></p><hr><h2><a name="field_headParsing">headParsing</a></h2><p><code>public static  boolean <strong>headParsing</strong></code></p><hr><h2><a name="field_jsDebugContextAssist">jsDebugContextAssist</a></h2><p><code>public static  boolean <strong>jsDebugContextAssist</strong></code></p><hr><h2><a name="field_jsDebugSyntaxColoring">jsDebugSyntaxColoring</a></h2><p><code>public static  boolean <strong>jsDebugSyntaxColoring</strong></code></p><hr><h2><a name="field_LOCKS">LOCKS</a></h2><p><code>public static  boolean <strong>LOCKS</strong></code></p><hr><h2><a name="field_perfTest">perfTest</a></h2><p><code>public static  boolean <strong>perfTest</strong></code></p><hr><h2><a name="field_perfTestAdapterClassLoading">perfTestAdapterClassLoading</a></h2><p><code>public static  boolean <strong>perfTestAdapterClassLoading</strong></code></p><hr><h2><a name="field_perfTestFormat">perfTestFormat</a></h2><p><code>public static  boolean <strong>perfTestFormat</strong></code></p><hr><h2><a name="field_perfTestRawStructuredDocumentOnly">perfTestRawStructuredDocumentOnly</a></h2><p><code>public static  boolean <strong>perfTestRawStructuredDocumentOnly</strong></code></p><hr><h2><a name="field_perfTestStructuredDocumentEventOnly">perfTestStructuredDocumentEventOnly</a></h2><p><code>public static  boolean <strong>perfTestStructuredDocumentEventOnly</strong></code></p><hr><h2><a name="field_perfTestStructuredDocumentOnly">perfTestStructuredDocumentOnly</a></h2><p><code>public static  boolean <strong>perfTestStructuredDocumentOnly</strong></code></p><hr><h2><a name="field_syntaxHighlighting">syntaxHighlighting</a></h2><p><code>public static  boolean <strong>syntaxHighlighting</strong></code></p><hr><h2><a name="field_useStandardEolInWidget">useStandardEolInWidget</a></h2><p><code>public static  boolean <strong>useStandardEolInWidget</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Debug">Debug</a></h2><p><code>public <strong>Debug</strong>()</code></p><p>Debug constructor comment.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dump">dump</a></h2><p><code>public void <strong>dump</strong>(IStructuredDocument structuredDocument)</code></p><p>For tests and debug only</p><h3>Parameters</h3><p><code>structuredDocument</code></p><hr><h2><a name="method_dump">dump</a></h2><p><code>public void <strong>dump</strong>(IStructuredDocument structuredDocument
+         ,
+      boolean verbose)</code></p><p></p><h3>Parameters</h3><p><code>structuredDocument</code></p><p><code>verbose</code></p><hr><h2><a name="method_dump">dump</a></h2><p><code>public void <strong>dump</strong>(ITextRegionCollection region
+         ,
+      boolean verbose)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><p><code>verbose</code></p><hr><h2><a name="method_println">println</a></h2><p><code>public void <strong>println</strong>(java.lang.String msg)</code></p><p>Simple utility to make sure println's are some what in order</p><h3>Parameters</h3><p><code>msg</code></p><hr><h2><a name="method_toStringUtil">toStringUtil</a></h2><p><code>public java.lang.String <strong>toStringUtil</strong>(IStructuredDocument object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_toStringUtil">toStringUtil</a></h2><p><code>public java.lang.String <strong>toStringUtil</strong>(ITextRegionCollection object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.FileUtil.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.FileUtil.html
new file mode 100644
index 0000000..faadb51
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.FileUtil.html
@@ -0,0 +1,11 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.util</strong></font><br>
+               Class FileUtil</h2><br><hr><pre>public class <strong>FileUtil</strong>
+extends java.lang.Object</pre>This is a general file utility class.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_FileUtil">FileUtil</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code><a href="#method_isXMLFile">isXMLFile</a>(IFile file)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Determines if a file is one of the valid XML content types.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static boolean</code></td><td width="" align="left"><code><a href="#method_isXSLFile">isXSLFile</a>(IFile file)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Determines if a file is a XSLT File.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_FileUtil">FileUtil</a></h2><p><code>public <strong>FileUtil</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_isXMLFile">isXMLFile</a></h2><p><code>public boolean <strong>isXMLFile</strong>(IFile file)</code></p><p>Determines if a file is one of the valid XML content types.</p><h3>Parameters</h3><p><code>file</code> - The input IFile to check</p><h3>Returns</h3><p><code>boolean</code> - True if it is a XML file, false otherwise.</p><hr><h2><a name="method_isXSLFile">isXSLFile</a></h2><p><code>public boolean <strong>isXSLFile</strong>(IFile file)</code></p><p>Determines if a file is a XSLT File.</p><h3>Parameters</h3><p><code>file</code> - The input IFile to check.</p><h3>Returns</h3><p><code>boolean</code> - True if it is a XSLT file, false otherwise.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.StructuredDocumentUtil.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.StructuredDocumentUtil.html
new file mode 100644
index 0000000..c874726
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.StructuredDocumentUtil.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.util</strong></font><br>
+               Class StructuredDocumentUtil</h2><br><hr><pre>public class <strong>StructuredDocumentUtil</strong>
+extends java.lang.Object</pre>General Purpose utility classes to convert from StructuredDocument to DOM.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StructuredDocumentUtil">StructuredDocumentUtil</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static IDOMNode</code></td><td width="" align="left"><code><a href="#method_getNode">getNode</a>(IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion textRegion)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Given a StructuredDocumentRegion and a TextRegion, return a
+ IDOMNode for that particular position in the StructuredDocument</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_StructuredDocumentUtil">StructuredDocumentUtil</a></h2><p><code>public <strong>StructuredDocumentUtil</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getNode">getNode</a></h2><p><code>public IDOMNode <strong>getNode</strong>(IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion textRegion)</code></p><p>Given a StructuredDocumentRegion and a TextRegion, return a
+ IDOMNode for that particular position in the StructuredDocument</p><h3>Parameters</h3><p><code>documentRegion</code></p><p><code>textRegion</code></p><h3>Returns</h3><p><code>IDOMNode</code> - IDOMNode</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.XMLContentType.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.XMLContentType.html
new file mode 100644
index 0000000..ebc69fb
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.util.XMLContentType.html
@@ -0,0 +1,10 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.util</strong></font><br>
+               Class XMLContentType</h2><br><hr><pre>public class <strong>XMLContentType</strong>
+extends java.lang.Object</pre>XMLContetType handles the gathering of XML content type related information
+ between the platforms xml content type and WTP's specific version.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XMLContentType">XMLContentType</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String[]</code></td><td width="" align="left"><code><a href="#method_getFileExtensions">getFileExtensions</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns all the extensions associated with an XML Content Type.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XMLContentType">XMLContentType</a></h2><p><code>public <strong>XMLContentType</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getFileExtensions">getFileExtensions</a></h2><p><code>public java.lang.String[] <strong>getFileExtensions</strong>()</code></p><p>Returns all the extensions associated with an XML Content Type.</p><h3>Returns</h3><p><code>java.lang.String[]</code> - The array of file extensions</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.MaxErrorsExceededException.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.MaxErrorsExceededException.html
new file mode 100644
index 0000000..40b24cf
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.MaxErrorsExceededException.html
@@ -0,0 +1,6 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation</strong></font><br>
+               Class MaxErrorsExceededException</h2><br><hr><pre>public class <strong>MaxErrorsExceededException</strong>
+extends java.lang.Exception</pre>An exception used to indicate whether the maximum number of errors has been reached 
+ for a given Stylesheet validation.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_MaxErrorsExceededException">MaxErrorsExceededException</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_MaxErrorsExceededException">MaxErrorsExceededException</a></h2><p><code>public <strong>MaxErrorsExceededException</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidationMessage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidationMessage.html
new file mode 100644
index 0000000..23b453f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidationMessage.html
@@ -0,0 +1,30 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation</strong></font><br>
+               Class XSLValidationMessage</h2><br><hr><pre>public class <strong>XSLValidationMessage</strong>
+extends ValidationMessage</pre>A validation message specific to the XSL validator which adds the ability 
+ to specify the XSL node.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLValidationMessage">XSLValidationMessage</a></strong>(java.lang.String message
+         ,
+      int lineNumber
+         ,
+      int columnNumber
+         ,
+      java.lang.String uri)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLNode</code></td><td width="" align="left"><code><a href="#method_getNode">getNode</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the node that this message applies to.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getRealSeverity">getRealSeverity</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Workaround for superclass's bizarre handling of severity</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setNode">setNode</a>(org.eclipse.wst.xsl.core.model.XSLNode node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Set the node that this message applies to.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setSeverity">setSeverity</a>(int sev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The severity set here should be the org.eclipse.wst.validation.internal.provisional.core.IMessage severity.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_toString">toString</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLValidationMessage">XSLValidationMessage</a></h2><p><code>public <strong>XSLValidationMessage</strong>(java.lang.String message
+         ,
+      int lineNumber
+         ,
+      int columnNumber
+         ,
+      java.lang.String uri)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getNode">getNode</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLNode <strong>getNode</strong>()</code></p><p>Get the node that this message applies to.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLNode</code> - the node</p><hr><h2><a name="method_getRealSeverity">getRealSeverity</a></h2><p><code>public int <strong>getRealSeverity</strong>()</code></p><p>Workaround for superclass's bizarre handling of severity</p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_setNode">setNode</a></h2><p><code>public void <strong>setNode</strong>(org.eclipse.wst.xsl.core.model.XSLNode node)</code></p><p>Set the node that this message applies to.</p><h3>Parameters</h3><p><code>node</code> - the node</p><hr><h2><a name="method_setSeverity">setSeverity</a></h2><p><code>public void <strong>setSeverity</strong>(int sev)</code></p><p>The severity set here should be the org.eclipse.wst.validation.internal.provisional.core.IMessage severity.</p><h3>Parameters</h3><p><code>sev</code></p><hr><h2><a name="method_toString">toString</a></h2><p><code>public java.lang.String <strong>toString</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport.html
new file mode 100644
index 0000000..1c57223
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport.html
@@ -0,0 +1,39 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation</strong></font><br>
+               Class XSLValidationReport</h2><br><hr><pre>public class <strong>XSLValidationReport</strong>
+extends java.lang.Object</pre>A validation report for the XSL validator.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLValidationReport">XSLValidationReport</a></strong>(java.lang.String uri)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public ValidationMessage</code></td><td width="" align="left"><code><a href="#method_addError">addError</a>(org.eclipse.wst.xsl.core.model.XSLNode node
+         ,
+      java.lang.String message)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add an error message for the given XSL node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public ValidationMessage</code></td><td width="" align="left"><code><a href="#method_addInfo">addInfo</a>(org.eclipse.wst.xsl.core.model.XSLNode node
+         ,
+      java.lang.String message)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add an info message for the given XSL node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public ValidationMessage</code></td><td width="" align="left"><code><a href="#method_addWarning">addWarning</a>(org.eclipse.wst.xsl.core.model.XSLNode node
+         ,
+      java.lang.String message)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add an warning message for the given XSL node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getErrors">getErrors</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the validation messages.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getFileURI">getFileURI</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the URI that this report applies to.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getInfos">getInfos</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the validation messages.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.HashMap</code></td><td width="" align="left"><code><a href="#method_getNestedMessages">getNestedMessages</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ValidationMessage[]</code></td><td width="" align="left"><code><a href="#method_getValidationMessages">getValidationMessages</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns an array of validation messages.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getWarnings">getWarnings</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the validation messages.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isValid">isValid</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns whether the file is valid. The file may have warnings associated with it.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLValidationReport">XSLValidationReport</a></h2><p><code>public <strong>XSLValidationReport</strong>(java.lang.String uri)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addError">addError</a></h2><p><code>public ValidationMessage <strong>addError</strong>(org.eclipse.wst.xsl.core.model.XSLNode node
+         ,
+      java.lang.String message)</code></p><p>Add an error message for the given XSL node.</p><h3>Parameters</h3><p><code>node</code> - the node the warning applies to</p><p><code>message</code> - the message to associate with the node</p><h3>Returns</h3><p><code>ValidationMessage</code> - the validation message created</p><hr><h2><a name="method_addInfo">addInfo</a></h2><p><code>public ValidationMessage <strong>addInfo</strong>(org.eclipse.wst.xsl.core.model.XSLNode node
+         ,
+      java.lang.String message)</code></p><p>Add an info message for the given XSL node.</p><h3>Parameters</h3><p><code>node</code> - the node the warning applies to</p><p><code>message</code> - the message to associate with the node</p><h3>Returns</h3><p><code>ValidationMessage</code> - the validation message created</p><hr><h2><a name="method_addWarning">addWarning</a></h2><p><code>public ValidationMessage <strong>addWarning</strong>(org.eclipse.wst.xsl.core.model.XSLNode node
+         ,
+      java.lang.String message)</code></p><p>Add an warning message for the given XSL node.</p><h3>Parameters</h3><p><code>node</code> - the node the warning applies to</p><p><code>message</code> - the message to associate with the node</p><h3>Returns</h3><p><code>ValidationMessage</code> - the validation message created</p><hr><h2><a name="method_getErrors">getErrors</a></h2><p><code>public java.util.List <strong>getErrors</strong>()</code></p><p>Get the validation messages.</p><h3>Returns</h3><p><code>java.util.List</code> - validation messages</p><hr><h2><a name="method_getFileURI">getFileURI</a></h2><p><code>public java.lang.String <strong>getFileURI</strong>()</code></p><p>Get the URI that this report applies to.</p><h3>Returns</h3><p><code>java.lang.String</code> - the URI</p><hr><h2><a name="method_getInfos">getInfos</a></h2><p><code>public java.util.List <strong>getInfos</strong>()</code></p><p>Get the validation messages.</p><h3>Returns</h3><p><code>java.util.List</code> - validation messages</p><hr><h2><a name="method_getNestedMessages">getNestedMessages</a></h2><p><code>public java.util.HashMap <strong>getNestedMessages</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.HashMap</code> - null</p><hr><h2><a name="method_getValidationMessages">getValidationMessages</a></h2><p><code>public ValidationMessage[] <strong>getValidationMessages</strong>()</code></p><p>Returns an array of validation messages.</p><h3>Returns</h3><p><code>ValidationMessage[]</code> - An array of validation messages.</p><hr><h2><a name="method_getWarnings">getWarnings</a></h2><p><code>public java.util.List <strong>getWarnings</strong>()</code></p><p>Get the validation messages.</p><h3>Returns</h3><p><code>java.util.List</code> - validation messages</p><hr><h2><a name="method_isValid">isValid</a></h2><p><code>public boolean <strong>isValid</strong>()</code></p><p>Returns whether the file is valid. The file may have warnings associated with it.</p><h3>Returns</h3><p><code>boolean</code> - True if the file is valid, false otherwise.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidator.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidator.html
new file mode 100644
index 0000000..6d47744
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidator.html
@@ -0,0 +1,27 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation</strong></font><br>
+               Class XSLValidator</h2><br><hr><pre>public class <strong>XSLValidator</strong>
+extends java.lang.Object</pre>The XSL validator for workspace XSL files.<p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.core.internal.validation.XSLValidator</code></td><td width="" align="left"><code><a href="#method_getInstance">getInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the singleton XSLValidator instance.</td></tr><tr valign="top"><td width="20%" align="right"><code>public ValidationReport</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(IFile xslFile
+         ,
+      boolean forceBuild)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Validate the given XSL file. Same as
+ <code>validate(xslFile,report,forceBuild)</code> except a new report is
+ created and returned.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(IFile xslFile
+         ,
+      org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport report
+         ,
+      boolean forceBuild)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Validate the given XSL file using the specified report.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getInstance">getInstance</a></h2><p><code>public org.eclipse.wst.xsl.core.internal.validation.XSLValidator <strong>getInstance</strong>()</code></p><p>Get the singleton XSLValidator instance.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.internal.validation.XSLValidator</code> - the singleton XSLValidator instance</p><hr><h2><a name="method_validate">validate</a></h2><p><code>public ValidationReport <strong>validate</strong>(IFile xslFile
+         ,
+      boolean forceBuild)</code></p><p>Validate the given XSL file. Same as
+ <code>validate(xslFile,report,forceBuild)</code> except a new report is
+ created and returned.</p><h3>Parameters</h3><p><code>xslFile</code> - the XSL file</p><p><code>forceBuild</code> - true if build should always be forced</p><h3>Returns</h3><p><code>ValidationReport</code> - the validation report</p><h3>Throws:</h3><p><code>CoreException - if any exception occurs while validating</code></p><hr><h2><a name="method_validate">validate</a></h2><p><code>public void <strong>validate</strong>(IFile xslFile
+         ,
+      org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport report
+         ,
+      boolean forceBuild)</code></p><p>Validate the given XSL file using the specified report.</p><h3>Parameters</h3><p><code>xslFile</code> - the XSL file</p><p><code>report</code> - the report to use for reporting validation errors</p><p><code>forceBuild</code> - true if build should always be forced</p><h3>Throws:</h3><p><code>CoreException - if any exception occurs while validating</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator.html
new file mode 100644
index 0000000..dbb5d78
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator.html
@@ -0,0 +1,53 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font><br>
+               Class Validator</h2><br><hr><pre>public class <strong>Validator</strong>
+extends AbstractNestedValidator</pre>The XSL validator extends the XML <code>AbstractNestedValidator</code>.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Validator">Validator</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addInfoToMessage">addInfoToMessage</a>(ValidationMessage validationMessage
+         ,
+      IMessage message)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_clean">clean</a>(IProject project
+         ,
+      ValidationState state
+         ,
+      IProgressMonitor monitor)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ValidationResult</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(IResource resource
+         ,
+      int kind
+         ,
+      ValidationState state
+         ,
+      IProgressMonitor monitor)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ValidationReport</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(java.lang.String uri
+         ,
+      java.io.InputStream inputstream
+         ,
+      NestedValidatorContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IStatus</code></td><td width="" align="left"><code><a href="#method_validateInJob">validateInJob</a>(IValidationContext context
+         ,
+      IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Validator">Validator</a></h2><p><code>public <strong>Validator</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addInfoToMessage">addInfoToMessage</a></h2><p><code>protected void <strong>addInfoToMessage</strong>(ValidationMessage validationMessage
+         ,
+      IMessage message)</code></p><p></p><h3>Parameters</h3><p><code>validationMessage</code></p><p><code>message</code></p><hr><h2><a name="method_clean">clean</a></h2><p><code>public void <strong>clean</strong>(IProject project
+         ,
+      ValidationState state
+         ,
+      IProgressMonitor monitor)</code></p><p></p><h3>Parameters</h3><p><code>project</code></p><p><code>state</code></p><p><code>monitor</code></p><hr><h2><a name="method_validate">validate</a></h2><p><code>public ValidationResult <strong>validate</strong>(IResource resource
+         ,
+      int kind
+         ,
+      ValidationState state
+         ,
+      IProgressMonitor monitor)</code></p><p></p><h3>Parameters</h3><p><code>resource</code></p><p><code>kind</code></p><p><code>state</code></p><p><code>monitor</code></p><h3>Returns</h3><p><code>ValidationResult</code></p><hr><h2><a name="method_validate">validate</a></h2><p><code>public ValidationReport <strong>validate</strong>(java.lang.String uri
+         ,
+      java.io.InputStream inputstream
+         ,
+      NestedValidatorContext context)</code></p><p></p><h3>Parameters</h3><p><code>uri</code></p><p><code>inputstream</code></p><p><code>context</code></p><h3>Returns</h3><p><code>ValidationReport</code></p><hr><h2><a name="method_validateInJob">validateInJob</a></h2><p><code>public IStatus <strong>validateInJob</strong>(IValidationContext context
+         ,
+      IReporter reporter)</code></p><p></p><h3>Parameters</h3><p><code>context</code></p><p><code>reporter</code></p><h3>Returns</h3><p><code>IStatus</code></p><h3>Throws:</h3><p><code>ValidationException</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator2.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator2.html
new file mode 100644
index 0000000..c93c54d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator2.html
@@ -0,0 +1,47 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font><br>
+               Class Validator2</h2><br><hr><pre>public class <strong>Validator2</strong>
+extends AbstractValidator</pre>Validator for both build validation (AbstractValidator) and as-you-type validation (IValidatorJob).<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Validator2">Validator2</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_clean">clean</a>(IProject project
+         ,
+      ValidationState state
+         ,
+      IProgressMonitor monitor)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_cleanup">cleanup</a>(IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ISchedulingRule</code></td><td width="" align="left"><code><a href="#method_getSchedulingRule">getSchedulingRule</a>(IValidationContext helper)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ValidationResult</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(IResource resource
+         ,
+      int kind
+         ,
+      ValidationState state
+         ,
+      IProgressMonitor monitor)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(IValidationContext helper
+         ,
+      IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IStatus</code></td><td width="" align="left"><code><a href="#method_validateInJob">validateInJob</a>(IValidationContext helper
+         ,
+      IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Validator2">Validator2</a></h2><p><code>public <strong>Validator2</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_clean">clean</a></h2><p><code>public void <strong>clean</strong>(IProject project
+         ,
+      ValidationState state
+         ,
+      IProgressMonitor monitor)</code></p><p></p><h3>Parameters</h3><p><code>project</code></p><p><code>state</code></p><p><code>monitor</code></p><hr><h2><a name="method_cleanup">cleanup</a></h2><p><code>public void <strong>cleanup</strong>(IReporter reporter)</code></p><p></p><h3>Parameters</h3><p><code>reporter</code></p><hr><h2><a name="method_getSchedulingRule">getSchedulingRule</a></h2><p><code>public ISchedulingRule <strong>getSchedulingRule</strong>(IValidationContext helper)</code></p><p></p><h3>Parameters</h3><p><code>helper</code></p><h3>Returns</h3><p><code>ISchedulingRule</code></p><hr><h2><a name="method_validate">validate</a></h2><p><code>public ValidationResult <strong>validate</strong>(IResource resource
+         ,
+      int kind
+         ,
+      ValidationState state
+         ,
+      IProgressMonitor monitor)</code></p><p></p><h3>Parameters</h3><p><code>resource</code></p><p><code>kind</code></p><p><code>state</code></p><p><code>monitor</code></p><h3>Returns</h3><p><code>ValidationResult</code></p><hr><h2><a name="method_validate">validate</a></h2><p><code>public void <strong>validate</strong>(IValidationContext helper
+         ,
+      IReporter reporter)</code></p><p></p><h3>Parameters</h3><p><code>helper</code></p><p><code>reporter</code></p><h3>Throws:</h3><p><code>ValidationException</code></p><hr><h2><a name="method_validateInJob">validateInJob</a></h2><p><code>public IStatus <strong>validateInJob</strong>(IValidationContext helper
+         ,
+      IReporter reporter)</code></p><p></p><h3>Parameters</h3><p><code>helper</code></p><p><code>reporter</code></p><h3>Returns</h3><p><code>IStatus</code></p><h3>Throws:</h3><p><code>ValidationException</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.XSLValidationReport.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.XSLValidationReport.html
new file mode 100644
index 0000000..8239802
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.XSLValidationReport.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.validation.eclipse</strong></font><br>
+               Class XSLValidationReport</h2><br><hr><pre>public class <strong>XSLValidationReport</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLValidationReport">XSLValidationReport</a></strong>(java.lang.String uri)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getFileURI">getFileURI</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.HashMap</code></td><td width="" align="left"><code><a href="#method_getNestedMessages">getNestedMessages</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ValidationMessage[]</code></td><td width="" align="left"><code><a href="#method_getValidationMessages">getValidationMessages</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isValid">isValid</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLValidationReport">XSLValidationReport</a></h2><p><code>public <strong>XSLValidationReport</strong>(java.lang.String uri)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getFileURI">getFileURI</a></h2><p><code>public java.lang.String <strong>getFileURI</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNestedMessages">getNestedMessages</a></h2><p><code>public java.util.HashMap <strong>getNestedMessages</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.HashMap</code></p><hr><h2><a name="method_getValidationMessages">getValidationMessages</a></h2><p><code>public ValidationMessage[] <strong>getValidationMessages</strong>()</code></p><p></p><h3>Returns</h3><p><code>ValidationMessage[]</code></p><hr><h2><a name="method_isValid">isValid</a></h2><p><code>public boolean <strong>isValid</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.xinclude.XIncluder.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.xinclude.XIncluder.html
new file mode 100644
index 0000000..d2f3603
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.internal.xinclude.XIncluder.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.internal.xinclude</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.internal.xinclude</strong></font><br>
+               Class XIncluder</h2><br><hr><pre>public class <strong>XIncluder</strong>
+extends java.lang.Object</pre>XIncluder will read an XML file, that has elements from the XInclude
+ namespace and follows the W3C XInclude specification (http://www.w3.org/TR/xinclude/).
+ It will output a merged file.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XIncluder">XIncluder</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_extractXMLFile">extractXMLFile</a>(java.lang.String in
+         ,
+      java.lang.String out)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               extracXMLFile merges the files referenced by xinclude include elements.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XIncluder">XIncluder</a></h2><p><code>public <strong>XIncluder</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_extractXMLFile">extractXMLFile</a></h2><p><code>public void <strong>extractXMLFile</strong>(java.lang.String in
+         ,
+      java.lang.String out)</code></p><p>extracXMLFile merges the files referenced by xinclude include elements.</p><h3>Parameters</h3><p><code>in</code> - The full path to the input XML file</p><p><code>out</code> - The full path to the merged XML file</p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.CallTemplate.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.CallTemplate.html
new file mode 100644
index 0000000..ecad5fc
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.CallTemplate.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class CallTemplate</h2><br><hr><pre>public class <strong>CallTemplate</strong>
+extends org.eclipse.wst.xsl.core.model.XSLElement</pre>The <code>xsl:call-template</code> model element.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_parameters">parameters</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_CallTemplate">CallTemplate</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addParameter">addParameter</a>(org.eclipse.wst.xsl.core.model.Parameter parameter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add a parameter to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the <code>name</code> attribute if one exists.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getParameters">getParameters</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the list of parameters associated with this.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_parameters">parameters</a></h2><p><code>package-private java.util.List <strong>parameters</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_CallTemplate">CallTemplate</a></h2><p><code>public <strong>CallTemplate</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addParameter">addParameter</a></h2><p><code>public void <strong>addParameter</strong>(org.eclipse.wst.xsl.core.model.Parameter parameter)</code></p><p>Add a parameter to this.</p><h3>Parameters</h3><p><code>parameter</code> - the parameter to add</p><hr><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p>Get the value of the <code>name</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the template name, or null</p><hr><h2><a name="method_getParameters">getParameters</a></h2><p><code>public java.util.List <strong>getParameters</strong>()</code></p><p>Get the list of parameters associated with this.</p><h3>Returns</h3><p><code>java.util.List</code> - a list of parameters</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Function.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Function.html
new file mode 100644
index 0000000..868d199
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Function.html
@@ -0,0 +1,29 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class Function</h2><br><hr><pre>public class <strong>Function</strong>
+extends org.eclipse.wst.xsl.core.model.XSLElement</pre><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_parameters">parameters</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_variables">variables</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Function">Function</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addParameter">addParameter</a>(org.eclipse.wst.xsl.core.model.Parameter parameter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add a parameter to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addVariable">addVariable</a>(org.eclipse.wst.xsl.core.model.Variable var)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add a variable to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getAsValue">getAsValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the <code>name</code> attribute if one exists.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getOverRideValue">getOverRideValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getParameters">getParameters</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return the parameters defined in this function.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getVariables">getVariables</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return the variables defined in this function.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_parameters">parameters</a></h2><p><code>package-private java.util.List <strong>parameters</strong></code></p><hr><h2><a name="field_variables">variables</a></h2><p><code>package-private java.util.List <strong>variables</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Function">Function</a></h2><p><code>public <strong>Function</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addParameter">addParameter</a></h2><p><code>public void <strong>addParameter</strong>(org.eclipse.wst.xsl.core.model.Parameter parameter)</code></p><p>Add a parameter to this.</p><h3>Parameters</h3><p><code>parameter</code> - the parameter to add</p><hr><h2><a name="method_addVariable">addVariable</a></h2><p><code>public void <strong>addVariable</strong>(org.eclipse.wst.xsl.core.model.Variable var)</code></p><p>Add a variable to this.</p><h3>Parameters</h3><p><code>var</code> - the variable to add</p><hr><h2><a name="method_getAsValue">getAsValue</a></h2><p><code>public java.lang.String <strong>getAsValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p>Get the value of the <code>name</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the function name, or null</p><hr><h2><a name="method_getOverRideValue">getOverRideValue</a></h2><p><code>public java.lang.String <strong>getOverRideValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getParameters">getParameters</a></h2><p><code>public java.util.List <strong>getParameters</strong>()</code></p><p>Return the parameters defined in this function.</p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getVariables">getVariables</a></h2><p><code>public java.util.List <strong>getVariables</strong>()</code></p><p>Return the variables defined in this function.</p><h3>Returns</h3><p><code>java.util.List</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Import.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Import.html
new file mode 100644
index 0000000..714596b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Import.html
@@ -0,0 +1,5 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class Import</h2><br><hr><pre>public class <strong>Import</strong>
+extends org.eclipse.wst.xsl.core.model.Include</pre>The <code>xsl:import</code> model element.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Import">Import</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Import">Import</a></h2><p><code>public <strong>Import</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p>Create a new instance of this.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Include.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Include.html
new file mode 100644
index 0000000..023b91a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Include.html
@@ -0,0 +1,25 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class Include</h2><br><hr><pre>public class <strong>Include</strong>
+extends org.eclipse.wst.xsl.core.model.XSLElement</pre>The <code>xsl:include</code> model element.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code><a href="#field_IMPORT">IMPORT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Constant indicating that this is an &lt;code&gt;Import&lt;/code&gt;.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  int</code></td><td width="80%" align="left"><code><a href="#field_INCLUDE">INCLUDE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Constant indicating that this is an &lt;code&gt;Include&lt;/code&gt;.</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Include">Include</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr><tr><td><code><strong><a href="#con_Include">Include</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet
+         ,
+      int type)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getHref">getHref</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the <code>href</code> attribute if one exists.</td></tr><tr valign="top"><td width="20%" align="right"><code>public IFile</code></td><td width="" align="left"><code><a href="#method_getHrefAsFile">getHrefAsFile</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Gets the included file as a source file, if possible (returned file may be null and need not exist).</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getIncludeType">getIncludeType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the type of include, whether an <code>Include</code> or an <code>Import</code>.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_IMPORT">IMPORT</a></h2><p><code>public static  int <strong>IMPORT</strong></code></p><table><tr><td>Constant indicating that this is an <code>Import</code>.</td></tr></table><hr><h2><a name="field_INCLUDE">INCLUDE</a></h2><p><code>public static  int <strong>INCLUDE</strong></code></p><table><tr><td>Constant indicating that this is an <code>Include</code>.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Include">Include</a></h2><p><code>public <strong>Include</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p>Create a new instance of this.</p><hr><h2><a name="con_Include">Include</a></h2><p><code>protected <strong>Include</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet
+         ,
+      int type)</code></p><p>Create a new instance of this, specifying whether an <code>Include</code> or an <code>Import</code>.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getHref">getHref</a></h2><p><code>public java.lang.String <strong>getHref</strong>()</code></p><p>Get the value of the <code>href</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the <code>href</code> value, or null</p><hr><h2><a name="method_getHrefAsFile">getHrefAsFile</a></h2><p><code>public IFile <strong>getHrefAsFile</strong>()</code></p><p>Gets the included file as a source file, if possible (returned file may be null and need not exist).</p><h3>Returns</h3><p><code>IFile</code> - the included file, or null</p><hr><h2><a name="method_getIncludeType">getIncludeType</a></h2><p><code>public int <strong>getIncludeType</strong>()</code></p><p>Get the type of include, whether an <code>Include</code> or an <code>Import</code>.</p><h3>Returns</h3><p><code>int</code> - one of the constants <code>INCLUDE</code> or <code>IMPORT</code></p><hr><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Parameter.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Parameter.html
new file mode 100644
index 0000000..8423cdd
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Parameter.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class Parameter</h2><br><hr><pre>public class <strong>Parameter</strong>
+extends org.eclipse.wst.xsl.core.model.Variable</pre>The <code>xsl:parameter</code> or <code>xsl:with-param</code> model element.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Parameter">Parameter</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getAs">getAs</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isValue">isValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get whether this has a value.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setValue">setValue</a>(boolean valueSet)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Set whether this has a value.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Parameter">Parameter</a></h2><p><code>public <strong>Parameter</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getAs">getAs</a></h2><p><code>public java.lang.String <strong>getAs</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_isValue">isValue</a></h2><p><code>public boolean <strong>isValue</strong>()</code></p><p>Get whether this has a value.</p><h3>Returns</h3><p><code>boolean</code> - <code>true</code> if this has a value</p><hr><h2><a name="method_setValue">setValue</a></h2><p><code>public void <strong>setValue</strong>(boolean valueSet)</code></p><p>Set whether this has a value.</p><h3>Parameters</h3><p><code>valueSet</code> - <code>true</code> if this has a value</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Stylesheet.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Stylesheet.html
new file mode 100644
index 0000000..9f350cf
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Stylesheet.html
@@ -0,0 +1,61 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class Stylesheet</h2><br><hr><pre>public class <strong>Stylesheet</strong>
+extends org.eclipse.wst.xsl.core.model.XSLElement</pre>The <code>xsl:stylesheet</code> model element.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_calledTemplates">calledTemplates</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_elements">elements</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private IFile</code></td><td width="80%" align="left"><code><a href="#field_file">file</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_functions">functions</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_globalVariables">globalVariables</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_imports">imports</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_includes">includes</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_templates">templates</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_version">version</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Stylesheet">Stylesheet</a></strong>(IFile file)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addCalledTemplate">addCalledTemplate</a>(org.eclipse.wst.xsl.core.model.CallTemplate template)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add a <code>CallTemplate</code> to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addFunction">addFunction</a>(org.eclipse.wst.xsl.core.model.Function function)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addGlobalVariable">addGlobalVariable</a>(org.eclipse.wst.xsl.core.model.Variable var)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add a global variable to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addImport">addImport</a>(org.eclipse.wst.xsl.core.model.Import include)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add an <code>Import</code> to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addInclude">addInclude</a>(org.eclipse.wst.xsl.core.model.Include include)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add an <code>Include</code> to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addTemplate">addTemplate</a>(org.eclipse.wst.xsl.core.model.Template template)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add a <code>Template</code> to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getCalledTemplates">getCalledTemplates</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the list of called templates for this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public IFile</code></td><td width="" align="left"><code><a href="#method_getFile">getFile</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the file that this represents.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getFunctions">getFunctions</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the list of functions for this stylesheet.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getGlobalVariables">getGlobalVariables</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getImports">getImports</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the list of imports for this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getIncludes">getIncludes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the list of includes for this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.Stylesheet</code></td><td width="" align="left"><code><a href="#method_getStylesheet">getStylesheet</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getTemplates">getTemplates</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the list of templates for this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getVersion">getVersion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the stylesheet version.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setVersion">setVersion</a>(java.lang.String version)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Set the stylesheet version.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_calledTemplates">calledTemplates</a></h2><p><code>package-private java.util.List <strong>calledTemplates</strong></code></p><hr><h2><a name="field_elements">elements</a></h2><p><code>package-private java.util.List <strong>elements</strong></code></p><hr><h2><a name="field_file">file</a></h2><p><code>package-private IFile <strong>file</strong></code></p><hr><h2><a name="field_functions">functions</a></h2><p><code>package-private java.util.List <strong>functions</strong></code></p><hr><h2><a name="field_globalVariables">globalVariables</a></h2><p><code>package-private java.util.List <strong>globalVariables</strong></code></p><hr><h2><a name="field_imports">imports</a></h2><p><code>package-private java.util.List <strong>imports</strong></code></p><hr><h2><a name="field_includes">includes</a></h2><p><code>package-private java.util.List <strong>includes</strong></code></p><hr><h2><a name="field_templates">templates</a></h2><p><code>package-private java.util.List <strong>templates</strong></code></p><hr><h2><a name="field_version">version</a></h2><p><code>package-private java.lang.String <strong>version</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Stylesheet">Stylesheet</a></h2><p><code>public <strong>Stylesheet</strong>(IFile file)</code></p><p>Create an instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addCalledTemplate">addCalledTemplate</a></h2><p><code>public void <strong>addCalledTemplate</strong>(org.eclipse.wst.xsl.core.model.CallTemplate template)</code></p><p>Add a <code>CallTemplate</code> to this.</p><h3>Parameters</h3><p><code>template</code> - the template to add</p><hr><h2><a name="method_addFunction">addFunction</a></h2><p><code>public void <strong>addFunction</strong>(org.eclipse.wst.xsl.core.model.Function function)</code></p><p></p><h3>Parameters</h3><p><code>function</code></p><hr><h2><a name="method_addGlobalVariable">addGlobalVariable</a></h2><p><code>public void <strong>addGlobalVariable</strong>(org.eclipse.wst.xsl.core.model.Variable var)</code></p><p>Add a global variable to this.</p><h3>Parameters</h3><p><code>var</code> - the variable to add</p><hr><h2><a name="method_addImport">addImport</a></h2><p><code>public void <strong>addImport</strong>(org.eclipse.wst.xsl.core.model.Import include)</code></p><p>Add an <code>Import</code> to this.</p><h3>Parameters</h3><p><code>include</code> - the import to add</p><hr><h2><a name="method_addInclude">addInclude</a></h2><p><code>public void <strong>addInclude</strong>(org.eclipse.wst.xsl.core.model.Include include)</code></p><p>Add an <code>Include</code> to this.</p><h3>Parameters</h3><p><code>include</code> - the include to add</p><hr><h2><a name="method_addTemplate">addTemplate</a></h2><p><code>public void <strong>addTemplate</strong>(org.eclipse.wst.xsl.core.model.Template template)</code></p><p>Add a <code>Template</code> to this.</p><h3>Parameters</h3><p><code>template</code> - the template to add</p><hr><h2><a name="method_getCalledTemplates">getCalledTemplates</a></h2><p><code>public java.util.List <strong>getCalledTemplates</strong>()</code></p><p>Get the list of called templates for this.</p><h3>Returns</h3><p><code>java.util.List</code> - the list of called templates</p><hr><h2><a name="method_getFile">getFile</a></h2><p><code>public IFile <strong>getFile</strong>()</code></p><p>Get the file that this represents.</p><h3>Returns</h3><p><code>IFile</code> - the file that this represents</p><hr><h2><a name="method_getFunctions">getFunctions</a></h2><p><code>public java.util.List <strong>getFunctions</strong>()</code></p><p>Get the list of functions for this stylesheet.</p><h3>Returns</h3><p><code>java.util.List</code> - the list of called templates</p><hr><h2><a name="method_getGlobalVariables">getGlobalVariables</a></h2><p><code>public java.util.List <strong>getGlobalVariables</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getImports">getImports</a></h2><p><code>public java.util.List <strong>getImports</strong>()</code></p><p>Get the list of imports for this.</p><h3>Returns</h3><p><code>java.util.List</code> - the list of imports</p><hr><h2><a name="method_getIncludes">getIncludes</a></h2><p><code>public java.util.List <strong>getIncludes</strong>()</code></p><p>Get the list of includes for this.</p><h3>Returns</h3><p><code>java.util.List</code> - the list of includes</p><hr><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_getStylesheet">getStylesheet</a></h2><p><code>public org.eclipse.wst.xsl.core.model.Stylesheet <strong>getStylesheet</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.Stylesheet</code></p><hr><h2><a name="method_getTemplates">getTemplates</a></h2><p><code>public java.util.List <strong>getTemplates</strong>()</code></p><p>Get the list of templates for this.</p><h3>Returns</h3><p><code>java.util.List</code> - the list of templates</p><hr><h2><a name="method_getVersion">getVersion</a></h2><p><code>public java.lang.String <strong>getVersion</strong>()</code></p><p>Get the stylesheet version.</p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_setVersion">setVersion</a></h2><p><code>public void <strong>setVersion</strong>(java.lang.String version)</code></p><p>Set the stylesheet version.</p><h3>Parameters</h3><p><code>version</code> - the version to set</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.StylesheetModel.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.StylesheetModel.html
new file mode 100644
index 0000000..1939bc4
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.StylesheetModel.html
@@ -0,0 +1,99 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class StylesheetModel</h2><br><hr><pre>public class <strong>StylesheetModel</strong>
+extends org.eclipse.wst.xsl.core.model.XSLModelObject</pre>The composed stylesheet, consisting of all templates and variables available
+ via imports and includes.
+ 
+ <p>
+ The <code>fix()</code> method does the actual work of populating the fields
+ of this, so it must be called before calling any of the other methods.
+ </p>
+ 
+ <p>
+ Note that this model may not be valid - for instance there may be more than
+ one named template for a given name or more than one global variable with a
+ given name.
+ </p><p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_callTemplates">callTemplates</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field_circularReference">circularReference</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.Set</code></td><td width="80%" align="left"><code><a href="#field_files">files</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_functions">functions</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_globalVariables">globalVariables</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_importModel">importModel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_includeModel">includeModel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.Set</code></td><td width="80%" align="left"><code><a href="#field_stylesheets">stylesheets</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_templates">templates</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.Set</code></td><td width="80%" align="left"><code><a href="#field_templateSet">templateSet</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StylesheetModel">StylesheetModel</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_findAllNestedTemplates">findAllNestedTemplates</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               A utility method that traverses all stylesheet in the hierarchy of
+ stylesheets (not including the current stylesheet), and adds all their
+ templates to the returned list. Therefore the returned list has no regard
+ for whether a template is 'visible' (i.e. whether it might be overridden
+ since it was included via an import). The order of the templates in the
+ list is arbitrary.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_findMatching">findMatching</a>(org.eclipse.wst.xsl.core.model.Template toMatch)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get all templates that match the given template (determined from
+ <code>Template.equals()</code>).</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_fix">fix</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Perform the process of traversing the hierarchy to determine all of the
+ properties of this. Note that this method may force other
+ <code>StylesheetModel</code>'s to be built during the process of fixing.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getCallTemplates">getCallTemplates</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Set</code></td><td width="" align="left"><code><a href="#method_getFileDependencies">getFileDependencies</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get all files that are included in this stylesheet anywhere in the
+ hierarchy via either import or include.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getFunctionByName">getFunctionByName</a>(java.lang.String name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get all functions that are included in this stylesheet anywhere in the
+ hierarchy via either import or include which have the given name.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getFunctions">getFunctions</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get a List of all functions that are known.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getGlobalVariables">getGlobalVariables</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get all global variables that are included in this stylesheet anywhere in
+ the hierarchy via either import or include.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getIncludes">getIncludes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get all stylesheets that are included in this stylesheet anywhere in the
+ hierarchy via either import or include.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.Stylesheet</code></td><td width="" align="left"><code><a href="#method_getStylesheet">getStylesheet</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the stylesheet that this is the model for.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getTemplates">getTemplates</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get all templates that are included in this stylesheet anywhere in the
+ hierarchy via either import or include.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getTemplatesByName">getTemplatesByName</a>(java.lang.String name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get all named templates that are included in this stylesheet anywhere in
+ the hierarchy via either import or include which have the given name.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_hasCircularReference">hasCircularReference</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get whether this has a circular reference anywhere in its import/included
+ hierarchy.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_callTemplates">callTemplates</a></h2><p><code>package-private java.util.List <strong>callTemplates</strong></code></p><hr><h2><a name="field_circularReference">circularReference</a></h2><p><code>package-private boolean <strong>circularReference</strong></code></p><hr><h2><a name="field_files">files</a></h2><p><code>package-private java.util.Set <strong>files</strong></code></p><hr><h2><a name="field_functions">functions</a></h2><p><code>package-private java.util.List <strong>functions</strong></code></p><hr><h2><a name="field_globalVariables">globalVariables</a></h2><p><code>package-private java.util.List <strong>globalVariables</strong></code></p><hr><h2><a name="field_importModel">importModel</a></h2><p><code>package-private java.util.List <strong>importModel</strong></code></p><hr><h2><a name="field_includeModel">includeModel</a></h2><p><code>package-private java.util.List <strong>includeModel</strong></code></p><hr><h2><a name="field_stylesheets">stylesheets</a></h2><p><code>package-private java.util.Set <strong>stylesheets</strong></code></p><hr><h2><a name="field_templates">templates</a></h2><p><code>package-private java.util.List <strong>templates</strong></code></p><hr><h2><a name="field_templateSet">templateSet</a></h2><p><code>package-private java.util.Set <strong>templateSet</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_StylesheetModel">StylesheetModel</a></h2><p><code>public <strong>StylesheetModel</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_findAllNestedTemplates">findAllNestedTemplates</a></h2><p><code>public java.util.List <strong>findAllNestedTemplates</strong>()</code></p><p>A utility method that traverses all stylesheet in the hierarchy of
+ stylesheets (not including the current stylesheet), and adds all their
+ templates to the returned list. Therefore the returned list has no regard
+ for whether a template is 'visible' (i.e. whether it might be overridden
+ since it was included via an import). The order of the templates in the
+ list is arbitrary.</p><h3>Returns</h3><p><code>java.util.List</code> - an unordered list of all templates from all stylesheets.</p><hr><h2><a name="method_findMatching">findMatching</a></h2><p><code>public java.util.List <strong>findMatching</strong>(org.eclipse.wst.xsl.core.model.Template toMatch)</code></p><p>Get all templates that match the given template (determined from
+ <code>Template.equals()</code>).</p><h3>Parameters</h3><p><code>toMatch</code> - the template to match</p><h3>Returns</h3><p><code>java.util.List</code> - the set of templates that match</p><hr><h2><a name="method_fix">fix</a></h2><p><code>public void <strong>fix</strong>()</code></p><p>Perform the process of traversing the hierarchy to determine all of the
+ properties of this. Note that this method may force other
+ <code>StylesheetModel</code>'s to be built during the process of fixing.</p><hr><h2><a name="method_getCallTemplates">getCallTemplates</a></h2><p><code>public java.util.List <strong>getCallTemplates</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getFileDependencies">getFileDependencies</a></h2><p><code>public java.util.Set <strong>getFileDependencies</strong>()</code></p><p>Get all files that are included in this stylesheet anywhere in the
+ hierarchy via either import or include.</p><h3>Returns</h3><p><code>java.util.Set</code> - the set of files in the entire hierarchy</p><hr><h2><a name="method_getFunctionByName">getFunctionByName</a></h2><p><code>public java.util.List <strong>getFunctionByName</strong>(java.lang.String name)</code></p><p>Get all functions that are included in this stylesheet anywhere in the
+ hierarchy via either import or include which have the given name.</p><h3>Parameters</h3><p><code>name</code> - the template name</p><h3>Returns</h3><p><code>java.util.List</code> - the set of named templates with the given name</p><hr><h2><a name="method_getFunctions">getFunctions</a></h2><p><code>public java.util.List <strong>getFunctions</strong>()</code></p><p>Get a List of all functions that are known.</p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getGlobalVariables">getGlobalVariables</a></h2><p><code>public java.util.List <strong>getGlobalVariables</strong>()</code></p><p>Get all global variables that are included in this stylesheet anywhere in
+ the hierarchy via either import or include.</p><h3>Returns</h3><p><code>java.util.List</code> - the set of files in the entire hierarchy</p><hr><h2><a name="method_getIncludes">getIncludes</a></h2><p><code>public java.util.List <strong>getIncludes</strong>()</code></p><p>Get all stylesheets that are included in this stylesheet anywhere in the
+ hierarchy via either import or include.</p><h3>Returns</h3><p><code>java.util.List</code> - the set of stylesheets in the entire hierarchy</p><hr><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_getStylesheet">getStylesheet</a></h2><p><code>public org.eclipse.wst.xsl.core.model.Stylesheet <strong>getStylesheet</strong>()</code></p><p>Get the stylesheet that this is the model for.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.Stylesheet</code> - the stylesheet that this is the model for</p><hr><h2><a name="method_getTemplates">getTemplates</a></h2><p><code>public java.util.List <strong>getTemplates</strong>()</code></p><p>Get all templates that are included in this stylesheet anywhere in the
+ hierarchy via either import or include.</p><h3>Returns</h3><p><code>java.util.List</code> - the set of templates in the entire hierarchy</p><hr><h2><a name="method_getTemplatesByName">getTemplatesByName</a></h2><p><code>public java.util.List <strong>getTemplatesByName</strong>(java.lang.String name)</code></p><p>Get all named templates that are included in this stylesheet anywhere in
+ the hierarchy via either import or include which have the given name.</p><h3>Parameters</h3><p><code>name</code> - the template name</p><h3>Returns</h3><p><code>java.util.List</code> - the set of named templates with the given name</p><hr><h2><a name="method_hasCircularReference">hasCircularReference</a></h2><p><code>public boolean <strong>hasCircularReference</strong>()</code></p><p>Get whether this has a circular reference anywhere in its import/included
+ hierarchy.</p><h3>Returns</h3><p><code>boolean</code> - <code>true</code> if this has a circular reference</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Template.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Template.html
new file mode 100644
index 0000000..25859ec
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Template.html
@@ -0,0 +1,37 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class Template</h2><br><hr><pre>public class <strong>Template</strong>
+extends org.eclipse.wst.xsl.core.model.XSLElement</pre>The <code>xsl:template</code> model element.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_parameters">parameters</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_variables">variables</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Template">Template</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addParameter">addParameter</a>(org.eclipse.wst.xsl.core.model.Parameter parameter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add a parameter to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addVariable">addVariable</a>(org.eclipse.wst.xsl.core.model.Variable var)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add a variable to this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_equals">equals</a>(java.lang.Object obj)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getMatch">getMatch</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the <code>match</code> attribute if one exists.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getMode">getMode</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the <code>mode</code> attribute if one exists.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the <code>name</code> attribute if one exists.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getParameters">getParameters</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the list of parameters of this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPriority">getPriority</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the <code>priority</code> attribute if one exists.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_hashCode">hashCode</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_matchesByMatchOrName">matchesByMatchOrName</a>(org.eclipse.wst.xsl.core.model.Template includedTemplate)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_toString">toString</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_parameters">parameters</a></h2><p><code>package-private java.util.List <strong>parameters</strong></code></p><hr><h2><a name="field_variables">variables</a></h2><p><code>package-private java.util.List <strong>variables</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Template">Template</a></h2><p><code>public <strong>Template</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addParameter">addParameter</a></h2><p><code>public void <strong>addParameter</strong>(org.eclipse.wst.xsl.core.model.Parameter parameter)</code></p><p>Add a parameter to this.</p><h3>Parameters</h3><p><code>parameter</code> - the parameter to add</p><hr><h2><a name="method_addVariable">addVariable</a></h2><p><code>public void <strong>addVariable</strong>(org.eclipse.wst.xsl.core.model.Variable var)</code></p><p>Add a variable to this.</p><h3>Parameters</h3><p><code>var</code> - the variable to add</p><hr><h2><a name="method_equals">equals</a></h2><p><code>public boolean <strong>equals</strong>(java.lang.Object obj)</code></p><p></p><h3>Parameters</h3><p><code>obj</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_getMatch">getMatch</a></h2><p><code>public java.lang.String <strong>getMatch</strong>()</code></p><p>Get the value of the <code>match</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the match value, or null</p><hr><h2><a name="method_getMode">getMode</a></h2><p><code>public java.lang.String <strong>getMode</strong>()</code></p><p>Get the value of the <code>mode</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the mode value, or null</p><hr><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p>Get the value of the <code>name</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the template name, or null</p><hr><h2><a name="method_getParameters">getParameters</a></h2><p><code>public java.util.List <strong>getParameters</strong>()</code></p><p>Get the list of parameters of this.</p><h3>Returns</h3><p><code>java.util.List</code> - the list of parameters</p><hr><h2><a name="method_getPriority">getPriority</a></h2><p><code>public java.lang.String <strong>getPriority</strong>()</code></p><p>Get the value of the <code>priority</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the priority value, or null</p><hr><h2><a name="method_hashCode">hashCode</a></h2><p><code>public int <strong>hashCode</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_matchesByMatchOrName">matchesByMatchOrName</a></h2><p><code>public boolean <strong>matchesByMatchOrName</strong>(org.eclipse.wst.xsl.core.model.Template includedTemplate)</code></p><p></p><h3>Parameters</h3><p><code>includedTemplate</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_toString">toString</a></h2><p><code>public java.lang.String <strong>toString</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Variable.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Variable.html
new file mode 100644
index 0000000..dad686e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.Variable.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class Variable</h2><br><hr><pre>public class <strong>Variable</strong>
+extends org.eclipse.wst.xsl.core.model.XSLElement</pre>The <code>xsl:variable</code> model element.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Variable">Variable</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getAs">getAs</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               If an XSLT 2.0, return the value of the <code>as</code> attribute if one exists.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the <code>name</code> attribute if one exists.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getSelect">getSelect</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the <code>select</code> attribute if one exists.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Variable">Variable</a></h2><p><code>public <strong>Variable</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getAs">getAs</a></h2><p><code>public java.lang.String <strong>getAs</strong>()</code></p><p>If an XSLT 2.0, return the value of the <code>as</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the as value, or null</p><hr><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p>Get the value of the <code>name</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the variable name, or null</p><hr><h2><a name="method_getSelect">getSelect</a></h2><p><code>public java.lang.String <strong>getSelect</strong>()</code></p><p>Get the value of the <code>select</code> attribute if one exists.</p><h3>Returns</h3><p><code>java.lang.String</code> - the select value, or null</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLAttribute.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLAttribute.html
new file mode 100644
index 0000000..150f5f3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLAttribute.html
@@ -0,0 +1,27 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class XSLAttribute</h2><br><hr><pre>public class <strong>XSLAttribute</strong>
+extends org.eclipse.wst.xsl.core.model.XSLNode</pre>An attribute of an element in the XSL namespace.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_name">name</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_value">value</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLAttribute">XSLAttribute</a></strong>(org.eclipse.wst.xsl.core.model.XSLElement element
+         ,
+      java.lang.String name
+         ,
+      java.lang.String value)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the name of this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getValue">getValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of this.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_name">name</a></h2><p><code>package-private java.lang.String <strong>name</strong></code></p><hr><h2><a name="field_value">value</a></h2><p><code>package-private java.lang.String <strong>value</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLAttribute">XSLAttribute</a></h2><p><code>public <strong>XSLAttribute</strong>(org.eclipse.wst.xsl.core.model.XSLElement element
+         ,
+      java.lang.String name
+         ,
+      java.lang.String value)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p>Get the name of this.</p><h3>Returns</h3><p><code>java.lang.String</code> - the attribute's name</p><hr><h2><a name="method_getValue">getValue</a></h2><p><code>public java.lang.String <strong>getValue</strong>()</code></p><p>Get the value of this.</p><h3>Returns</h3><p><code>java.lang.String</code> - the attribute's value</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLElement.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLElement.html
new file mode 100644
index 0000000..480b0f2
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLElement.html
@@ -0,0 +1,27 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class XSLElement</h2><br><hr><pre>public class <strong>XSLElement</strong>
+extends org.eclipse.wst.xsl.core.model.XSLNode</pre>An element in the XSL namespace.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.Map</code></td><td width="80%" align="left"><code><a href="#field_attributes">attributes</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.List</code></td><td width="80%" align="left"><code><a href="#field_childElements">childElements</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLElement">XSLElement</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addChild">addChild</a>(org.eclipse.wst.xsl.core.model.XSLElement element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add a child element of this.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLAttribute</code></td><td width="" align="left"><code><a href="#method_getAttribute">getAttribute</a>(java.lang.String name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the attribute with the given name.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getAttributes">getAttributes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the attributes keyed by their names.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getAttributeValue">getAttributeValue</a>(java.lang.String name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the value of the attribute with the given name.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getChildElements">getChildElements</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the list of child elements</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setAttribute">setAttribute</a>(org.eclipse.wst.xsl.core.model.XSLAttribute attribute)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Add an attribute of this</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_attributes">attributes</a></h2><p><code>package-private java.util.Map <strong>attributes</strong></code></p><hr><h2><a name="field_childElements">childElements</a></h2><p><code>package-private java.util.List <strong>childElements</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLElement">XSLElement</a></h2><p><code>public <strong>XSLElement</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addChild">addChild</a></h2><p><code>public void <strong>addChild</strong>(org.eclipse.wst.xsl.core.model.XSLElement element)</code></p><p>Add a child element of this.</p><h3>Parameters</h3><p><code>element</code> - the chold element</p><hr><h2><a name="method_getAttribute">getAttribute</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLAttribute <strong>getAttribute</strong>(java.lang.String name)</code></p><p>Get the attribute with the given name.</p><h3>Parameters</h3><p><code>name</code> - the name of the attribute</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLAttribute</code> - the attribute</p><hr><h2><a name="method_getAttributes">getAttributes</a></h2><p><code>public java.util.Map <strong>getAttributes</strong>()</code></p><p>Get the attributes keyed by their names.</p><h3>Returns</h3><p><code>java.util.Map</code> - the map of attribute names and instances</p><hr><h2><a name="method_getAttributeValue">getAttributeValue</a></h2><p><code>public java.lang.String <strong>getAttributeValue</strong>(java.lang.String name)</code></p><p>Get the value of the attribute with the given name.</p><h3>Parameters</h3><p><code>name</code> - the name of the attribute</p><h3>Returns</h3><p><code>java.lang.String</code> - the attribute value</p><hr><h2><a name="method_getChildElements">getChildElements</a></h2><p><code>public java.util.List <strong>getChildElements</strong>()</code></p><p>Get the list of child elements</p><h3>Returns</h3><p><code>java.util.List</code> - the list of children</p><hr><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_setAttribute">setAttribute</a></h2><p><code>public void <strong>setAttribute</strong>(org.eclipse.wst.xsl.core.model.XSLAttribute attribute)</code></p><p>Add an attribute of this</p><h3>Parameters</h3><p><code>attribute</code> - the attribute to add</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLModelObject.Type.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLModelObject.Type.html
new file mode 100644
index 0000000..2087130
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLModelObject.Type.html
@@ -0,0 +1,33 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class XSLModelObject.Type</h2><br><hr><pre>public class <strong>XSLModelObject.Type</strong>
+extends java.lang.Enum</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_ATTRIBUTE">ATTRIBUTE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_CALL_TEMPLATE">CALL_TEMPLATE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_FUNCTION">FUNCTION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_IMPORT">IMPORT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_INCLUDE">INCLUDE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_OTHER_ELEMENT">OTHER_ELEMENT</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_PARAM">PARAM</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_STYLESHEET">STYLESHEET</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_STYLESHEET_MODEL">STYLESHEET_MODEL</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_TEMPLATE">TEMPLATE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="80%" align="left"><code><a href="#field_VARIABLE">VARIABLE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_valueOf">valueOf</a>(java.lang.String name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.core.model.XSLModelObject.Type[]</code></td><td width="" align="left"><code><a href="#method_values">values</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_ATTRIBUTE">ATTRIBUTE</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>ATTRIBUTE</strong></code></p><hr><h2><a name="field_CALL_TEMPLATE">CALL_TEMPLATE</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>CALL_TEMPLATE</strong></code></p><hr><h2><a name="field_FUNCTION">FUNCTION</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>FUNCTION</strong></code></p><table><tr><td></td></tr></table><hr><h2><a name="field_IMPORT">IMPORT</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>IMPORT</strong></code></p><hr><h2><a name="field_INCLUDE">INCLUDE</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>INCLUDE</strong></code></p><hr><h2><a name="field_OTHER_ELEMENT">OTHER_ELEMENT</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>OTHER_ELEMENT</strong></code></p><hr><h2><a name="field_PARAM">PARAM</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>PARAM</strong></code></p><table><tr><td></td></tr></table><hr><h2><a name="field_STYLESHEET">STYLESHEET</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>STYLESHEET</strong></code></p><hr><h2><a name="field_STYLESHEET_MODEL">STYLESHEET_MODEL</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>STYLESHEET_MODEL</strong></code></p><hr><h2><a name="field_TEMPLATE">TEMPLATE</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>TEMPLATE</strong></code></p><hr><h2><a name="field_VARIABLE">VARIABLE</a></h2><p><code>public static  org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>VARIABLE</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_valueOf">valueOf</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>valueOf</strong>(java.lang.String name)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr><h2><a name="method_values">values</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type[] <strong>values</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type[]</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLModelObject.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLModelObject.html
new file mode 100644
index 0000000..b55992d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLModelObject.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class XSLModelObject</h2><br><hr><pre>public class <strong>XSLModelObject</strong>
+extends PlatformObject</pre><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLModelObject">XSLModelObject</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></td><td width="" align="left"><code><a href="#method_getModelType">getModelType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLModelObject">XSLModelObject</a></h2><p><code>public <strong>XSLModelObject</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getModelType">getModelType</a></h2><p><code>public org.eclipse.wst.xsl.core.model.XSLModelObject.Type <strong>getModelType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.XSLModelObject.Type</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLNode.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLNode.html
new file mode 100644
index 0000000..71b0e3e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.model.XSLNode.html
@@ -0,0 +1,47 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.model</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.model</strong></font><br>
+               Class XSLNode</h2><br><hr><pre>public class <strong>XSLNode</strong>
+extends org.eclipse.wst.xsl.core.model.XSLModelObject</pre>A node in the XSL namespace.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_ATTRIBUTE_NODE">ATTRIBUTE_NODE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               A constant for the attribute node (= &lt;code&gt;org.w3c.dom.Node.ATTRIBUTE_NODE&lt;/code&gt;)</td></tr><tr valign="top"><td width="20%" align="right"><code>package-private int</code></td><td width="80%" align="left"><code><a href="#field_columnNumber">columnNumber</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  short</code></td><td width="80%" align="left"><code><a href="#field_ELEMENT_NODE">ELEMENT_NODE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               A constant for the element node (= &lt;code&gt;org.w3c.dom.Node.ELEMENT_NODE&lt;/code&gt;)</td></tr><tr valign="top"><td width="20%" align="right"><code>package-private int</code></td><td width="80%" align="left"><code><a href="#field_lineNumber">lineNumber</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLNode">XSLNode</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet
+         ,
+      short type)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getColumnNumber">getColumnNumber</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Set the column number where this node occurs in the XSL file.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getLength">getLength</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the length of this node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getLineNumber">getLineNumber</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Set the line number where this node occurs in the XSL file.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public short</code></td><td width="" align="left"><code><a href="#method_getNodeType">getNodeType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the type of node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getOffset">getOffset</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the document offset where this node occurs.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.core.model.Stylesheet</code></td><td width="" align="left"><code><a href="#method_getStylesheet">getStylesheet</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the stylesheet that this belongs to.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setColumnNumber">setColumnNumber</a>(int columnNumber)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Set the columns number where this node occurs in the XSL file.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setLength">setLength</a>(int length)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Set the length of this node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setLineNumber">setLineNumber</a>(int lineNumber)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Set the line number where this node occurs in the XSL file.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setName">setName</a>(java.lang.String name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setOffset">setOffset</a>(int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Set the document offset where this node occurs.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_toString">toString</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_ATTRIBUTE_NODE">ATTRIBUTE_NODE</a></h2><p><code>public static  short <strong>ATTRIBUTE_NODE</strong></code></p><table><tr><td>A constant for the attribute node (= <code>org.w3c.dom.Node.ATTRIBUTE_NODE</code>)</td></tr></table><hr><h2><a name="field_columnNumber">columnNumber</a></h2><p><code>package-private int <strong>columnNumber</strong></code></p><hr><h2><a name="field_ELEMENT_NODE">ELEMENT_NODE</a></h2><p><code>public static  short <strong>ELEMENT_NODE</strong></code></p><table><tr><td>A constant for the element node (= <code>org.w3c.dom.Node.ELEMENT_NODE</code>)</td></tr></table><hr><h2><a name="field_lineNumber">lineNumber</a></h2><p><code>package-private int <strong>lineNumber</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLNode">XSLNode</a></h2><p><code>public <strong>XSLNode</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet
+         ,
+      short type)</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getColumnNumber">getColumnNumber</a></h2><p><code>public int <strong>getColumnNumber</strong>()</code></p><p>Set the column number where this node occurs in the XSL file.</p><h3>Returns</h3><p><code>int</code> - the column number where this node occurs in the XSL file.</p><hr><h2><a name="method_getLength">getLength</a></h2><p><code>public int <strong>getLength</strong>()</code></p><p>Get the length of this node.</p><h3>Returns</h3><p><code>int</code> - the node length</p><hr><h2><a name="method_getLineNumber">getLineNumber</a></h2><p><code>public int <strong>getLineNumber</strong>()</code></p><p>Set the line number where this node occurs in the XSL file.</p><h3>Returns</h3><p><code>int</code> - the line number where this node occurs in the XSL file.</p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNodeType">getNodeType</a></h2><p><code>public short <strong>getNodeType</strong>()</code></p><p>Get the type of node.</p><h3>Returns</h3><p><code>short</code> - one of <code>ELEMENT_NODE</code> or <code>ATTRIBUTE_NODE</code></p><hr><h2><a name="method_getOffset">getOffset</a></h2><p><code>public int <strong>getOffset</strong>()</code></p><p>Get the document offset where this node occurs.</p><h3>Returns</h3><p><code>int</code> - the document offset</p><hr><h2><a name="method_getStylesheet">getStylesheet</a></h2><p><code>public org.eclipse.wst.xsl.core.model.Stylesheet <strong>getStylesheet</strong>()</code></p><p>Get the stylesheet that this belongs to.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.Stylesheet</code> - the stylesheet</p><hr><h2><a name="method_setColumnNumber">setColumnNumber</a></h2><p><code>public void <strong>setColumnNumber</strong>(int columnNumber)</code></p><p>Set the columns number where this node occurs in the XSL file.</p><h3>Parameters</h3><p><code>columnNumber</code> - the column number</p><hr><h2><a name="method_setLength">setLength</a></h2><p><code>public void <strong>setLength</strong>(int length)</code></p><p>Set the length of this node.</p><h3>Parameters</h3><p><code>length</code> - the node length</p><hr><h2><a name="method_setLineNumber">setLineNumber</a></h2><p><code>public void <strong>setLineNumber</strong>(int lineNumber)</code></p><p>Set the line number where this node occurs in the XSL file.</p><h3>Parameters</h3><p><code>lineNumber</code> - the line number</p><hr><h2><a name="method_setName">setName</a></h2><p><code>public void <strong>setName</strong>(java.lang.String name)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><hr><h2><a name="method_setOffset">setOffset</a></h2><p><code>public void <strong>setOffset</strong>(int offset)</code></p><p>Set the document offset where this node occurs.</p><h3>Parameters</h3><p><code>offset</code> - the document offset</p><hr><h2><a name="method_toString">toString</a></h2><p><code>public java.lang.String <strong>toString</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.resolver.ResolverExtension.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.resolver.ResolverExtension.html
new file mode 100644
index 0000000..c868c8a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.resolver.ResolverExtension.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.resolver</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.resolver</strong></font><br>
+               Class ResolverExtension</h2><br><hr><pre>public class <strong>ResolverExtension</strong>
+extends java.lang.Object</pre>TODO: Javadoc<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ResolverExtension">ResolverExtension</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_resolve">resolve</a>(IFile file
+         ,
+      java.lang.String baseLocation
+         ,
+      java.lang.String publicId
+         ,
+      java.lang.String systemId)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_ResolverExtension">ResolverExtension</a></h2><p><code>public <strong>ResolverExtension</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_resolve">resolve</a></h2><p><code>public java.lang.String <strong>resolve</strong>(IFile file
+         ,
+      java.lang.String baseLocation
+         ,
+      java.lang.String publicId
+         ,
+      java.lang.String systemId)</code></p><p></p><h3>Parameters</h3><p><code>file</code></p><p><code>baseLocation</code></p><p><code>publicId</code></p><p><code>systemId</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.resolver.StopParsingException.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.resolver.StopParsingException.html
new file mode 100644
index 0000000..7cce52e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.resolver.StopParsingException.html
@@ -0,0 +1,7 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.resolver</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.resolver</strong></font><br>
+               Class StopParsingException</h2><br><hr><pre>package-private class <strong>StopParsingException</strong>
+extends org.xml.sax.SAXException</pre>An exception indicating that the parsing should stop. This is usually
+ triggered when the top-level element has been found.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StopParsingException">StopParsingException</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_StopParsingException">StopParsingException</a></h2><p><code>public <strong>StopParsingException</strong>()</code></p><p>Constructs an instance of <code>StopParsingException</code> with a
+ <code>null</code> detail message.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.resolver.XSLVersionHandler.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.resolver.XSLVersionHandler.html
new file mode 100644
index 0000000..ac0f31a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.core.resolver.XSLVersionHandler.html
@@ -0,0 +1,67 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.core.resolver</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.core.resolver</strong></font><br>
+               Class XSLVersionHandler</h2><br><hr><pre>public class <strong>XSLVersionHandler</strong>
+extends org.xml.sax.helpers.DefaultHandler</pre>A simple XML parser to find the XSL version of a given XML file, expectedly a XSLT stylesheet.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLVersionHandler">XSLVersionHandler</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_comment">comment</a>(char[] ch
+         ,
+      int start
+         ,
+      int length)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_endCDATA">endCDATA</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_endDTD">endDTD</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_endEntity">endEntity</a>(java.lang.String name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_error">error</a>(org.xml.sax.SAXParseException e)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_fatalError">fatalError</a>(org.xml.sax.SAXParseException e)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getVersionAttribute">getVersionAttribute</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add Javadoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_parseContents">parseContents</a>(org.xml.sax.InputSource contents)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               TODO: Add Javadoc</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.xml.sax.InputSource</code></td><td width="" align="left"><code><a href="#method_resolveEntity">resolveEntity</a>(java.lang.String publicId
+         ,
+      java.lang.String systemId)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_startCDATA">startCDATA</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_startDTD">startDTD</a>(java.lang.String name
+         ,
+      java.lang.String publicId
+         ,
+      java.lang.String systemId)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_startElement">startElement</a>(java.lang.String uri
+         ,
+      java.lang.String elementName
+         ,
+      java.lang.String qualifiedName
+         ,
+      org.xml.sax.Attributes attributes)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_startEntity">startEntity</a>(java.lang.String name)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_warning">warning</a>(org.xml.sax.SAXParseException e)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLVersionHandler">XSLVersionHandler</a></h2><p><code>public <strong>XSLVersionHandler</strong>()</code></p><p>TODO: Add Javadoc</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_comment">comment</a></h2><p><code>public void <strong>comment</strong>(char[] ch
+         ,
+      int start
+         ,
+      int length)</code></p><p></p><h3>Parameters</h3><p><code>ch</code></p><p><code>start</code></p><p><code>length</code></p><hr><h2><a name="method_endCDATA">endCDATA</a></h2><p><code>public void <strong>endCDATA</strong>()</code></p><p></p><hr><h2><a name="method_endDTD">endDTD</a></h2><p><code>public void <strong>endDTD</strong>()</code></p><p></p><hr><h2><a name="method_endEntity">endEntity</a></h2><p><code>public void <strong>endEntity</strong>(java.lang.String name)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><hr><h2><a name="method_error">error</a></h2><p><code>public void <strong>error</strong>(org.xml.sax.SAXParseException e)</code></p><p></p><h3>Parameters</h3><p><code>e</code></p><h3>Throws:</h3><p><code>org.xml.sax.SAXException</code></p><hr><h2><a name="method_fatalError">fatalError</a></h2><p><code>public void <strong>fatalError</strong>(org.xml.sax.SAXParseException e)</code></p><p></p><h3>Parameters</h3><p><code>e</code></p><h3>Throws:</h3><p><code>org.xml.sax.SAXException</code></p><hr><h2><a name="method_getVersionAttribute">getVersionAttribute</a></h2><p><code>public java.lang.String <strong>getVersionAttribute</strong>()</code></p><p>TODO: Add Javadoc</p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_parseContents">parseContents</a></h2><p><code>public boolean <strong>parseContents</strong>(org.xml.sax.InputSource contents)</code></p><p>TODO: Add Javadoc</p><h3>Parameters</h3><p><code>contents</code></p><h3>Returns</h3><p><code>boolean</code></p><h3>Throws:</h3><p><code>java.io.IOException</code></p><p><code>javax.xml.parsers.ParserConfigurationException</code></p><p><code>org.xml.sax.SAXException</code></p><hr><h2><a name="method_resolveEntity">resolveEntity</a></h2><p><code>public org.xml.sax.InputSource <strong>resolveEntity</strong>(java.lang.String publicId
+         ,
+      java.lang.String systemId)</code></p><p></p><h3>Parameters</h3><p><code>publicId</code></p><p><code>systemId</code></p><h3>Returns</h3><p><code>org.xml.sax.InputSource</code></p><h3>Throws:</h3><p><code>org.xml.sax.SAXException</code></p><hr><h2><a name="method_startCDATA">startCDATA</a></h2><p><code>public void <strong>startCDATA</strong>()</code></p><p></p><hr><h2><a name="method_startDTD">startDTD</a></h2><p><code>public void <strong>startDTD</strong>(java.lang.String name
+         ,
+      java.lang.String publicId
+         ,
+      java.lang.String systemId)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><p><code>publicId</code></p><p><code>systemId</code></p><h3>Throws:</h3><p><code>org.xml.sax.SAXException</code></p><hr><h2><a name="method_startElement">startElement</a></h2><p><code>public void <strong>startElement</strong>(java.lang.String uri
+         ,
+      java.lang.String elementName
+         ,
+      java.lang.String qualifiedName
+         ,
+      org.xml.sax.Attributes attributes)</code></p><p></p><h3>Parameters</h3><p><code>uri</code></p><p><code>elementName</code></p><p><code>qualifiedName</code></p><p><code>attributes</code></p><h3>Throws:</h3><p><code>org.xml.sax.SAXException</code></p><hr><h2><a name="method_startEntity">startEntity</a></h2><p><code>public void <strong>startEntity</strong>(java.lang.String name)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><hr><h2><a name="method_warning">warning</a></h2><p><code>public void <strong>warning</strong>(org.xml.sax.SAXParseException e)</code></p><p></p><h3>Parameters</h3><p><code>e</code></p><h3>Throws:</h3><p><code>org.xml.sax.SAXException</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.Messages.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.Messages.html
new file mode 100644
index 0000000..4c9e7e3
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.Messages.html
@@ -0,0 +1,105 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal</strong></font><br>
+               Class Messages</h2><br><hr><pre>public class <strong>Messages</strong>
+extends NLS</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_AbstractValidationSettingsPageJob">AbstractValidationSettingsPageJob</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_AbstractValidationSettingsPageMbText">AbstractValidationSettingsPageMbText</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_AbstractValidationSettingsPageProject">AbstractValidationSettingsPageProject</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_AbstractValidationSettingsPageWorkspace">AbstractValidationSettingsPageWorkspace</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_CallTemplateContentAssistTemplateName">CallTemplateContentAssistTemplateName</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_CallTemplateContentAssistTemplateNameFile">CallTemplateContentAssistTemplateNameFile</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_ErrorLevelText">ErrorLevelText</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_ExcludeResultPrefixesContentAssist">ExcludeResultPrefixesContentAssist</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IgnoreLevelText">IgnoreLevelText</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_MainPreferencePage">MainPreferencePage</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLColumnTemplateDescription">NewXSLColumnTemplateDescription</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLColumnTemplateName">NewXSLColumnTemplateName</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLFileAlreadExistsError">NewXSLFileAlreadExistsError</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLFilePageDescription">NewXSLFilePageDescription</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLFilePageTitle">NewXSLFilePageTitle</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLFilePageWindowTitle">NewXSLFilePageWindowTitle</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLFileWizardExtensionError">NewXSLFileWizardExtensionError</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLLinkPreferencePage">NewXSLLinkPreferencePage</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLSelectTemplate">NewXSLSelectTemplate</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLTemplateDescription">NewXSLTemplateDescription</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLTemplatePreviewTitle">NewXSLTemplatePreviewTitle</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NewXSLUseTemplateButtonText">NewXSLUseTemplateButtonText</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NoContentAssistance">NoContentAssistance</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_Open">Open</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_VersionTemplateVariableResolverPageDescription">VersionTemplateVariableResolverPageDescription</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_WarningLevelText">WarningLevelText</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLEditorOverrideTemplate">XSLEditorOverrideTemplate</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLEditorOverrideTemplateMode">XSLEditorOverrideTemplateMode</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLSyntaxColoringPage">XSLSyntaxColoringPage</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_xsltStyleDocument">xsltStyleDocument</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPageSeverityLevel">XSLValidationPageSeverityLevel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceCallTemplatesLabel">XSLValidationPreferenceCallTemplatesLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceCircularReferencesLabel">XSLValidationPreferenceCircularReferencesLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceDuplicateParameterLabel">XSLValidationPreferenceDuplicateParameterLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceImportsIncludesLabel">XSLValidationPreferenceImportsIncludesLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceMaxErrorsLabel">XSLValidationPreferenceMaxErrorsLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceMaxErrorsMsgError">XSLValidationPreferenceMaxErrorsMsgError</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceMissingParameterAttributeLabel">XSLValidationPreferenceMissingParameterAttributeLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceMissingParamtersLabel">XSLValidationPreferenceMissingParamtersLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceNamedTemplatesLabel">XSLValidationPreferenceNamedTemplatesLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferencePageDescription">XSLValidationPreferencePageDescription</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferencePageTitle">XSLValidationPreferencePageTitle</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceParameterEmptyAttributeLabel">XSLValidationPreferenceParameterEmptyAttributeLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceParamtersWithoutValueLabel">XSLValidationPreferenceParamtersWithoutValueLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceTemplateConflictsLabel">XSLValidationPreferenceTemplateConflictsLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceUnresolvedTemplatesLabel">XSLValidationPreferenceUnresolvedTemplatesLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceUnresolveImportIncludeLabel">XSLValidationPreferenceUnresolveImportIncludeLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceXPathLabel">XSLValidationPreferenceXPathLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSLValidationPreferenceXPathSyntaxLabel">XSLValidationPreferenceXPathSyntaxLabel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Messages">Messages</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_AbstractValidationSettingsPageJob">AbstractValidationSettingsPageJob</a></h2><p><code>public static  java.lang.String <strong>AbstractValidationSettingsPageJob</strong></code></p><hr><h2><a name="field_AbstractValidationSettingsPageMbText">AbstractValidationSettingsPageMbText</a></h2><p><code>public static  java.lang.String <strong>AbstractValidationSettingsPageMbText</strong></code></p><hr><h2><a name="field_AbstractValidationSettingsPageProject">AbstractValidationSettingsPageProject</a></h2><p><code>public static  java.lang.String <strong>AbstractValidationSettingsPageProject</strong></code></p><hr><h2><a name="field_AbstractValidationSettingsPageWorkspace">AbstractValidationSettingsPageWorkspace</a></h2><p><code>public static  java.lang.String <strong>AbstractValidationSettingsPageWorkspace</strong></code></p><hr><h2><a name="field_CallTemplateContentAssistTemplateName">CallTemplateContentAssistTemplateName</a></h2><p><code>public static  java.lang.String <strong>CallTemplateContentAssistTemplateName</strong></code></p><hr><h2><a name="field_CallTemplateContentAssistTemplateNameFile">CallTemplateContentAssistTemplateNameFile</a></h2><p><code>public static  java.lang.String <strong>CallTemplateContentAssistTemplateNameFile</strong></code></p><hr><h2><a name="field_ErrorLevelText">ErrorLevelText</a></h2><p><code>public static  java.lang.String <strong>ErrorLevelText</strong></code></p><hr><h2><a name="field_ExcludeResultPrefixesContentAssist">ExcludeResultPrefixesContentAssist</a></h2><p><code>public static  java.lang.String <strong>ExcludeResultPrefixesContentAssist</strong></code></p><hr><h2><a name="field_IgnoreLevelText">IgnoreLevelText</a></h2><p><code>public static  java.lang.String <strong>IgnoreLevelText</strong></code></p><hr><h2><a name="field_MainPreferencePage">MainPreferencePage</a></h2><p><code>public static  java.lang.String <strong>MainPreferencePage</strong></code></p><hr><h2><a name="field_NewXSLColumnTemplateDescription">NewXSLColumnTemplateDescription</a></h2><p><code>public static  java.lang.String <strong>NewXSLColumnTemplateDescription</strong></code></p><hr><h2><a name="field_NewXSLColumnTemplateName">NewXSLColumnTemplateName</a></h2><p><code>public static  java.lang.String <strong>NewXSLColumnTemplateName</strong></code></p><hr><h2><a name="field_NewXSLFileAlreadExistsError">NewXSLFileAlreadExistsError</a></h2><p><code>public static  java.lang.String <strong>NewXSLFileAlreadExistsError</strong></code></p><hr><h2><a name="field_NewXSLFilePageDescription">NewXSLFilePageDescription</a></h2><p><code>public static  java.lang.String <strong>NewXSLFilePageDescription</strong></code></p><hr><h2><a name="field_NewXSLFilePageTitle">NewXSLFilePageTitle</a></h2><p><code>public static  java.lang.String <strong>NewXSLFilePageTitle</strong></code></p><hr><h2><a name="field_NewXSLFilePageWindowTitle">NewXSLFilePageWindowTitle</a></h2><p><code>public static  java.lang.String <strong>NewXSLFilePageWindowTitle</strong></code></p><hr><h2><a name="field_NewXSLFileWizardExtensionError">NewXSLFileWizardExtensionError</a></h2><p><code>public static  java.lang.String <strong>NewXSLFileWizardExtensionError</strong></code></p><hr><h2><a name="field_NewXSLLinkPreferencePage">NewXSLLinkPreferencePage</a></h2><p><code>public static  java.lang.String <strong>NewXSLLinkPreferencePage</strong></code></p><hr><h2><a name="field_NewXSLSelectTemplate">NewXSLSelectTemplate</a></h2><p><code>public static  java.lang.String <strong>NewXSLSelectTemplate</strong></code></p><hr><h2><a name="field_NewXSLTemplateDescription">NewXSLTemplateDescription</a></h2><p><code>public static  java.lang.String <strong>NewXSLTemplateDescription</strong></code></p><hr><h2><a name="field_NewXSLTemplatePreviewTitle">NewXSLTemplatePreviewTitle</a></h2><p><code>public static  java.lang.String <strong>NewXSLTemplatePreviewTitle</strong></code></p><hr><h2><a name="field_NewXSLUseTemplateButtonText">NewXSLUseTemplateButtonText</a></h2><p><code>public static  java.lang.String <strong>NewXSLUseTemplateButtonText</strong></code></p><hr><h2><a name="field_NoContentAssistance">NoContentAssistance</a></h2><p><code>public static  java.lang.String <strong>NoContentAssistance</strong></code></p><hr><h2><a name="field_Open">Open</a></h2><p><code>public static  java.lang.String <strong>Open</strong></code></p><hr><h2><a name="field_VersionTemplateVariableResolverPageDescription">VersionTemplateVariableResolverPageDescription</a></h2><p><code>public static  java.lang.String <strong>VersionTemplateVariableResolverPageDescription</strong></code></p><hr><h2><a name="field_WarningLevelText">WarningLevelText</a></h2><p><code>public static  java.lang.String <strong>WarningLevelText</strong></code></p><hr><h2><a name="field_XSLEditorOverrideTemplate">XSLEditorOverrideTemplate</a></h2><p><code>public static  java.lang.String <strong>XSLEditorOverrideTemplate</strong></code></p><hr><h2><a name="field_XSLEditorOverrideTemplateMode">XSLEditorOverrideTemplateMode</a></h2><p><code>public static  java.lang.String <strong>XSLEditorOverrideTemplateMode</strong></code></p><hr><h2><a name="field_XSLSyntaxColoringPage">XSLSyntaxColoringPage</a></h2><p><code>public static  java.lang.String <strong>XSLSyntaxColoringPage</strong></code></p><hr><h2><a name="field_xsltStyleDocument">xsltStyleDocument</a></h2><p><code>public static  java.lang.String <strong>xsltStyleDocument</strong></code></p><hr><h2><a name="field_XSLValidationPageSeverityLevel">XSLValidationPageSeverityLevel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPageSeverityLevel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceCallTemplatesLabel">XSLValidationPreferenceCallTemplatesLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceCallTemplatesLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceCircularReferencesLabel">XSLValidationPreferenceCircularReferencesLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceCircularReferencesLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceDuplicateParameterLabel">XSLValidationPreferenceDuplicateParameterLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceDuplicateParameterLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceImportsIncludesLabel">XSLValidationPreferenceImportsIncludesLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceImportsIncludesLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceMaxErrorsLabel">XSLValidationPreferenceMaxErrorsLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceMaxErrorsLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceMaxErrorsMsgError">XSLValidationPreferenceMaxErrorsMsgError</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceMaxErrorsMsgError</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceMissingParameterAttributeLabel">XSLValidationPreferenceMissingParameterAttributeLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceMissingParameterAttributeLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceMissingParamtersLabel">XSLValidationPreferenceMissingParamtersLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceMissingParamtersLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceNamedTemplatesLabel">XSLValidationPreferenceNamedTemplatesLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceNamedTemplatesLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferencePageDescription">XSLValidationPreferencePageDescription</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferencePageDescription</strong></code></p><hr><h2><a name="field_XSLValidationPreferencePageTitle">XSLValidationPreferencePageTitle</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferencePageTitle</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceParameterEmptyAttributeLabel">XSLValidationPreferenceParameterEmptyAttributeLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceParameterEmptyAttributeLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceParamtersWithoutValueLabel">XSLValidationPreferenceParamtersWithoutValueLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceParamtersWithoutValueLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceTemplateConflictsLabel">XSLValidationPreferenceTemplateConflictsLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceTemplateConflictsLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceUnresolvedTemplatesLabel">XSLValidationPreferenceUnresolvedTemplatesLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceUnresolvedTemplatesLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceUnresolveImportIncludeLabel">XSLValidationPreferenceUnresolveImportIncludeLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceUnresolveImportIncludeLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceXPathLabel">XSLValidationPreferenceXPathLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceXPathLabel</strong></code></p><hr><h2><a name="field_XSLValidationPreferenceXPathSyntaxLabel">XSLValidationPreferenceXPathSyntaxLabel</a></h2><p><code>public static  java.lang.String <strong>XSLValidationPreferenceXPathSyntaxLabel</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_Messages">Messages</a></h2><p><code>public <strong>Messages</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.PreferenceInitializer.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.PreferenceInitializer.html
new file mode 100644
index 0000000..a037a18
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.PreferenceInitializer.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal</strong></font><br>
+               Class PreferenceInitializer</h2><br><hr><pre>public class <strong>PreferenceInitializer</strong>
+extends AbstractPreferenceInitializer</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_PreferenceInitializer">PreferenceInitializer</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_initializeDefaultPreferences">initializeDefaultPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_PreferenceInitializer">PreferenceInitializer</a></h2><p><code>public <strong>PreferenceInitializer</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_initializeDefaultPreferences">initializeDefaultPreferences</a></h2><p><code>public void <strong>initializeDefaultPreferences</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.StructuredTextViewerConfigurationXSL.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.StructuredTextViewerConfigurationXSL.html
new file mode 100644
index 0000000..7c395f7
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.StructuredTextViewerConfigurationXSL.html
@@ -0,0 +1,20 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal</strong></font><br>
+               Class StructuredTextViewerConfigurationXSL</h2><br><hr><pre>public class <strong>StructuredTextViewerConfigurationXSL</strong>
+extends StructuredTextViewerConfigurationXML</pre>StructuredTextViewerConfigurationXSL implements content assistance for
+ attributes and other XPath related functionality.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StructuredTextViewerConfigurationXSL">StructuredTextViewerConfigurationXSL</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String[]</code></td><td width="" align="left"><code><a href="#method_getConfiguredContentTypes">getConfiguredContentTypes</a>(ISourceViewer sourceViewer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>protected IContentAssistProcessor[]</code></td><td width="" align="left"><code><a href="#method_getContentAssistProcessors">getContentAssistProcessors</a>(ISourceViewer sourceViewer
+         ,
+      java.lang.String partitionType)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return the processors for the current content type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public IHyperlinkDetector[]</code></td><td width="" align="left"><code><a href="#method_getHyperlinkDetectors">getHyperlinkDetectors</a>(ISourceViewer sourceViewer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>protected LineStyleProvider</code></td><td width="" align="left"><code><a href="#method_getLineStyleProviderForXSL">getLineStyleProviderForXSL</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_StructuredTextViewerConfigurationXSL">StructuredTextViewerConfigurationXSL</a></h2><p><code>public <strong>StructuredTextViewerConfigurationXSL</strong>()</code></p><p>Configuration for XSL Content Types</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getConfiguredContentTypes">getConfiguredContentTypes</a></h2><p><code>public java.lang.String[] <strong>getConfiguredContentTypes</strong>(ISourceViewer sourceViewer)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>sourceViewer</code></p><h3>Returns</h3><p><code>java.lang.String[]</code></p><hr><h2><a name="method_getContentAssistProcessors">getContentAssistProcessors</a></h2><p><code>protected IContentAssistProcessor[] <strong>getContentAssistProcessors</strong>(ISourceViewer sourceViewer
+         ,
+      java.lang.String partitionType)</code></p><p>Return the processors for the current content type.</p><h3>Parameters</h3><p><code>sourceViewer</code></p><p><code>partitionType</code></p><h3>Returns</h3><p><code>IContentAssistProcessor[]</code></p><hr><h2><a name="method_getHyperlinkDetectors">getHyperlinkDetectors</a></h2><p><code>public IHyperlinkDetector[] <strong>getHyperlinkDetectors</strong>(ISourceViewer sourceViewer)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>sourceViewer</code></p><h3>Returns</h3><p><code>IHyperlinkDetector[]</code></p><hr><h2><a name="method_getLineStyleProviderForXSL">getLineStyleProviderForXSL</a></h2><p><code>protected LineStyleProvider <strong>getLineStyleProviderForXSL</strong>()</code></p><p></p><h3>Returns</h3><p><code>LineStyleProvider</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.XSLUIConstants.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.XSLUIConstants.html
new file mode 100644
index 0000000..5607f4a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.XSLUIConstants.html
@@ -0,0 +1,11 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal</strong></font><br>
+               Class XSLUIConstants</h2><br><hr><pre>public class <strong>XSLUIConstants</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NEW_FILE_TEMPLATE_NAME">NEW_FILE_TEMPLATE_NAME</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_TEMPLATE_CONTEXT_XSL_NEW">TEMPLATE_CONTEXT_XSL_NEW</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLUIConstants">XSLUIConstants</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_NEW_FILE_TEMPLATE_NAME">NEW_FILE_TEMPLATE_NAME</a></h2><p><code>public static  java.lang.String <strong>NEW_FILE_TEMPLATE_NAME</strong></code></p><hr><h2><a name="field_TEMPLATE_CONTEXT_XSL_NEW">TEMPLATE_CONTEXT_XSL_NEW</a></h2><p><code>public static  java.lang.String <strong>TEMPLATE_CONTEXT_XSL_NEW</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLUIConstants">XSLUIConstants</a></h2><p><code>public <strong>XSLUIConstants</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.XSLUIPlugin.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.XSLUIPlugin.html
new file mode 100644
index 0000000..132bada
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.XSLUIPlugin.html
@@ -0,0 +1,31 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal</strong></font><br>
+               Class XSLUIPlugin</h2><br><hr><pre>public class <strong>XSLUIPlugin</strong>
+extends AbstractUIPlugin</pre>The activator class controls the plug-in life cycle<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_PLUGIN_ID">PLUGIN_ID</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The plugin id for this plugin.</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLUIPlugin">XSLUIPlugin</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.ui.internal.XSLUIPlugin</code></td><td width="" align="left"><code><a href="#method_getDefault">getDefault</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the shared instance</td></tr><tr valign="top"><td width="20%" align="right"><code>public ContextTypeRegistry</code></td><td width="" align="left"><code><a href="#method_getTemplateContextRegistry">getTemplateContextRegistry</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the template context type registry for the xsl plugin.</td></tr><tr valign="top"><td width="20%" align="right"><code>public TemplateStore</code></td><td width="" align="left"><code><a href="#method_getTemplateStore">getTemplateStore</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the template store for the xsl templates.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_log">log</a>(java.lang.Exception e)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_log">log</a>(CoreException e)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.io.File</code></td><td width="" align="left"><code><a href="#method_makeFileFor">makeFileFor</a>(java.lang.String directory
+         ,
+      java.lang.String filename)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_start">start</a>(BundleContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_stop">stop</a>(BundleContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_PLUGIN_ID">PLUGIN_ID</a></h2><p><code>public static  java.lang.String <strong>PLUGIN_ID</strong></code></p><table><tr><td>The plugin id for this plugin.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLUIPlugin">XSLUIPlugin</a></h2><p><code>public <strong>XSLUIPlugin</strong>()</code></p><p>The constructor</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getDefault">getDefault</a></h2><p><code>public org.eclipse.wst.xsl.ui.internal.XSLUIPlugin <strong>getDefault</strong>()</code></p><p>Returns the shared instance</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.internal.XSLUIPlugin</code> - the shared instance</p><hr><h2><a name="method_getTemplateContextRegistry">getTemplateContextRegistry</a></h2><p><code>public ContextTypeRegistry <strong>getTemplateContextRegistry</strong>()</code></p><p>Returns the template context type registry for the xsl plugin.</p><h3>Returns</h3><p><code>ContextTypeRegistry</code> - the template context type registry for the xsl plugin</p><hr><h2><a name="method_getTemplateStore">getTemplateStore</a></h2><p><code>public TemplateStore <strong>getTemplateStore</strong>()</code></p><p>Returns the template store for the xsl templates.</p><h3>Returns</h3><p><code>TemplateStore</code> - the template store for the xsl templates</p><hr><h2><a name="method_log">log</a></h2><p><code>public void <strong>log</strong>(java.lang.Exception e)</code></p><p></p><h3>Parameters</h3><p><code>e</code></p><hr><h2><a name="method_log">log</a></h2><p><code>public void <strong>log</strong>(CoreException e)</code></p><p></p><h3>Parameters</h3><p><code>e</code></p><hr><h2><a name="method_makeFileFor">makeFileFor</a></h2><p><code>public java.io.File <strong>makeFileFor</strong>(java.lang.String directory
+         ,
+      java.lang.String filename)</code></p><p></p><h3>Parameters</h3><p><code>directory</code></p><p><code>filename</code></p><h3>Returns</h3><p><code>java.io.File</code></p><h3>Throws:</h3><p><code>java.io.IOException</code></p><hr><h2><a name="method_start">start</a></h2><p><code>public void <strong>start</strong>(BundleContext context)</code></p><p></p><h3>Parameters</h3><p><code>context</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr><h2><a name="method_stop">stop</a></h2><p><code>public void <strong>stop</strong>(BundleContext context)</code></p><p></p><h3>Parameters</h3><p><code>context</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewDTDFileWizardDelegate.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewDTDFileWizardDelegate.html
new file mode 100644
index 0000000..9b7a791
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewDTDFileWizardDelegate.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.actions</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.actions</strong></font><br>
+               Class NewDTDFileWizardDelegate</h2><br><hr><pre>public class <strong>NewDTDFileWizardDelegate</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NewDTDFileWizardDelegate">NewDTDFileWizardDelegate</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IWorkbenchWindow window)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_run">run</a>(IAction action)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_selectionChanged">selectionChanged</a>(IAction action
+         ,
+      ISelection selection)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NewDTDFileWizardDelegate">NewDTDFileWizardDelegate</a></h2><p><code>public <strong>NewDTDFileWizardDelegate</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IWorkbenchWindow window)</code></p><p></p><h3>Parameters</h3><p><code>window</code></p><hr><h2><a name="method_run">run</a></h2><p><code>public void <strong>run</strong>(IAction action)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><hr><h2><a name="method_selectionChanged">selectionChanged</a></h2><p><code>public void <strong>selectionChanged</strong>(IAction action
+         ,
+      ISelection selection)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><p><code>selection</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewWSDLFileWizardDelegate.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewWSDLFileWizardDelegate.html
new file mode 100644
index 0000000..ad78617
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewWSDLFileWizardDelegate.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.actions</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.actions</strong></font><br>
+               Class NewWSDLFileWizardDelegate</h2><br><hr><pre>public class <strong>NewWSDLFileWizardDelegate</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NewWSDLFileWizardDelegate">NewWSDLFileWizardDelegate</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IWorkbenchWindow window)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_run">run</a>(IAction action)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_selectionChanged">selectionChanged</a>(IAction action
+         ,
+      ISelection selection)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NewWSDLFileWizardDelegate">NewWSDLFileWizardDelegate</a></h2><p><code>public <strong>NewWSDLFileWizardDelegate</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IWorkbenchWindow window)</code></p><p></p><h3>Parameters</h3><p><code>window</code></p><hr><h2><a name="method_run">run</a></h2><p><code>public void <strong>run</strong>(IAction action)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><hr><h2><a name="method_selectionChanged">selectionChanged</a></h2><p><code>public void <strong>selectionChanged</strong>(IAction action
+         ,
+      ISelection selection)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><p><code>selection</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewWizardAction.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewWizardAction.html
new file mode 100644
index 0000000..a4e2b38
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewWizardAction.html
@@ -0,0 +1,11 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.actions</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.actions</strong></font><br>
+               Class NewWizardAction</h2><br><hr><pre>public class <strong>NewWizardAction</strong>
+extends Action</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NewWizardAction">NewWizardAction</a></strong>(java.lang.String id)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_run">run</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setSelection">setSelection</a>(ISelection selection)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NewWizardAction">NewWizardAction</a></h2><p><code>public <strong>NewWizardAction</strong>(java.lang.String id)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_run">run</a></h2><p><code>public void <strong>run</strong>()</code></p><p></p><hr><h2><a name="method_setSelection">setSelection</a></h2><p><code>public void <strong>setSelection</strong>(ISelection selection)</code></p><p></p><h3>Parameters</h3><p><code>selection</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXMLFileWizardDelegate.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXMLFileWizardDelegate.html
new file mode 100644
index 0000000..800b7f4
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXMLFileWizardDelegate.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.actions</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.actions</strong></font><br>
+               Class NewXMLFileWizardDelegate</h2><br><hr><pre>public class <strong>NewXMLFileWizardDelegate</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NewXMLFileWizardDelegate">NewXMLFileWizardDelegate</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IWorkbenchWindow window)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_run">run</a>(IAction action)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_selectionChanged">selectionChanged</a>(IAction action
+         ,
+      ISelection selection)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NewXMLFileWizardDelegate">NewXMLFileWizardDelegate</a></h2><p><code>public <strong>NewXMLFileWizardDelegate</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IWorkbenchWindow window)</code></p><p></p><h3>Parameters</h3><p><code>window</code></p><hr><h2><a name="method_run">run</a></h2><p><code>public void <strong>run</strong>(IAction action)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><hr><h2><a name="method_selectionChanged">selectionChanged</a></h2><p><code>public void <strong>selectionChanged</strong>(IAction action
+         ,
+      ISelection selection)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><p><code>selection</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXSDFileWizardDelegate.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXSDFileWizardDelegate.html
new file mode 100644
index 0000000..47cb370
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXSDFileWizardDelegate.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.actions</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.actions</strong></font><br>
+               Class NewXSDFileWizardDelegate</h2><br><hr><pre>public class <strong>NewXSDFileWizardDelegate</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NewXSDFileWizardDelegate">NewXSDFileWizardDelegate</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IWorkbenchWindow window)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_run">run</a>(IAction action)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_selectionChanged">selectionChanged</a>(IAction action
+         ,
+      ISelection selection)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NewXSDFileWizardDelegate">NewXSDFileWizardDelegate</a></h2><p><code>public <strong>NewXSDFileWizardDelegate</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IWorkbenchWindow window)</code></p><p></p><h3>Parameters</h3><p><code>window</code></p><hr><h2><a name="method_run">run</a></h2><p><code>public void <strong>run</strong>(IAction action)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><hr><h2><a name="method_selectionChanged">selectionChanged</a></h2><p><code>public void <strong>selectionChanged</strong>(IAction action
+         ,
+      ISelection selection)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><p><code>selection</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXSLFileWizardDelegate.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXSLFileWizardDelegate.html
new file mode 100644
index 0000000..8c06af9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXSLFileWizardDelegate.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.actions</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.actions</strong></font><br>
+               Class NewXSLFileWizardDelegate</h2><br><hr><pre>public class <strong>NewXSLFileWizardDelegate</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NewXSLFileWizardDelegate">NewXSLFileWizardDelegate</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IWorkbenchWindow window)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_run">run</a>(IAction action)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_selectionChanged">selectionChanged</a>(IAction action
+         ,
+      ISelection selection)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NewXSLFileWizardDelegate">NewXSLFileWizardDelegate</a></h2><p><code>public <strong>NewXSLFileWizardDelegate</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IWorkbenchWindow window)</code></p><p></p><h3>Parameters</h3><p><code>window</code></p><hr><h2><a name="method_run">run</a></h2><p><code>public void <strong>run</strong>(IAction action)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><hr><h2><a name="method_selectionChanged">selectionChanged</a></h2><p><code>public void <strong>selectionChanged</strong>(IAction action
+         ,
+      ISelection selection)</code></p><p></p><h3>Parameters</h3><p><code>action</code></p><p><code>selection</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.AttributeContentAssist.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.AttributeContentAssist.html
new file mode 100644
index 0000000..cbbf675
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.AttributeContentAssist.html
@@ -0,0 +1,33 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class AttributeContentAssist</h2><br><hr><pre>public class <strong>AttributeContentAssist</strong>
+extends org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist</pre>This class provides content assistance for attributes that contain the "{" character attribute.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AttributeContentAssist">AttributeContentAssist</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_AttributeContentAssist">AttributeContentAssist</a></h2><p><code>public <strong>AttributeContentAssist</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p>Constructor for the XSL content assistance for the test attribute.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.CallTemplateContentAssistRequest.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.CallTemplateContentAssistRequest.html
new file mode 100644
index 0000000..de7c677
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.CallTemplateContentAssistRequest.html
@@ -0,0 +1,37 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class CallTemplateContentAssistRequest</h2><br><hr><pre>public class <strong>CallTemplateContentAssistRequest</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest</pre>CallTemplateContentAssistance provides content assist proposals for
+ <xsl:call-with> templates.   It will provide a list of all available
+ named templates.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_CallTemplateContentAssistRequest">CallTemplateContentAssistRequest</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getAdditionalInfo">getAdditionalInfo</a>(org.eclipse.wst.xsl.core.model.Template template)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_CallTemplateContentAssistRequest">CallTemplateContentAssistRequest</a></h2><p><code>public <strong>CallTemplateContentAssistRequest</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getAdditionalInfo">getAdditionalInfo</a></h2><p><code>protected java.lang.String <strong>getAdditionalInfo</strong>(org.eclipse.wst.xsl.core.model.Template template)</code></p><p></p><h3>Parameters</h3><p><code>template</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.ContentAssistProcessorFactory.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.ContentAssistProcessorFactory.html
new file mode 100644
index 0000000..30fa6ac
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.ContentAssistProcessorFactory.html
@@ -0,0 +1,12 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class ContentAssistProcessorFactory</h2><br><hr><pre>public class <strong>ContentAssistProcessorFactory</strong>
+extends java.lang.Object</pre>A factory class that reads an eclipse extension point for Content Assist
+ Processors.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ContentAssistProcessorFactory">ContentAssistProcessorFactory</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static IContentAssistProcessor[]</code></td><td width="" align="left"><code><a href="#method_createProcessors">createProcessors</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Creates the necessary Content Assist Processors that have been
+ Contributed to the XSL Editor configuration.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_ContentAssistProcessorFactory">ContentAssistProcessorFactory</a></h2><p><code>public <strong>ContentAssistProcessorFactory</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createProcessors">createProcessors</a></h2><p><code>public IContentAssistProcessor[] <strong>createProcessors</strong>()</code></p><p>Creates the necessary Content Assist Processors that have been
+ Contributed to the XSL Editor configuration.</p><h3>Returns</h3><p><code>IContentAssistProcessor[]</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.ExcludeResultPrefixesContentAssist.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.ExcludeResultPrefixesContentAssist.html
new file mode 100644
index 0000000..59f18e5
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.ExcludeResultPrefixesContentAssist.html
@@ -0,0 +1,45 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class ExcludeResultPrefixesContentAssist</h2><br><hr><pre>public class <strong>ExcludeResultPrefixesContentAssist</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest</pre>Provides content assistance for xsl elements that have the
+ exclude-result-prefixes attribute.  This will provide a list 
+ of all known result prefixes that aren't currently in the attribute
+ list.  This list is a space separated list.   The XSL prefix is
+ excluded.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String[]</code></td><td width="80%" align="left"><code><a href="#field_tokens">tokens</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ExcludeResultPrefixesContentAssist">ExcludeResultPrefixesContentAssist</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_includePrefix">includePrefix</a>(NamespaceInfo namespace)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_prefixExists">prefixExists</a>(java.lang.String prefix)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_tokens">tokens</a></h2><p><code>protected java.lang.String[] <strong>tokens</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_ExcludeResultPrefixesContentAssist">ExcludeResultPrefixesContentAssist</a></h2><p><code>public <strong>ExcludeResultPrefixesContentAssist</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr><h2><a name="method_includePrefix">includePrefix</a></h2><p><code>protected boolean <strong>includePrefix</strong>(NamespaceInfo namespace)</code></p><p></p><h3>Parameters</h3><p><code>namespace</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_prefixExists">prefixExists</a></h2><p><code>protected boolean <strong>prefixExists</strong>(java.lang.String prefix)</code></p><p></p><h3>Parameters</h3><p><code>prefix</code></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist.html
new file mode 100644
index 0000000..244d1b8
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist.html
@@ -0,0 +1,80 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class SelectAttributeContentAssist</h2><br><hr><pre>public class <strong>SelectAttributeContentAssist</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest</pre>This class provides content assistance for the XSL select attribute.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_SELECT_ATTRIBUTE">SELECT_ATTRIBUTE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_SelectAttributeContentAssist">SelectAttributeContentAssist</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addSelectProposals">addSelectProposals</a>(org.w3c.dom.Element rootElement
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addTemplates">addTemplates</a>(java.lang.String context
+         ,
+      int startOffset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Adds XPath related templates to the list of proposals</td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_adjustXPathStart">adjustXPathStart</a>(java.lang.String attrName)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               This needs to setup the content assistance correctly. Here is what needs
+ to happen: 1. Adjust the matchString (This should have been calculated
+ earlier) 2. Get the current tokens offset position..this will be the
+ starting offset. 3. Get the replacement length...this is the difference
+ between the token offset and the next token or end of the string</td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_extractXPathMatchString">extractXPathMatchString</a>(IDOMAttr node
+         ,
+      ITextRegion aRegion
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IDOMAttr</code></td><td width="" align="left"><code><a href="#method_getAttribute">getAttribute</a>(java.lang.String attrName)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code><a href="#method_getXPathSeperatorPos">getXPathSeperatorPos</a>(int column
+         ,
+      java.lang.String nodeValue)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_SELECT_ATTRIBUTE">SELECT_ATTRIBUTE</a></h2><p><code>protected static  java.lang.String <strong>SELECT_ATTRIBUTE</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_SelectAttributeContentAssist">SelectAttributeContentAssist</a></h2><p><code>public <strong>SelectAttributeContentAssist</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p>Handles Content Assistance requests for Select Attributes. This is called
+ an instantiated through the use of the computeProposals method from the
+ XSLContentAssistProcessor. It will calculate the available proposals that
+ are available for the XSL select attribute.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addSelectProposals">addSelectProposals</a></h2><p><code>protected void <strong>addSelectProposals</strong>(org.w3c.dom.Element rootElement
+         ,
+      int offset)</code></p><p></p><h3>Parameters</h3><p><code>rootElement</code></p><p><code>offset</code></p><hr><h2><a name="method_addTemplates">addTemplates</a></h2><p><code>protected void <strong>addTemplates</strong>(java.lang.String context
+         ,
+      int startOffset)</code></p><p>Adds XPath related templates to the list of proposals</p><h3>Parameters</h3><p><code>context</code></p><p><code>startOffset</code></p><hr><h2><a name="method_adjustXPathStart">adjustXPathStart</a></h2><p><code>protected void <strong>adjustXPathStart</strong>(java.lang.String attrName)</code></p><p>This needs to setup the content assistance correctly. Here is what needs
+ to happen: 1. Adjust the matchString (This should have been calculated
+ earlier) 2. Get the current tokens offset position..this will be the
+ starting offset. 3. Get the replacement length...this is the difference
+ between the token offset and the next token or end of the string</p><h3>Parameters</h3><p><code>attrName</code> - The name of the attribute to use as the starting node.</p><hr><h2><a name="method_extractXPathMatchString">extractXPathMatchString</a></h2><p><code>protected java.lang.String <strong>extractXPathMatchString</strong>(IDOMAttr node
+         ,
+      ITextRegion aRegion
+         ,
+      int offset)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><p><code>aRegion</code></p><p><code>offset</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getAttribute">getAttribute</a></h2><p><code>protected IDOMAttr <strong>getAttribute</strong>(java.lang.String attrName)</code></p><p></p><h3>Parameters</h3><p><code>attrName</code></p><h3>Returns</h3><p><code>IDOMAttr</code></p><hr><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr><h2><a name="method_getXPathSeperatorPos">getXPathSeperatorPos</a></h2><p><code>protected int <strong>getXPathSeperatorPos</strong>(int column
+         ,
+      java.lang.String nodeValue)</code></p><p></p><h3>Parameters</h3><p><code>column</code></p><p><code>nodeValue</code></p><h3>Returns</h3><p><code>int</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TemplateModeAttributeContentAssist.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TemplateModeAttributeContentAssist.html
new file mode 100644
index 0000000..d768a67
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TemplateModeAttributeContentAssist.html
@@ -0,0 +1,41 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class TemplateModeAttributeContentAssist</h2><br><hr><pre>public class <strong>TemplateModeAttributeContentAssist</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest</pre>TemplateModeAttributeContentAssist provides content assistance proposals for
+ <xsl:templates> with a mode attribute.   It looks at all the modes defined
+ within the xsl model, and pulls out any modes that have been defined.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_TemplateModeAttributeContentAssist">TemplateModeAttributeContentAssist</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addModeProposals">addModeProposals</a>(org.eclipse.wst.xsl.core.model.StylesheetModel model)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The main method that returns an array of proposals. Returns the available
+ modes that have been defined in the {@link StylesheetModel}.  If no proposals
+ are found it returns a NULL value.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_TemplateModeAttributeContentAssist">TemplateModeAttributeContentAssist</a></h2><p><code>public <strong>TemplateModeAttributeContentAssist</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p>Constructor for creating the TemplateMode Content Assistance class.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addModeProposals">addModeProposals</a></h2><p><code>protected void <strong>addModeProposals</strong>(org.eclipse.wst.xsl.core.model.StylesheetModel model)</code></p><p></p><h3>Parameters</h3><p><code>model</code></p><hr><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>The main method that returns an array of proposals. Returns the available
+ modes that have been defined in the {@link StylesheetModel}.  If no proposals
+ are found it returns a NULL value.</p><h3>Returns</h3><p><code>java.util.ArrayList</code> - ICompletionPropsal[]</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TemplateNameAttributeContentAssist.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TemplateNameAttributeContentAssist.html
new file mode 100644
index 0000000..5682fb9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TemplateNameAttributeContentAssist.html
@@ -0,0 +1,38 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class TemplateNameAttributeContentAssist</h2><br><hr><pre>public class <strong>TemplateNameAttributeContentAssist</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest</pre>Provides content assistance for XSLT Named Templates.   It provides a list
+ of available call-template names that have already been used with in the
+ stylesheet.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_TemplateNameAttributeContentAssist">TemplateNameAttributeContentAssist</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_TemplateNameAttributeContentAssist">TemplateNameAttributeContentAssist</a></h2><p><code>public <strong>TemplateNameAttributeContentAssist</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p>Provides content assistance for XSLT Named Templates.  Will provide a list
+ of proposals based on the available named-templates if any are defined in
+ the XSL Stylesheet model.   Only provides a list of named templates that haven't already
+ been added as a proposal.  Does not check to see if it's already is defined in the current stylesheet.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TestAttributeContentAssist.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TestAttributeContentAssist.html
new file mode 100644
index 0000000..a8e8f35
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TestAttributeContentAssist.html
@@ -0,0 +1,33 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class TestAttributeContentAssist</h2><br><hr><pre>public class <strong>TestAttributeContentAssist</strong>
+extends org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist</pre>This class provides content assistance for the xsl <emphasis>test</emphais> attribute.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_TestAttributeContentAssist">TestAttributeContentAssist</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_TestAttributeContentAssist">TestAttributeContentAssist</a></h2><p><code>public <strong>TestAttributeContentAssist</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p>Constructor for the XSL content assistance for the test attribute.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XPathElementContentAssist.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XPathElementContentAssist.html
new file mode 100644
index 0000000..22648c5
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XPathElementContentAssist.html
@@ -0,0 +1,41 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class XPathElementContentAssist</h2><br><hr><pre>public class <strong>XPathElementContentAssist</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest</pre>This class provides XML Element proposals within XPath related items like
+ select, test, and match attributes.  This will leverage an ContentModel that
+ has been loaded and try to provide all available XML elements that could be used.
+ It should be enhanced to know the elements to be used based on information from
+ the XPath.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathElementContentAssist">XPathElementContentAssist</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Provides a list of possible proposals for the XML Elements within the current
+ scope.  This leverages the ContentModel that was loaded by the XML Catalog, 
+ Custom Resolver, or the inferred grammar.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XPathElementContentAssist">XPathElementContentAssist</a></h2><p><code>public <strong>XPathElementContentAssist</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>Provides a list of possible proposals for the XML Elements within the current
+ scope.  This leverages the ContentModel that was loaded by the XML Catalog, 
+ Custom Resolver, or the inferred grammar.</p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistProcessor.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistProcessor.html
new file mode 100644
index 0000000..5d423a5
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistProcessor.html
@@ -0,0 +1,46 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class XSLContentAssistProcessor</h2><br><hr><pre>public class <strong>XSLContentAssistProcessor</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor</pre>The XSL Content Assist Processor provides content assistance for various
+ attributes values within the XSL Editor. This includes support for xpaths on
+ select statements as well as on test and match attributes.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLContentAssistProcessor">XSLContentAssistProcessor</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_assistanceOnAttribute">assistanceOnAttribute</a>(IDOMNode node
+         ,
+      ITextRegion aRegion)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ICompletionProposal[]</code></td><td width="" align="left"><code><a href="#method_computeCompletionProposals">computeCompletionProposals</a>(ITextViewer textViewer
+         ,
+      int documentPosition)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               CONTENT ASSIST STARTS HERE
+ 
+ Return a list of proposed code completions based on the specified
+ location within the document that corresponds to the current cursor
+ position within the text-editor control.</td></tr><tr valign="top"><td width="20%" align="right"><code>public IContextInformation[]</code></td><td width="" align="left"><code><a href="#method_computeContextInformation">computeContextInformation</a>(ITextViewer viewer
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public char[]</code></td><td width="" align="left"><code><a href="#method_getContextInformationAutoActivationCharacters">getContextInformationAutoActivationCharacters</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public IContextInformationValidator</code></td><td width="" align="left"><code><a href="#method_getContextInformationValidator">getContextInformationValidator</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getMaximumVersion">getMaximumVersion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getMinimumVersion">getMinimumVersion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getNamespaces">getNamespaces</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLContentAssistProcessor">XSLContentAssistProcessor</a></h2><p><code>public <strong>XSLContentAssistProcessor</strong>()</code></p><p>Provides an XSL Content Assist Processor class that is XSL aware and XML
+ aware.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_assistanceOnAttribute">assistanceOnAttribute</a></h2><p><code>protected boolean <strong>assistanceOnAttribute</strong>(IDOMNode node
+         ,
+      ITextRegion aRegion)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><p><code>aRegion</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_computeCompletionProposals">computeCompletionProposals</a></h2><p><code>public ICompletionProposal[] <strong>computeCompletionProposals</strong>(ITextViewer textViewer
+         ,
+      int documentPosition)</code></p><p>CONTENT ASSIST STARTS HERE
+ 
+ Return a list of proposed code completions based on the specified
+ location within the document that corresponds to the current cursor
+ position within the text-editor control.</p><h3>Parameters</h3><p><code>textViewer</code></p><p><code>documentPosition</code> - - the cursor location within the document</p><h3>Returns</h3><p><code>ICompletionProposal[]</code> - an array of ICompletionProposal</p><hr><h2><a name="method_computeContextInformation">computeContextInformation</a></h2><p><code>public IContextInformation[] <strong>computeContextInformation</strong>(ITextViewer viewer
+         ,
+      int offset)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>viewer</code></p><p><code>offset</code></p><h3>Returns</h3><p><code>IContextInformation[]</code></p><hr><h2><a name="method_getContextInformationAutoActivationCharacters">getContextInformationAutoActivationCharacters</a></h2><p><code>public char[] <strong>getContextInformationAutoActivationCharacters</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>char[]</code></p><hr><h2><a name="method_getContextInformationValidator">getContextInformationValidator</a></h2><p><code>public IContextInformationValidator <strong>getContextInformationValidator</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>IContextInformationValidator</code></p><hr><h2><a name="method_getMaximumVersion">getMaximumVersion</a></h2><p><code>public java.lang.String <strong>getMaximumVersion</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getMinimumVersion">getMinimumVersion</a></h2><p><code>public java.lang.String <strong>getMinimumVersion</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNamespaces">getNamespaces</a></h2><p><code>public java.util.ArrayList <strong>getNamespaces</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistRequestFactory.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistRequestFactory.html
new file mode 100644
index 0000000..53e0511
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistRequestFactory.html
@@ -0,0 +1,40 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class XSLContentAssistRequestFactory</h2><br><hr><pre>public class <strong>XSLContentAssistRequestFactory</strong>
+extends java.lang.Object</pre>A Factory that determines which Content Assist Request class is needed and
+ returns the appropriate class.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLContentAssistRequestFactory">XSLContentAssistRequestFactory</a></strong>(ITextViewer textViewer
+         ,
+      int documentPosition
+         ,
+      IDOMNode xmlNode
+         ,
+      IStructuredDocumentRegion sdRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      java.lang.String matchString)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest</code></td><td width="" align="left"><code><a href="#method_getContentAssistRequest">getContentAssistRequest</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the appropriate content assist request class for the XSL request.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_hasAttributeAtTextRegion">hasAttributeAtTextRegion</a>(java.lang.String attrName
+         ,
+      org.w3c.dom.NamedNodeMap nodeMap
+         ,
+      ITextRegion aRegion)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLContentAssistRequestFactory">XSLContentAssistRequestFactory</a></h2><p><code>public <strong>XSLContentAssistRequestFactory</strong>(ITextViewer textViewer
+         ,
+      int documentPosition
+         ,
+      IDOMNode xmlNode
+         ,
+      IStructuredDocumentRegion sdRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      java.lang.String matchString)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getContentAssistRequest">getContentAssistRequest</a></h2><p><code>public org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest <strong>getContentAssistRequest</strong>()</code></p><p>Get the appropriate content assist request class for the XSL request.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest</code></p><hr><h2><a name="method_hasAttributeAtTextRegion">hasAttributeAtTextRegion</a></h2><p><code>protected boolean <strong>hasAttributeAtTextRegion</strong>(java.lang.String attrName
+         ,
+      org.w3c.dom.NamedNodeMap nodeMap
+         ,
+      ITextRegion aRegion)</code></p><p></p><h3>Parameters</h3><p><code>attrName</code></p><p><code>nodeMap</code></p><p><code>aRegion</code></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLElementContentAssistRequest.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLElementContentAssistRequest.html
new file mode 100644
index 0000000..e806d6d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLElementContentAssistRequest.html
@@ -0,0 +1,43 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class XSLElementContentAssistRequest</h2><br><hr><pre>public class <strong>XSLElementContentAssistRequest</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest</pre>This class provides content assistance proposals outside of the XSL namespace.  Normal
+ XML editor content assistance only provides proposals for items within the same namespace
+ or if an element has children elements.   This class extends this functionality by checking
+ for the first XSL ancestor and uses that to determine what proposals should be
+ provided in the way of xsl elements.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLElementContentAssistRequest">XSLElementContentAssistRequest</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_computeTagNameProposals">computeTagNameProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Calculates the proposals for the XML Tag Name Region.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_computeTagOpenProposals">computeTagOpenProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Calculate proposals for open content regions.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Provides a list of possible proposals for the XSL Elements within the current
+ scope.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLElementContentAssistRequest">XSLElementContentAssistRequest</a></h2><p><code>public <strong>XSLElementContentAssistRequest</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_computeTagNameProposals">computeTagNameProposals</a></h2><p><code>protected void <strong>computeTagNameProposals</strong>()</code></p><p>Calculates the proposals for the XML Tag Name Region.</p><hr><h2><a name="method_computeTagOpenProposals">computeTagOpenProposals</a></h2><p><code>protected void <strong>computeTagOpenProposals</strong>()</code></p><p>Calculate proposals for open content regions.</p><hr><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>Provides a list of possible proposals for the XSL Elements within the current
+ scope.</p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateCompletionProcessor.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateCompletionProcessor.html
new file mode 100644
index 0000000..1a8d191
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateCompletionProcessor.html
@@ -0,0 +1,43 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class XSLTemplateCompletionProcessor</h2><br><hr><pre>package-private class <strong>XSLTemplateCompletionProcessor</strong>
+extends TemplateCompletionProcessor</pre>Completion processor for XML Templates. Most of the work is already done by
+ the XML Content Assist processor, so by the time the
+ XMLTemplateCompletionProcessor is asked for content assist proposals, the
+ XML content assist processor has already set the context type for
+ templates.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLTemplateCompletionProcessor">XSLTemplateCompletionProcessor</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public ICompletionProposal[]</code></td><td width="" align="left"><code><a href="#method_computeCompletionProposals">computeCompletionProposals</a>(ITextViewer viewer
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ICompletionProposal</code></td><td width="" align="left"><code><a href="#method_createProposal">createProposal</a>(Template template
+         ,
+      TemplateContext context
+         ,
+      IRegion region
+         ,
+      int relevance)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected TemplateContextType</code></td><td width="" align="left"><code><a href="#method_getContextType">getContextType</a>(ITextViewer viewer
+         ,
+      IRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Image</code></td><td width="" align="left"><code><a href="#method_getImage">getImage</a>(Template template)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Template[]</code></td><td width="" align="left"><code><a href="#method_getTemplates">getTemplates</a>(java.lang.String contextTypeId)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_setContextType">setContextType</a>(java.lang.String contextTypeId)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLTemplateCompletionProcessor">XSLTemplateCompletionProcessor</a></h2><p><code>package-private <strong>XSLTemplateCompletionProcessor</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_computeCompletionProposals">computeCompletionProposals</a></h2><p><code>public ICompletionProposal[] <strong>computeCompletionProposals</strong>(ITextViewer viewer
+         ,
+      int offset)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>offset</code></p><h3>Returns</h3><p><code>ICompletionProposal[]</code></p><hr><h2><a name="method_createProposal">createProposal</a></h2><p><code>protected ICompletionProposal <strong>createProposal</strong>(Template template
+         ,
+      TemplateContext context
+         ,
+      IRegion region
+         ,
+      int relevance)</code></p><p></p><h3>Parameters</h3><p><code>template</code></p><p><code>context</code></p><p><code>region</code></p><p><code>relevance</code></p><h3>Returns</h3><p><code>ICompletionProposal</code></p><hr><h2><a name="method_getContextType">getContextType</a></h2><p><code>protected TemplateContextType <strong>getContextType</strong>(ITextViewer viewer
+         ,
+      IRegion region)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>region</code></p><h3>Returns</h3><p><code>TemplateContextType</code></p><hr><h2><a name="method_getImage">getImage</a></h2><p><code>protected Image <strong>getImage</strong>(Template template)</code></p><p></p><h3>Parameters</h3><p><code>template</code></p><h3>Returns</h3><p><code>Image</code></p><hr><h2><a name="method_getTemplates">getTemplates</a></h2><p><code>protected Template[] <strong>getTemplates</strong>(java.lang.String contextTypeId)</code></p><p></p><h3>Parameters</h3><p><code>contextTypeId</code></p><h3>Returns</h3><p><code>Template[]</code></p><hr><h2><a name="method_setContextType">setContextType</a></h2><p><code>package-private void <strong>setContextType</strong>(java.lang.String contextTypeId)</code></p><p></p><h3>Parameters</h3><p><code>contextTypeId</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateContentAssistProcessor.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateContentAssistProcessor.html
new file mode 100644
index 0000000..a0468fc
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateContentAssistProcessor.html
@@ -0,0 +1,29 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist</strong></font><br>
+               Class XSLTemplateContentAssistProcessor</h2><br><hr><pre>public class <strong>XSLTemplateContentAssistProcessor</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLTemplateContentAssistProcessor">XSLTemplateContentAssistProcessor</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public ICompletionProposal[]</code></td><td width="" align="left"><code><a href="#method_computeCompletionProposals">computeCompletionProposals</a>(ITextViewer viewer
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IContextInformation[]</code></td><td width="" align="left"><code><a href="#method_computeContextInformation">computeContextInformation</a>(ITextViewer viewer
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public char[]</code></td><td width="" align="left"><code><a href="#method_getContextInformationAutoActivationCharacters">getContextInformationAutoActivationCharacters</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IContextInformationValidator</code></td><td width="" align="left"><code><a href="#method_getContextInformationValidator">getContextInformationValidator</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getMaximumVersion">getMaximumVersion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getMinimumVersion">getMinimumVersion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getNamespaces">getNamespaces</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLTemplateContentAssistProcessor">XSLTemplateContentAssistProcessor</a></h2><p><code>public <strong>XSLTemplateContentAssistProcessor</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_computeCompletionProposals">computeCompletionProposals</a></h2><p><code>public ICompletionProposal[] <strong>computeCompletionProposals</strong>(ITextViewer viewer
+         ,
+      int offset)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>offset</code></p><h3>Returns</h3><p><code>ICompletionProposal[]</code></p><hr><h2><a name="method_computeContextInformation">computeContextInformation</a></h2><p><code>public IContextInformation[] <strong>computeContextInformation</strong>(ITextViewer viewer
+         ,
+      int offset)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>offset</code></p><h3>Returns</h3><p><code>IContextInformation[]</code></p><hr><h2><a name="method_getContextInformationAutoActivationCharacters">getContextInformationAutoActivationCharacters</a></h2><p><code>public char[] <strong>getContextInformationAutoActivationCharacters</strong>()</code></p><p></p><h3>Returns</h3><p><code>char[]</code></p><hr><h2><a name="method_getContextInformationValidator">getContextInformationValidator</a></h2><p><code>public IContextInformationValidator <strong>getContextInformationValidator</strong>()</code></p><p></p><h3>Returns</h3><p><code>IContextInformationValidator</code></p><hr><h2><a name="method_getMaximumVersion">getMaximumVersion</a></h2><p><code>public java.lang.String <strong>getMaximumVersion</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getMinimumVersion">getMinimumVersion</a></h2><p><code>public java.lang.String <strong>getMinimumVersion</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNamespaces">getNamespaces</a></h2><p><code>public java.util.ArrayList <strong>getNamespaces</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel.XSLContentModelGenerator.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel.XSLContentModelGenerator.html
new file mode 100644
index 0000000..5581494
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel.XSLContentModelGenerator.html
@@ -0,0 +1,66 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel</strong></font><br>
+               Class XSLContentModelGenerator</h2><br><hr><pre>public class <strong>XSLContentModelGenerator</strong>
+extends AbstractContentModelGenerator</pre>This provides the ContentModel based off the XSL xml schema grammars and other
+ grammars provided by the xml editor.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLContentModelGenerator">XSLContentModelGenerator</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_generateAttribute">generateAttribute</a>(CMAttributeDeclaration attrDecl
+         ,
+      java.lang.StringBuffer buffer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_generateEndTag">generateEndTag</a>(java.lang.String tagName
+         ,
+      org.w3c.dom.Node parentNode
+         ,
+      CMElementDeclaration elementDecl
+         ,
+      java.lang.StringBuffer buffer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_generateRequiredAttribute">generateRequiredAttribute</a>(org.w3c.dom.Node ownerNode
+         ,
+      CMAttributeDeclaration attrDecl
+         ,
+      java.lang.StringBuffer buffer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_generateStartTag">generateStartTag</a>(java.lang.String tagName
+         ,
+      org.w3c.dom.Node parentNode
+         ,
+      CMElementDeclaration elementDecl
+         ,
+      java.lang.StringBuffer buffer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getMinimalStartTagLength">getMinimalStartTagLength</a>(org.w3c.dom.Node node
+         ,
+      CMElementDeclaration elementDecl)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getOtherClose">getOtherClose</a>(org.w3c.dom.Node notATagNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getStartTagClose">getStartTagClose</a>(org.w3c.dom.Node parentNode
+         ,
+      CMElementDeclaration elementDecl)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLContentModelGenerator">XSLContentModelGenerator</a></h2><p><code>public <strong>XSLContentModelGenerator</strong>()</code></p><p>XSLContentModelGenerator constructor comment.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_generateAttribute">generateAttribute</a></h2><p><code>public void <strong>generateAttribute</strong>(CMAttributeDeclaration attrDecl
+         ,
+      java.lang.StringBuffer buffer)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>attrDecl</code></p><p><code>buffer</code></p><hr><h2><a name="method_generateEndTag">generateEndTag</a></h2><p><code>protected void <strong>generateEndTag</strong>(java.lang.String tagName
+         ,
+      org.w3c.dom.Node parentNode
+         ,
+      CMElementDeclaration elementDecl
+         ,
+      java.lang.StringBuffer buffer)</code></p><p></p><h3>Parameters</h3><p><code>tagName</code></p><p><code>parentNode</code></p><p><code>elementDecl</code></p><p><code>buffer</code></p><hr><h2><a name="method_generateRequiredAttribute">generateRequiredAttribute</a></h2><p><code>public void <strong>generateRequiredAttribute</strong>(org.w3c.dom.Node ownerNode
+         ,
+      CMAttributeDeclaration attrDecl
+         ,
+      java.lang.StringBuffer buffer)</code></p><p></p><h3>Parameters</h3><p><code>ownerNode</code></p><p><code>attrDecl</code></p><p><code>buffer</code></p><hr><h2><a name="method_generateStartTag">generateStartTag</a></h2><p><code>protected void <strong>generateStartTag</strong>(java.lang.String tagName
+         ,
+      org.w3c.dom.Node parentNode
+         ,
+      CMElementDeclaration elementDecl
+         ,
+      java.lang.StringBuffer buffer)</code></p><p></p><h3>Parameters</h3><p><code>tagName</code></p><p><code>parentNode</code></p><p><code>elementDecl</code></p><p><code>buffer</code></p><hr><h2><a name="method_getMinimalStartTagLength">getMinimalStartTagLength</a></h2><p><code>public int <strong>getMinimalStartTagLength</strong>(org.w3c.dom.Node node
+         ,
+      CMElementDeclaration elementDecl)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>node</code></p><p><code>elementDecl</code></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getOtherClose">getOtherClose</a></h2><p><code>protected java.lang.String <strong>getOtherClose</strong>(org.w3c.dom.Node notATagNode)</code></p><p></p><h3>Parameters</h3><p><code>notATagNode</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getStartTagClose">getStartTagClose</a></h2><p><code>public java.lang.String <strong>getStartTagClose</strong>(org.w3c.dom.Node parentNode
+         ,
+      CMElementDeclaration elementDecl)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>parentNode</code></p><p><code>elementDecl</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.href.HrefContentAssistRequest.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.href.HrefContentAssistRequest.html
new file mode 100644
index 0000000..642f5d0
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.href.HrefContentAssistRequest.html
@@ -0,0 +1,39 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist.href</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist.href</strong></font><br>
+               Class HrefContentAssistRequest</h2><br><hr><pre>public class <strong>HrefContentAssistRequest</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest</pre><p>This provides content assistance proposals for href attributes with a mode attribute.</p>
+ <p>Content assistance is restricted to files with the XSL content type that are in the same project as the file currently 
+ being edited. This is because projects in the workspace can have completely different physical file locations, leading to 
+ confusion in relative file paths across projects. Similarly, no content assistance is given for files external to the workspace. 
+ Such files should be assigned an absolute 'file:///' URL.</p><p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_HrefContentAssistRequest">HrefContentAssistRequest</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The main method that returns an array of proposals. Returns relative paths to files in the current project.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_sortProposals">sortProposals</a>(java.util.List proposalsIn)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Do not wish to sort the proposals - they are already sorted</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_HrefContentAssistRequest">HrefContentAssistRequest</a></h2><p><code>public <strong>HrefContentAssistRequest</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p>Constructor for creating the HrefContentAssistRequest class.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>The main method that returns an array of proposals. Returns relative paths to files in the current project.</p><h3>Returns</h3><p><code>java.util.ArrayList</code> - ICompletionProposal[]</p><hr><h2><a name="method_sortProposals">sortProposals</a></h2><p><code>protected java.util.List <strong>sortProposals</strong>(java.util.List proposalsIn)</code></p><p>Do not wish to sort the proposals - they are already sorted</p><h3>Parameters</h3><p><code>proposalsIn</code></p><h3>Returns</h3><p><code>java.util.List</code> - the same list, in the same order</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.href.PathComparator.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.href.PathComparator.html
new file mode 100644
index 0000000..7918d07
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.href.PathComparator.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentassist.href</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentassist.href</strong></font><br>
+               Class PathComparator</h2><br><hr><pre>package-private class <strong>PathComparator</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_PathComparator">PathComparator</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_compare">compare</a>(IPath o1
+         ,
+      IPath o2)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_PathComparator">PathComparator</a></h2><p><code>package-private <strong>PathComparator</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_compare">compare</a></h2><p><code>public int <strong>compare</strong>(IPath o1
+         ,
+      IPath o2)</code></p><p></p><h3>Parameters</h3><p><code>o1</code></p><p><code>o2</code></p><h3>Returns</h3><p><code>int</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.AttributeShowingLabelProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.AttributeShowingLabelProvider.html
new file mode 100644
index 0000000..36b2cd5
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.AttributeShowingLabelProvider.html
@@ -0,0 +1,27 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
+               Class AttributeShowingLabelProvider</h2><br><hr><pre>public class <strong>AttributeShowingLabelProvider</strong>
+extends org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeLabelProvider</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_ATTR_ID">ATTR_ID</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_ATTR_NAME">ATTR_NAME</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field_fShowAttributes">fShowAttributes</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AttributeShowingLabelProvider">AttributeShowingLabelProvider</a></strong>(boolean showAttributes)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getText">getText</a>(java.lang.Object o)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getToolTipText">getToolTipText</a>(java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isLabelProperty">isLabelProperty</a>(java.lang.Object element
+         ,
+      java.lang.String property)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setShowAttributes">setShowAttributes</a>(boolean fShowAttributes)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_ATTR_ID">ATTR_ID</a></h2><p><code>package-private static  java.lang.String <strong>ATTR_ID</strong></code></p><hr><h2><a name="field_ATTR_NAME">ATTR_NAME</a></h2><p><code>package-private static  java.lang.String <strong>ATTR_NAME</strong></code></p><hr><h2><a name="field_fShowAttributes">fShowAttributes</a></h2><p><code>package-private boolean <strong>fShowAttributes</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_AttributeShowingLabelProvider">AttributeShowingLabelProvider</a></h2><p><code>public <strong>AttributeShowingLabelProvider</strong>(boolean showAttributes)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getText">getText</a></h2><p><code>public java.lang.String <strong>getText</strong>(java.lang.Object o)</code></p><p></p><h3>Parameters</h3><p><code>o</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getToolTipText">getToolTipText</a></h2><p><code>public java.lang.String <strong>getToolTipText</strong>(java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_isLabelProperty">isLabelProperty</a></h2><p><code>public boolean <strong>isLabelProperty</strong>(java.lang.Object element
+         ,
+      java.lang.String property)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><p><code>property</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_setShowAttributes">setShowAttributes</a></h2><p><code>public void <strong>setShowAttributes</strong>(boolean fShowAttributes)</code></p><p></p><h3>Parameters</h3><p><code>fShowAttributes</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapter.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapter.html
new file mode 100644
index 0000000..8b98a4d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapter.html
@@ -0,0 +1,63 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
+               Class JFaceNodeAdapter</h2><br><hr><pre>public class <strong>JFaceNodeAdapter</strong>
+extends java.lang.Object</pre>Adapts a DOM node to a JFace viewer.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  java.lang.Class</code></td><td width="80%" align="left"><code><a href="#field_ADAPTER_KEY">ADAPTER_KEY</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory</code></td><td width="80%" align="left"><code><a href="#field_fAdapterFactory">fAdapterFactory</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private org.eclipse.wst.xsl.ui.internal.contentoutline.RefreshStructureJob</code></td><td width="80%" align="left"><code><a href="#field_fRefreshJob">fRefreshJob</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_JFaceNodeAdapter">JFaceNodeAdapter</a></strong>(org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory adapterFactory)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected Image</code></td><td width="" align="left"><code><a href="#method_createImage">createImage</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Image</code></td><td width="" align="left"><code><a href="#method_createXMLImageDescriptor">createXMLImageDescriptor</a>(java.lang.String imageResourceName)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getChildren">getChildren</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getElements">getElements</a>(java.lang.Object node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns an enumeration with the elements belonging to the passed
+ element. These are the top level items in a list, tree, table, etc...</td></tr><tr valign="top"><td width="20%" align="right"><code>public Image</code></td><td width="" align="left"><code><a href="#method_getLabelImage">getLabelImage</a>(java.lang.Object node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Fetches the label image specific to this object instance.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getLabelText">getLabelText</a>(java.lang.Object node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Fetches the label text specific to this object instance.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getParent">getParent</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ImageDescriptor</code></td><td width="" align="left"><code><a href="#method_getXSLImage">getXSLImage</a>(org.w3c.dom.Element node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_hasChildren">hasChildren</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isAdapterForType">isAdapterForType</a>(java.lang.Object type)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Allowing the INodeAdapter to compare itself against the type allows it
+ to return true in more than one case.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_notifyChanged">notifyChanged</a>(INodeNotifier notifier
+         ,
+      int eventType
+         ,
+      java.lang.Object changedFeature
+         ,
+      java.lang.Object oldValue
+         ,
+      java.lang.Object newValue
+         ,
+      int pos)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Called by the object being adapter (the notifier) when something has
+ changed.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_ADAPTER_KEY">ADAPTER_KEY</a></h2><p><code>package-private static  java.lang.Class <strong>ADAPTER_KEY</strong></code></p><hr><h2><a name="field_fAdapterFactory">fAdapterFactory</a></h2><p><code>package-private org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory <strong>fAdapterFactory</strong></code></p><hr><h2><a name="field_fRefreshJob">fRefreshJob</a></h2><p><code>package-private org.eclipse.wst.xsl.ui.internal.contentoutline.RefreshStructureJob <strong>fRefreshJob</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_JFaceNodeAdapter">JFaceNodeAdapter</a></h2><p><code>public <strong>JFaceNodeAdapter</strong>(org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory adapterFactory)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createImage">createImage</a></h2><p><code>protected Image <strong>createImage</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>Image</code></p><hr><h2><a name="method_createXMLImageDescriptor">createXMLImageDescriptor</a></h2><p><code>protected Image <strong>createXMLImageDescriptor</strong>(java.lang.String imageResourceName)</code></p><p></p><h3>Parameters</h3><p><code>imageResourceName</code></p><h3>Returns</h3><p><code>Image</code></p><hr><h2><a name="method_getChildren">getChildren</a></h2><p><code>public java.lang.Object[] <strong>getChildren</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_getElements">getElements</a></h2><p><code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object node)</code></p><p>Returns an enumeration with the elements belonging to the passed
+ element. These are the top level items in a list, tree, table, etc...</p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_getLabelImage">getLabelImage</a></h2><p><code>public Image <strong>getLabelImage</strong>(java.lang.Object node)</code></p><p>Fetches the label image specific to this object instance.</p><h3>Parameters</h3><p><code>node</code> - DOM Node</p><h3>Returns</h3><p><code>Image</code> - Image for the label.</p><hr><h2><a name="method_getLabelText">getLabelText</a></h2><p><code>public java.lang.String <strong>getLabelText</strong>(java.lang.Object node)</code></p><p>Fetches the label text specific to this object instance.</p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>java.lang.String</code> - Node Name for the Label</p><hr><h2><a name="method_getParent">getParent</a></h2><p><code>public java.lang.Object <strong>getParent</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getXSLImage">getXSLImage</a></h2><p><code>protected ImageDescriptor <strong>getXSLImage</strong>(org.w3c.dom.Element node)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>ImageDescriptor</code></p><hr><h2><a name="method_hasChildren">hasChildren</a></h2><p><code>public boolean <strong>hasChildren</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_isAdapterForType">isAdapterForType</a></h2><p><code>public boolean <strong>isAdapterForType</strong>(java.lang.Object type)</code></p><p>Allowing the INodeAdapter to compare itself against the type allows it
+ to return true in more than one case.</p><h3>Parameters</h3><p><code>type</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_notifyChanged">notifyChanged</a></h2><p><code>public void <strong>notifyChanged</strong>(INodeNotifier notifier
+         ,
+      int eventType
+         ,
+      java.lang.Object changedFeature
+         ,
+      java.lang.Object oldValue
+         ,
+      java.lang.Object newValue
+         ,
+      int pos)</code></p><p>Called by the object being adapter (the notifier) when something has
+ changed.</p><h3>Parameters</h3><p><code>notifier</code></p><p><code>eventType</code></p><p><code>changedFeature</code></p><p><code>oldValue</code></p><p><code>newValue</code></p><p><code>pos</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl.html
new file mode 100644
index 0000000..d6ee224
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl.html
@@ -0,0 +1,33 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
+               Class JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</h2><br><hr><pre>public class <strong>JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl">JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_cacheCleared">cacheCleared</a>(CMDocumentCache cache)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_cacheUpdated">cacheUpdated</a>(CMDocumentCache cache
+         ,
+      java.lang.String uri
+         ,
+      int oldStatus
+         ,
+      int newStatus
+         ,
+      CMDocument cmDocument)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_propertyChanged">propertyChanged</a>(CMDocumentManager cmDocumentManager
+         ,
+      java.lang.String propertyName)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl">JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</a></h2><p><code>public <strong>JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_cacheCleared">cacheCleared</a></h2><p><code>public void <strong>cacheCleared</strong>(CMDocumentCache cache)</code></p><p></p><h3>Parameters</h3><p><code>cache</code></p><hr><h2><a name="method_cacheUpdated">cacheUpdated</a></h2><p><code>public void <strong>cacheUpdated</strong>(CMDocumentCache cache
+         ,
+      java.lang.String uri
+         ,
+      int oldStatus
+         ,
+      int newStatus
+         ,
+      CMDocument cmDocument)</code></p><p></p><h3>Parameters</h3><p><code>cache</code></p><p><code>uri</code></p><p><code>oldStatus</code></p><p><code>newStatus</code></p><p><code>cmDocument</code></p><hr><h2><a name="method_propertyChanged">propertyChanged</a></h2><p><code>public void <strong>propertyChanged</strong>(CMDocumentManager cmDocumentManager
+         ,
+      java.lang.String propertyName)</code></p><p></p><h3>Parameters</h3><p><code>cmDocumentManager</code></p><p><code>propertyName</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.html
new file mode 100644
index 0000000..f05d233
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.html
@@ -0,0 +1,34 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
+               Class JFaceNodeAdapterFactory</h2><br><hr><pre>public class <strong>JFaceNodeAdapterFactory</strong>
+extends AbstractAdapterFactory</pre>An adapter factory to create JFaceNodeAdapters. Use this adapter factory
+ with a JFaceAdapterContentProvider to display DOM nodes in a tree.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected INodeAdapter</code></td><td width="80%" align="left"><code><a href="#field_singletonAdapter">singletonAdapter</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_JFaceNodeAdapterFactory">JFaceNodeAdapterFactory</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_JFaceNodeAdapterFactory">JFaceNodeAdapterFactory</a></strong>(java.lang.Object adapterKey
+         ,
+      boolean registerAdapters)</code></td></tr><tr><td><code><strong><a href="#con_JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl">JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addListener">addListener</a>(java.lang.Object listener)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public INodeAdapterFactory</code></td><td width="" align="left"><code><a href="#method_copy">copy</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected INodeAdapter</code></td><td width="" align="left"><code><a href="#method_createAdapter">createAdapter</a>(INodeNotifier node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Create a new JFace adapter for the DOM node passed in</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Collection</code></td><td width="" align="left"><code><a href="#method_getListeners">getListeners</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               returns "copy" so no one can modify our list. It is a shallow copy.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_initAdapter">initAdapter</a>(INodeAdapter adapter
+         ,
+      INodeNotifier node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_release">release</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_removeListener">removeListener</a>(java.lang.Object listener)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_singletonAdapter">singletonAdapter</a></h2><p><code>protected INodeAdapter <strong>singletonAdapter</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_JFaceNodeAdapterFactory">JFaceNodeAdapterFactory</a></h2><p><code>public <strong>JFaceNodeAdapterFactory</strong>()</code></p><p></p><hr><h2><a name="con_JFaceNodeAdapterFactory">JFaceNodeAdapterFactory</a></h2><p><code>public <strong>JFaceNodeAdapterFactory</strong>(java.lang.Object adapterKey
+         ,
+      boolean registerAdapters)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addListener">addListener</a></h2><p><code>public void <strong>addListener</strong>(java.lang.Object listener)</code></p><p></p><h3>Parameters</h3><p><code>listener</code></p><hr><h2><a name="method_copy">copy</a></h2><p><code>public INodeAdapterFactory <strong>copy</strong>()</code></p><p></p><h3>Returns</h3><p><code>INodeAdapterFactory</code></p><hr><h2><a name="method_createAdapter">createAdapter</a></h2><p><code>protected INodeAdapter <strong>createAdapter</strong>(INodeNotifier node)</code></p><p>Create a new JFace adapter for the DOM node passed in</p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>INodeAdapter</code></p><hr><h2><a name="method_getListeners">getListeners</a></h2><p><code>public java.util.Collection <strong>getListeners</strong>()</code></p><p>returns "copy" so no one can modify our list. It is a shallow copy.</p><h3>Returns</h3><p><code>java.util.Collection</code></p><hr><h2><a name="method_initAdapter">initAdapter</a></h2><p><code>protected void <strong>initAdapter</strong>(INodeAdapter adapter
+         ,
+      INodeNotifier node)</code></p><p></p><h3>Parameters</h3><p><code>adapter</code></p><p><code>node</code></p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>()</code></p><p></p><hr><h2><a name="method_removeListener">removeListener</a></h2><p><code>public void <strong>removeListener</strong>(java.lang.Object listener)</code></p><p></p><h3>Parameters</h3><p><code>listener</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeContentProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeContentProvider.html
new file mode 100644
index 0000000..b428836
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeContentProvider.html
@@ -0,0 +1,33 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
+               Class JFaceNodeContentProvider</h2><br><hr><pre>public class <strong>JFaceNodeContentProvider</strong>
+extends java.lang.Object</pre>An ITreeContentProvider for a TreeViewers used to display DOM nodes. This
+ content provider takes an adapter factory to create JFace adapters for the
+ nodes in the tree.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_JFaceNodeContentProvider">JFaceNodeContentProvider</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               The visual part that is using this content provider is about to be
+ disposed. Deallocate all allocated SWT resources.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected IJFaceNodeAdapter</code></td><td width="" align="left"><code><a href="#method_getAdapter">getAdapter</a>(java.lang.Object adaptable)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the JFace adapter for the specified object.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getChildren">getChildren</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getElements">getElements</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getParent">getParent</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_hasChildren">hasChildren</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_inputChanged">inputChanged</a>(Viewer viewer
+         ,
+      java.lang.Object oldInput
+         ,
+      java.lang.Object newInput)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_JFaceNodeContentProvider">JFaceNodeContentProvider</a></h2><p><code>public <strong>JFaceNodeContentProvider</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p>The visual part that is using this content provider is about to be
+ disposed. Deallocate all allocated SWT resources.</p><hr><h2><a name="method_getAdapter">getAdapter</a></h2><p><code>protected IJFaceNodeAdapter <strong>getAdapter</strong>(java.lang.Object adaptable)</code></p><p>Returns the JFace adapter for the specified object.</p><h3>Parameters</h3><p><code>adaptable</code> - java.lang.Object The object to get the adapter for</p><h3>Returns</h3><p><code>IJFaceNodeAdapter</code></p><hr><h2><a name="method_getChildren">getChildren</a></h2><p><code>public java.lang.Object[] <strong>getChildren</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_getElements">getElements</a></h2><p><code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_getParent">getParent</a></h2><p><code>public java.lang.Object <strong>getParent</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_hasChildren">hasChildren</a></h2><p><code>public boolean <strong>hasChildren</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_inputChanged">inputChanged</a></h2><p><code>public void <strong>inputChanged</strong>(Viewer viewer
+         ,
+      java.lang.Object oldInput
+         ,
+      java.lang.Object newInput)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>oldInput</code></p><p><code>newInput</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeLabelProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeLabelProvider.html
new file mode 100644
index 0000000..4523a70
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeLabelProvider.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
+               Class JFaceNodeLabelProvider</h2><br><hr><pre>public class <strong>JFaceNodeLabelProvider</strong>
+extends ColumnLabelProvider</pre>A (column) label provider backed by JFaceNodeAdapters.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_JFaceNodeLabelProvider">JFaceNodeLabelProvider</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected IJFaceNodeAdapter</code></td><td width="" align="left"><code><a href="#method_getAdapter">getAdapter</a>(java.lang.Object adaptable)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the JFace adapter for the specified object.</td></tr><tr valign="top"><td width="20%" align="right"><code>public Image</code></td><td width="" align="left"><code><a href="#method_getImage">getImage</a>(java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getText">getText</a>(java.lang.Object element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isLabelProperty">isLabelProperty</a>(java.lang.Object element
+         ,
+      java.lang.String property)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_JFaceNodeLabelProvider">JFaceNodeLabelProvider</a></h2><p><code>public <strong>JFaceNodeLabelProvider</strong>()</code></p><p>JFaceNodeLabelProvider constructor comment.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getAdapter">getAdapter</a></h2><p><code>protected IJFaceNodeAdapter <strong>getAdapter</strong>(java.lang.Object adaptable)</code></p><p>Returns the JFace adapter for the specified object.</p><h3>Parameters</h3><p><code>adaptable</code> - java.lang.Object The object to get the adapter for</p><h3>Returns</h3><p><code>IJFaceNodeAdapter</code></p><hr><h2><a name="method_getImage">getImage</a></h2><p><code>public Image <strong>getImage</strong>(java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>Image</code></p><hr><h2><a name="method_getText">getText</a></h2><p><code>public java.lang.String <strong>getText</strong>(java.lang.Object element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_isLabelProperty">isLabelProperty</a></h2><p><code>public boolean <strong>isLabelProperty</strong>(java.lang.Object element
+         ,
+      java.lang.String property)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><p><code>property</code></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.RefreshStructureJob.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.RefreshStructureJob.html
new file mode 100644
index 0000000..42c25e0
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.RefreshStructureJob.html
@@ -0,0 +1,40 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
+               Class RefreshStructureJob</h2><br><hr><pre>package-private class <strong>RefreshStructureJob</strong>
+extends Job</pre>This job holds a queue of updates (affected nodes) for multiple structured
+ viewers. When a new request comes in, the current run is cancelled, the new
+ request is added to the queue, then the job is re-scheduled. Support for
+ multiple structured viewers is required because refresh updates are usually
+ triggered by model changes, and the model may be visible in more than one
+ viewer.<p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  boolean</code></td><td width="80%" align="left"><code><a href="#field_DEBUG">DEBUG</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               debug flag</td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.Set</code></td><td width="80%" align="left"><code><a href="#field_fRefreshViewers">fRefreshViewers</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               the structured viewers</td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.util.Set</code></td><td width="80%" align="left"><code><a href="#field_fUpdateViewers">fUpdateViewers</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_RefreshStructureJob">RefreshStructureJob</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_canceling">canceling</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_refresh">refresh</a>(StructuredViewer viewer
+         ,
+      org.w3c.dom.Node node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Invoke a refresh on the viewer on the given node.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected IStatus</code></td><td width="" align="left"><code><a href="#method_run">run</a>(IProgressMonitor monitor)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_update">update</a>(StructuredViewer viewer
+         ,
+      org.w3c.dom.Node node
+         ,
+      java.lang.String[] properties)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Invoke a refresh on the viewer on the given node.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_DEBUG">DEBUG</a></h2><p><code>package-private static  boolean <strong>DEBUG</strong></code></p><table><tr><td>debug flag</td></tr></table><hr><h2><a name="field_fRefreshViewers">fRefreshViewers</a></h2><p><code>package-private java.util.Set <strong>fRefreshViewers</strong></code></p><table><tr><td>the structured viewers</td></tr></table><hr><h2><a name="field_fUpdateViewers">fUpdateViewers</a></h2><p><code>package-private java.util.Set <strong>fUpdateViewers</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_RefreshStructureJob">RefreshStructureJob</a></h2><p><code>public <strong>RefreshStructureJob</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_canceling">canceling</a></h2><p><code>protected void <strong>canceling</strong>()</code></p><p></p><hr><h2><a name="method_refresh">refresh</a></h2><p><code>public void <strong>refresh</strong>(StructuredViewer viewer
+         ,
+      org.w3c.dom.Node node)</code></p><p>Invoke a refresh on the viewer on the given node.</p><h3>Parameters</h3><p><code>viewer</code></p><p><code>node</code></p><hr><h2><a name="method_run">run</a></h2><p><code>protected IStatus <strong>run</strong>(IProgressMonitor monitor)</code></p><p></p><h3>Parameters</h3><p><code>monitor</code></p><h3>Returns</h3><p><code>IStatus</code></p><hr><h2><a name="method_update">update</a></h2><p><code>public void <strong>update</strong>(StructuredViewer viewer
+         ,
+      org.w3c.dom.Node node
+         ,
+      java.lang.String[] properties)</code></p><p>Invoke a refresh on the viewer on the given node.</p><h3>Parameters</h3><p><code>viewer</code></p><p><code>node</code></p><p><code>properties</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.XMLNodeActionManager.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.XMLNodeActionManager.html
new file mode 100644
index 0000000..bfd2477
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.XMLNodeActionManager.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
+               Class XMLNodeActionManager</h2><br><hr><pre>public class <strong>XMLNodeActionManager</strong>
+extends AbstractNodeActionManager</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XMLNodeActionManager">XMLNodeActionManager</a></strong>(IStructuredModel model
+         ,
+      Viewer viewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_reformat">reformat</a>(org.w3c.dom.Node newElement
+         ,
+      boolean deep)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setModel">setModel</a>(IStructuredModel newModel)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_setModelQuery">setModelQuery</a>(ModelQuery newModelQuery)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XMLNodeActionManager">XMLNodeActionManager</a></h2><p><code>public <strong>XMLNodeActionManager</strong>(IStructuredModel model
+         ,
+      Viewer viewer)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_reformat">reformat</a></h2><p><code>public void <strong>reformat</strong>(org.w3c.dom.Node newElement
+         ,
+      boolean deep)</code></p><p></p><h3>Parameters</h3><p><code>newElement</code></p><p><code>deep</code></p><hr><h2><a name="method_setModel">setModel</a></h2><p><code>public void <strong>setModel</strong>(IStructuredModel newModel)</code></p><p></p><h3>Parameters</h3><p><code>newModel</code></p><hr><h2><a name="method_setModelQuery">setModelQuery</a></h2><p><code>protected void <strong>setModelQuery</strong>(ModelQuery newModelQuery)</code></p><p></p><h3>Parameters</h3><p><code>newModelQuery</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.XSLContentOutlineConfiguration.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.XSLContentOutlineConfiguration.html
new file mode 100644
index 0000000..8a76336
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.XSLContentOutlineConfiguration.html
@@ -0,0 +1,42 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.contentoutline</strong></font><br>
+               Class XSLContentOutlineConfiguration</h2><br><hr><pre>public class <strong>XSLContentOutlineConfiguration</strong>
+extends XMLContentOutlineConfiguration</pre>More advanced Outline Configuration for XML support.  Expects that the viewer's
+ input will be the DOM Model.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_ATTR_ID">ATTR_ID</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_ATTR_NAME">ATTR_NAME</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field_fShowAttributes">fShowAttributes</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLContentOutlineConfiguration">XSLContentOutlineConfiguration</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected IContributionItem[]</code></td><td width="" align="left"><code><a href="#method_createMenuContributions">createMenuContributions</a>(TreeViewer viewer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_enableShowAttributes">enableShowAttributes</a>(boolean showAttributes
+         ,
+      TreeViewer treeViewer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Notifies this configuration that the flag that indicates whether or not
+ to show attribute values in the tree viewer has changed. The tree
+ viewer is automatically refreshed afterwards to update the labels.
+ 
+ Clients should not call this method, but rather should react to it.</td></tr><tr valign="top"><td width="20%" align="right"><code>public IContentProvider</code></td><td width="" align="left"><code><a href="#method_getContentProvider">getContentProvider</a>(TreeViewer viewer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ILabelProvider</code></td><td width="" align="left"><code><a href="#method_getLabelProvider">getLabelProvider</a>(TreeViewer viewer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ISelection</code></td><td width="" align="left"><code><a href="#method_getSelection">getSelection</a>(TreeViewer viewer
+         ,
+      ISelection selection)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_ATTR_ID">ATTR_ID</a></h2><p><code>package-private static  java.lang.String <strong>ATTR_ID</strong></code></p><hr><h2><a name="field_ATTR_NAME">ATTR_NAME</a></h2><p><code>package-private static  java.lang.String <strong>ATTR_NAME</strong></code></p><hr><h2><a name="field_fShowAttributes">fShowAttributes</a></h2><p><code>package-private boolean <strong>fShowAttributes</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLContentOutlineConfiguration">XSLContentOutlineConfiguration</a></h2><p><code>public <strong>XSLContentOutlineConfiguration</strong>()</code></p><p>Create new instance of XMLContentOutlineConfiguration</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createMenuContributions">createMenuContributions</a></h2><p><code>protected IContributionItem[] <strong>createMenuContributions</strong>(TreeViewer viewer)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><h3>Returns</h3><p><code>IContributionItem[]</code></p><hr><h2><a name="method_enableShowAttributes">enableShowAttributes</a></h2><p><code>protected void <strong>enableShowAttributes</strong>(boolean showAttributes
+         ,
+      TreeViewer treeViewer)</code></p><p>Notifies this configuration that the flag that indicates whether or not
+ to show attribute values in the tree viewer has changed. The tree
+ viewer is automatically refreshed afterwards to update the labels.
+ 
+ Clients should not call this method, but rather should react to it.</p><h3>Parameters</h3><p><code>showAttributes</code> - flag indicating whether or not to show attribute values in             the tree viewer</p><p><code>treeViewer</code> - the TreeViewer associated with this configuration</p><hr><h2><a name="method_getContentProvider">getContentProvider</a></h2><p><code>public IContentProvider <strong>getContentProvider</strong>(TreeViewer viewer)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><h3>Returns</h3><p><code>IContentProvider</code></p><hr><h2><a name="method_getLabelProvider">getLabelProvider</a></h2><p><code>public ILabelProvider <strong>getLabelProvider</strong>(TreeViewer viewer)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><h3>Returns</h3><p><code>ILabelProvider</code></p><hr><h2><a name="method_getSelection">getSelection</a></h2><p><code>public ISelection <strong>getSelection</strong>(TreeViewer viewer
+         ,
+      ISelection selection)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>selection</code></p><h3>Returns</h3><p><code>ISelection</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.doubleclick.XSLDoubleClickStrategy.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.doubleclick.XSLDoubleClickStrategy.html
new file mode 100644
index 0000000..8d78e34
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.doubleclick.XSLDoubleClickStrategy.html
@@ -0,0 +1,30 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.doubleclick</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.doubleclick</strong></font><br>
+               Class XSLDoubleClickStrategy</h2><br><hr><pre>public class <strong>XSLDoubleClickStrategy</strong>
+extends XMLDoubleClickStrategy</pre>XSLDoubleClickStrategy extends the XMLDoubleclickStrategy to take into
+ account those areas that may be involved in XPath Expressions.<p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  char[]</code></td><td width="80%" align="left"><code><a href="#field_XML_DELIMITERS">XML_DELIMITERS</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  char[]</code></td><td width="80%" align="left"><code><a href="#field_XML_PARENTHESIS">XML_PARENTHESIS</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLDoubleClickStrategy">XSLDoubleClickStrategy</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected Point</code></td><td width="" align="left"><code><a href="#method_getWord">getWord</a>(java.lang.String string
+         ,
+      int cursor)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code><a href="#method_startOfWord">startOfWord</a>(java.lang.String string
+         ,
+      int cursor
+         ,
+      int wordStart)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_XML_DELIMITERS">XML_DELIMITERS</a></h2><p><code>package-private static  char[] <strong>XML_DELIMITERS</strong></code></p><hr><h2><a name="field_XML_PARENTHESIS">XML_PARENTHESIS</a></h2><p><code>package-private static  char[] <strong>XML_PARENTHESIS</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLDoubleClickStrategy">XSLDoubleClickStrategy</a></h2><p><code>public <strong>XSLDoubleClickStrategy</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getWord">getWord</a></h2><p><code>protected Point <strong>getWord</strong>(java.lang.String string
+         ,
+      int cursor)</code></p><p></p><h3>Parameters</h3><p><code>string</code></p><p><code>cursor</code></p><h3>Returns</h3><p><code>Point</code></p><hr><h2><a name="method_startOfWord">startOfWord</a></h2><p><code>protected int <strong>startOfWord</strong>(java.lang.String string
+         ,
+      int cursor
+         ,
+      int wordStart)</code></p><p></p><h3>Parameters</h3><p><code>string</code></p><p><code>cursor</code></p><p><code>wordStart</code></p><h3>Returns</h3><p><code>int</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicator.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicator.html
new file mode 100644
index 0000000..cbd7a2a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicator.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.editor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.editor</strong></font><br>
+               Class OverrideIndicator</h2><br><hr><pre>package-private class <strong>OverrideIndicator</strong>
+extends Annotation</pre>Overwrite and override indicator annotation.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_OverrideIndicator">OverrideIndicator</a></strong>(java.lang.String text
+         ,
+      java.lang.String key)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_open">open</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Opens and reveals the defining method.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_OverrideIndicator">OverrideIndicator</a></h2><p><code>package-private <strong>OverrideIndicator</strong>(java.lang.String text
+         ,
+      java.lang.String key)</code></p><p>Creates a new override annotation.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_open">open</a></h2><p><code>public void <strong>open</strong>()</code></p><p>Opens and reveals the defining method.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorImageProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorImageProvider.html
new file mode 100644
index 0000000..bcf577e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorImageProvider.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.editor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.editor</strong></font><br>
+               Class OverrideIndicatorImageProvider</h2><br><hr><pre>public class <strong>OverrideIndicatorImageProvider</strong>
+extends java.lang.Object</pre>Image provider for {@link org.eclipse.wst.xsl.ui.internal.editor.jdt.internal.ui.javaeditor.OverrideIndicatorManager.OverrideIndicator} annotations.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_OverrideIndicatorImageProvider">OverrideIndicatorImageProvider</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public ImageDescriptor</code></td><td width="" align="left"><code><a href="#method_getImageDescriptor">getImageDescriptor</a>(java.lang.String imageDescritporId)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getImageDescriptorId">getImageDescriptorId</a>(Annotation annotation)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public Image</code></td><td width="" align="left"><code><a href="#method_getManagedImage">getManagedImage</a>(Annotation annotation)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               This does not support managing its own image.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_OverrideIndicatorImageProvider">OverrideIndicatorImageProvider</a></h2><p><code>public <strong>OverrideIndicatorImageProvider</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getImageDescriptor">getImageDescriptor</a></h2><p><code>public ImageDescriptor <strong>getImageDescriptor</strong>(java.lang.String imageDescritporId)</code></p><p></p><h3>Parameters</h3><p><code>imageDescritporId</code></p><h3>Returns</h3><p><code>ImageDescriptor</code></p><hr><h2><a name="method_getImageDescriptorId">getImageDescriptorId</a></h2><p><code>public java.lang.String <strong>getImageDescriptorId</strong>(Annotation annotation)</code></p><p></p><h3>Parameters</h3><p><code>annotation</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getManagedImage">getManagedImage</a></h2><p><code>public Image <strong>getManagedImage</strong>(Annotation annotation)</code></p><p>This does not support managing its own image.</p><h3>Parameters</h3><p><code>annotation</code></p><h3>Returns</h3><p><code>Image</code> - null</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager.html
new file mode 100644
index 0000000..6ffe41d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.editor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.editor</strong></font><br>
+               Class OverrideIndicatorManager</h2><br><hr><pre>public class <strong>OverrideIndicatorManager</strong>
+extends java.lang.Object</pre>Manages the override and overwrite indicators for the given Java element and annotation model.<p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_ANNOTATION_TYPE">ANNOTATION_TYPE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_OverrideIndicatorManager">OverrideIndicatorManager</a></strong>(IAnnotationModel annotationModel
+         ,
+      IFile file)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_removeAnnotations">removeAnnotations</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Removes all override indicators from this manager's annotation model.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_updateAnnotations">updateAnnotations</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Updates the override and implements annotations based on the given AST.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_ANNOTATION_TYPE">ANNOTATION_TYPE</a></h2><p><code>package-private static  java.lang.String <strong>ANNOTATION_TYPE</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_OverrideIndicatorManager">OverrideIndicatorManager</a></h2><p><code>public <strong>OverrideIndicatorManager</strong>(IAnnotationModel annotationModel
+         ,
+      IFile file)</code></p><p>Constructor requires the editors annotation model and the file the editor is looking at.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_removeAnnotations">removeAnnotations</a></h2><p><code>package-private void <strong>removeAnnotations</strong>()</code></p><p>Removes all override indicators from this manager's annotation model.</p><hr><h2><a name="method_updateAnnotations">updateAnnotations</a></h2><p><code>public void <strong>updateAnnotations</strong>()</code></p><p>Updates the override and implements annotations based on the given AST.</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.SourceFileHyperlink.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.SourceFileHyperlink.html
new file mode 100644
index 0000000..00d440d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.SourceFileHyperlink.html
@@ -0,0 +1,27 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.editor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.editor</strong></font><br>
+               Class SourceFileHyperlink</h2><br><hr><pre>public class <strong>SourceFileHyperlink</strong>
+extends java.lang.Object</pre><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_SourceFileHyperlink">SourceFileHyperlink</a></strong>(IRegion hyperLinkRegion
+         ,
+      IFile linkedFile)</code></td></tr><tr><td><code><strong><a href="#con_SourceFileHyperlink">SourceFileHyperlink</a></strong>(IRegion hyperLinkRegion
+         ,
+      IFile linkedFile
+         ,
+      org.eclipse.wst.xsl.core.model.XSLNode node)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public IRegion</code></td><td width="" align="left"><code><a href="#method_getHyperlinkRegion">getHyperlinkRegion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getHyperlinkText">getHyperlinkText</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getTypeLabel">getTypeLabel</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_open">open</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_SourceFileHyperlink">SourceFileHyperlink</a></h2><p><code>public <strong>SourceFileHyperlink</strong>(IRegion hyperLinkRegion
+         ,
+      IFile linkedFile)</code></p><p></p><hr><h2><a name="con_SourceFileHyperlink">SourceFileHyperlink</a></h2><p><code>public <strong>SourceFileHyperlink</strong>(IRegion hyperLinkRegion
+         ,
+      IFile linkedFile
+         ,
+      org.eclipse.wst.xsl.core.model.XSLNode node)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getHyperlinkRegion">getHyperlinkRegion</a></h2><p><code>public IRegion <strong>getHyperlinkRegion</strong>()</code></p><p></p><h3>Returns</h3><p><code>IRegion</code></p><hr><h2><a name="method_getHyperlinkText">getHyperlinkText</a></h2><p><code>public java.lang.String <strong>getHyperlinkText</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getTypeLabel">getTypeLabel</a></h2><p><code>public java.lang.String <strong>getTypeLabel</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_open">open</a></h2><p><code>public void <strong>open</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.XSLEditor.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.XSLEditor.html
new file mode 100644
index 0000000..e7fc34e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.XSLEditor.html
@@ -0,0 +1,16 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.editor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.editor</strong></font><br>
+               Class XSLEditor</h2><br><hr><pre>public class <strong>XSLEditor</strong>
+extends StructuredTextEditor</pre>XSL specific extensions to the SSE UI that haven't yet been made
+ available to the SSE.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLEditor">XSLEditor</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_doSetInput">doSetInput</a>(IEditorInput input)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getAdapter">getAdapter</a>(java.lang.Class required)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager</code></td><td width="" align="left"><code><a href="#method_getOverrideIndicatorManager">getOverrideIndicatorManager</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_installOverrideIndicator">installOverrideIndicator</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLEditor">XSLEditor</a></h2><p><code>public <strong>XSLEditor</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_doSetInput">doSetInput</a></h2><p><code>protected void <strong>doSetInput</strong>(IEditorInput input)</code></p><p></p><h3>Parameters</h3><p><code>input</code></p><h3>Throws:</h3><p><code>CoreException</code></p><hr><h2><a name="method_getAdapter">getAdapter</a></h2><p><code>public java.lang.Object <strong>getAdapter</strong>(java.lang.Class required)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>required</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getOverrideIndicatorManager">getOverrideIndicatorManager</a></h2><p><code>public org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager <strong>getOverrideIndicatorManager</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager</code></p><hr><h2><a name="method_installOverrideIndicator">installOverrideIndicator</a></h2><p><code>protected void <strong>installOverrideIndicator</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.XSLHyperlinkDetector.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.XSLHyperlinkDetector.html
new file mode 100644
index 0000000..5743b28
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.editor.XSLHyperlinkDetector.html
@@ -0,0 +1,31 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.editor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.editor</strong></font><br>
+               Class XSLHyperlinkDetector</h2><br><hr><pre>public class <strong>XSLHyperlinkDetector</strong>
+extends AbstractHyperlinkDetector</pre>A hyperlink detector for XSL files.
+ 
+ The detector makes use of the model built by SSE validation (found in <code>XSLCore</code>).
+ 
+ Currently supports hyperlinking for includes, imports or called templates.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLHyperlinkDetector">XSLHyperlinkDetector</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public IHyperlink[]</code></td><td width="" align="left"><code><a href="#method_detectHyperlinks">detectHyperlinks</a>(ITextViewer textViewer
+         ,
+      IRegion region
+         ,
+      boolean canShowMultipleHyperlinks)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Try to create hyperlinks for viewer and region</td></tr><tr valign="top"><td width="20%" align="right"><code>public IHyperlink[]</code></td><td width="" align="left"><code><a href="#method_detectHyperlinks">detectHyperlinks</a>(IDocument document
+         ,
+      IRegion region
+         ,
+      boolean canShowMultipleHyperlinks)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Try to create hyperlinks for document and region</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLHyperlinkDetector">XSLHyperlinkDetector</a></h2><p><code>public <strong>XSLHyperlinkDetector</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_detectHyperlinks">detectHyperlinks</a></h2><p><code>public IHyperlink[] <strong>detectHyperlinks</strong>(ITextViewer textViewer
+         ,
+      IRegion region
+         ,
+      boolean canShowMultipleHyperlinks)</code></p><p>Try to create hyperlinks for viewer and region</p><h3>Parameters</h3><p><code>textViewer</code></p><p><code>region</code></p><p><code>canShowMultipleHyperlinks</code></p><h3>Returns</h3><p><code>IHyperlink[]</code> - array of hyperlinks for current region</p><hr><h2><a name="method_detectHyperlinks">detectHyperlinks</a></h2><p><code>public IHyperlink[] <strong>detectHyperlinks</strong>(IDocument document
+         ,
+      IRegion region
+         ,
+      boolean canShowMultipleHyperlinks)</code></p><p>Try to create hyperlinks for document and region</p><h3>Parameters</h3><p><code>document</code></p><p><code>region</code></p><p><code>canShowMultipleHyperlinks</code></p><h3>Returns</h3><p><code>IHyperlink[]</code> - array of hyperlinks for current region</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.handlers.OpenDeclarationHandler.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.handlers.OpenDeclarationHandler.html
new file mode 100644
index 0000000..2571f2e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.handlers.OpenDeclarationHandler.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.handlers</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.handlers</strong></font><br>
+               Class OpenDeclarationHandler</h2><br><hr><pre>public class <strong>OpenDeclarationHandler</strong>
+extends AbstractHandler</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_OpenDeclarationHandler">OpenDeclarationHandler</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_execute">execute</a>(ExecutionEvent event)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_OpenDeclarationHandler">OpenDeclarationHandler</a></h2><p><code>public <strong>OpenDeclarationHandler</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_execute">execute</a></h2><p><code>public java.lang.Object <strong>execute</strong>(ExecutionEvent event)</code></p><p></p><h3>Parameters</h3><p><code>event</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><h3>Throws:</h3><p><code>ExecutionException</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.AbstractValidationSettingsPage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.AbstractValidationSettingsPage.html
new file mode 100644
index 0000000..da04362
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.AbstractValidationSettingsPage.html
@@ -0,0 +1,83 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class AbstractValidationSettingsPage</h2><br><hr><pre>package-private class <strong>AbstractValidationSettingsPage</strong>
+extends org.eclipse.wst.xsl.ui.internal.preferences.PropertyPreferencePage</pre>Based on org.eclipse.jdt.internal.ui.preferences.OptionsConfigurationBlock<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AbstractValidationSettingsPage">AbstractValidationSettingsPage</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected Combo</code></td><td width="" align="left"><code><a href="#method_addComboBox">addComboBox</a>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      java.lang.String key
+         ,
+      int[] values
+         ,
+      java.lang.String[] valueLabels
+         ,
+      int indent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Creates a Combo widget in the composite <code>parent</code>. The data
+ in the Combo is associated with <code>key</code>. The Combo data is
+ generated based on the integer <code>values</code> where the index
+ of <code>values</code> corresponds to the index of <code>valueLabels</code></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_controlChanged">controlChanged</a>(Widget widget)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ExpandableComposite</code></td><td width="" align="left"><code><a href="#method_createTwistie">createTwistie</a>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      int nColumns)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_expandedStateChanged">expandedStateChanged</a>(ExpandableComposite expandable)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ExpandableComposite</code></td><td width="" align="left"><code><a href="#method_getParentExpandableComposite">getParentExpandableComposite</a>(Control control)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ScrolledPageContent</code></td><td width="" align="left"><code><a href="#method_getParentScrolledComposite">getParentScrolledComposite</a>(Control control)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected SelectionListener</code></td><td width="" align="left"><code><a href="#method_getSelectionListener">getSelectionListener</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Combo</code></td><td width="" align="left"><code><a href="#method_newComboControl">newComboControl</a>(Composite composite
+         ,
+      java.lang.String key
+         ,
+      int[] values
+         ,
+      java.lang.String[] valueLabels)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Creates a combo box and associates the combo data with the
+ combo box.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_performOk">performOk</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_resetSeverities">resetSeverities</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_restoreSectionExpansionStates">restoreSectionExpansionStates</a>(IDialogSettings settings)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_shouldRevalidateOnSettingsChange">shouldRevalidateOnSettingsChange</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_storeSectionExpansionStates">storeSectionExpansionStates</a>(IDialogSettings section)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_storeValues">storeValues</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_AbstractValidationSettingsPage">AbstractValidationSettingsPage</a></h2><p><code>public <strong>AbstractValidationSettingsPage</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addComboBox">addComboBox</a></h2><p><code>protected Combo <strong>addComboBox</strong>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      java.lang.String key
+         ,
+      int[] values
+         ,
+      java.lang.String[] valueLabels
+         ,
+      int indent)</code></p><p>Creates a Combo widget in the composite <code>parent</code>. The data
+ in the Combo is associated with <code>key</code>. The Combo data is
+ generated based on the integer <code>values</code> where the index
+ of <code>values</code> corresponds to the index of <code>valueLabels</code></p><h3>Parameters</h3><p><code>parent</code> - the composite to create the combo box in</p><p><code>label</code> - the label to give the combo box</p><p><code>key</code> - the unique key to identify the combo box</p><p><code>values</code> - the values represented by the combo options</p><p><code>valueLabels</code> - the calues displayed in the combo box</p><p><code>indent</code> - how far to indent the combo box label</p><h3>Returns</h3><p><code>Combo</code> - the generated combo box</p><hr><h2><a name="method_controlChanged">controlChanged</a></h2><p><code>protected void <strong>controlChanged</strong>(Widget widget)</code></p><p></p><h3>Parameters</h3><p><code>widget</code></p><hr><h2><a name="method_createTwistie">createTwistie</a></h2><p><code>protected ExpandableComposite <strong>createTwistie</strong>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      int nColumns)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>label</code></p><p><code>nColumns</code></p><h3>Returns</h3><p><code>ExpandableComposite</code></p><hr><h2><a name="method_expandedStateChanged">expandedStateChanged</a></h2><p><code>protected void <strong>expandedStateChanged</strong>(ExpandableComposite expandable)</code></p><p></p><h3>Parameters</h3><p><code>expandable</code></p><hr><h2><a name="method_getParentExpandableComposite">getParentExpandableComposite</a></h2><p><code>protected ExpandableComposite <strong>getParentExpandableComposite</strong>(Control control)</code></p><p></p><h3>Parameters</h3><p><code>control</code></p><h3>Returns</h3><p><code>ExpandableComposite</code></p><hr><h2><a name="method_getParentScrolledComposite">getParentScrolledComposite</a></h2><p><code>protected ScrolledPageContent <strong>getParentScrolledComposite</strong>(Control control)</code></p><p></p><h3>Parameters</h3><p><code>control</code></p><h3>Returns</h3><p><code>ScrolledPageContent</code></p><hr><h2><a name="method_getSelectionListener">getSelectionListener</a></h2><p><code>protected SelectionListener <strong>getSelectionListener</strong>()</code></p><p></p><h3>Returns</h3><p><code>SelectionListener</code></p><hr><h2><a name="method_newComboControl">newComboControl</a></h2><p><code>protected Combo <strong>newComboControl</strong>(Composite composite
+         ,
+      java.lang.String key
+         ,
+      int[] values
+         ,
+      java.lang.String[] valueLabels)</code></p><p>Creates a combo box and associates the combo data with the
+ combo box.</p><h3>Parameters</h3><p><code>composite</code> - the composite to create the combo box in</p><p><code>key</code> - the unique key to identify the combo box</p><p><code>values</code> - the values represented by the combo options</p><p><code>valueLabels</code> - the values displayed in the combo box</p><h3>Returns</h3><p><code>Combo</code> - the generated combo box</p><hr><h2><a name="method_performOk">performOk</a></h2><p><code>public boolean <strong>performOk</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_resetSeverities">resetSeverities</a></h2><p><code>protected void <strong>resetSeverities</strong>()</code></p><p></p><hr><h2><a name="method_restoreSectionExpansionStates">restoreSectionExpansionStates</a></h2><p><code>protected void <strong>restoreSectionExpansionStates</strong>(IDialogSettings settings)</code></p><p></p><h3>Parameters</h3><p><code>settings</code></p><hr><h2><a name="method_shouldRevalidateOnSettingsChange">shouldRevalidateOnSettingsChange</a></h2><p><code>protected boolean <strong>shouldRevalidateOnSettingsChange</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_storeSectionExpansionStates">storeSectionExpansionStates</a></h2><p><code>protected void <strong>storeSectionExpansionStates</strong>(IDialogSettings section)</code></p><p></p><h3>Parameters</h3><p><code>section</code></p><hr><h2><a name="method_storeValues">storeValues</a></h2><p><code>protected void <strong>storeValues</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.AbstractXSLPreferencePage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.AbstractXSLPreferencePage.html
new file mode 100644
index 0000000..9287e8a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.AbstractXSLPreferencePage.html
@@ -0,0 +1,37 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class AbstractXSLPreferencePage</h2><br><hr><pre>public class <strong>AbstractXSLPreferencePage</strong>
+extends AbstractPreferencePage</pre>Augments the SSE <code>AbstractPreferencePage</code> with support for expandable composites (twisties) and combos.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AbstractXSLPreferencePage">AbstractXSLPreferencePage</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected Combo</code></td><td width="" align="left"><code><a href="#method_createCombo">createCombo</a>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      java.lang.String prefKey)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Composite</code></td><td width="" align="left"><code><a href="#method_createCommonContents">createCommonContents</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Called by createContents and must be implemented.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected Control</code></td><td width="" align="left"><code><a href="#method_createContents">createContents</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Composite</code></td><td width="" align="left"><code><a href="#method_createTwistie">createTwistie</a>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      int cols)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Saves the expansion states before calling super.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected Preferences</code></td><td width="" align="left"><code><a href="#method_getModelPreferences">getModelPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_performOk">performOk</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Save the preferences.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_AbstractXSLPreferencePage">AbstractXSLPreferencePage</a></h2><p><code>public <strong>AbstractXSLPreferencePage</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createCombo">createCombo</a></h2><p><code>protected Combo <strong>createCombo</strong>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      java.lang.String prefKey)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>label</code></p><p><code>prefKey</code></p><h3>Returns</h3><p><code>Combo</code></p><hr><h2><a name="method_createCommonContents">createCommonContents</a></h2><p><code>protected Composite <strong>createCommonContents</strong>(Composite parent)</code></p><p>Called by createContents and must be implemented.</p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Composite</code> - the composite</p><hr><h2><a name="method_createContents">createContents</a></h2><p><code>protected Control <strong>createContents</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Control</code></p><hr><h2><a name="method_createTwistie">createTwistie</a></h2><p><code>protected Composite <strong>createTwistie</strong>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      int cols)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>label</code></p><p><code>cols</code></p><h3>Returns</h3><p><code>Composite</code></p><hr><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p>Saves the expansion states before calling super.</p><hr><h2><a name="method_getModelPreferences">getModelPreferences</a></h2><p><code>protected Preferences <strong>getModelPreferences</strong>()</code></p><p></p><h3>Returns</h3><p><code>Preferences</code></p><hr><h2><a name="method_performOk">performOk</a></h2><p><code>public boolean <strong>performOk</strong>()</code></p><p>Save the preferences.</p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.ComboData.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.ComboData.html
new file mode 100644
index 0000000..2a2b42e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.ComboData.html
@@ -0,0 +1,33 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class ComboData</h2><br><hr><pre>package-private class <strong>ComboData</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private int</code></td><td width="80%" align="left"><code><a href="#field_originalSeverity">originalSeverity</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ComboData">ComboData</a></strong>(java.lang.String key
+         ,
+      int[] severities
+         ,
+      int index)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getIndex">getIndex</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getKey">getKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getSeverity">getSeverity</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="" align="left"><code><a href="#method_isChanged">isChanged</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setIndex">setIndex</a>(int index)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setSeverity">setSeverity</a>(int severity)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Sets the severity index based on <code>severity</code>.
+ If the severity doesn't exist, the index is set to -1.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_originalSeverity">originalSeverity</a></h2><p><code>package-private int <strong>originalSeverity</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_ComboData">ComboData</a></h2><p><code>public <strong>ComboData</strong>(java.lang.String key
+         ,
+      int[] severities
+         ,
+      int index)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getIndex">getIndex</a></h2><p><code>public int <strong>getIndex</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getKey">getKey</a></h2><p><code>public java.lang.String <strong>getKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getSeverity">getSeverity</a></h2><p><code>public int <strong>getSeverity</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_isChanged">isChanged</a></h2><p><code>package-private boolean <strong>isChanged</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_setIndex">setIndex</a></h2><p><code>public void <strong>setIndex</strong>(int index)</code></p><p></p><h3>Parameters</h3><p><code>index</code></p><hr><h2><a name="method_setSeverity">setSeverity</a></h2><p><code>public void <strong>setSeverity</strong>(int severity)</code></p><p>Sets the severity index based on <code>severity</code>.
+ If the severity doesn't exist, the index is set to -1.</p><h3>Parameters</h3><p><code>severity</code> - the severity level</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.MainPreferencePage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.MainPreferencePage.html
new file mode 100644
index 0000000..7ef47da
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.MainPreferencePage.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class MainPreferencePage</h2><br><hr><pre>public class <strong>MainPreferencePage</strong>
+extends PreferencePage</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_MainPreferencePage">MainPreferencePage</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected Control</code></td><td width="" align="left"><code><a href="#method_createContents">createContents</a>(Composite ancestor)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IWorkbench workbench)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_performOk">performOk</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_MainPreferencePage">MainPreferencePage</a></h2><p><code>public <strong>MainPreferencePage</strong>()</code></p><p>MainPreferncePage is the constructor for the XSL Preference Page</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createContents">createContents</a></h2><p><code>protected Control <strong>createContents</strong>(Composite ancestor)</code></p><p></p><h3>Parameters</h3><p><code>ancestor</code></p><h3>Returns</h3><p><code>Control</code></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IWorkbench workbench)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>workbench</code></p><hr><h2><a name="method_performOk">performOk</a></h2><p><code>public boolean <strong>performOk</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.PropertyPreferencePage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.PropertyPreferencePage.html
new file mode 100644
index 0000000..9c5d80b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.PropertyPreferencePage.html
@@ -0,0 +1,39 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class PropertyPreferencePage</h2><br><hr><pre>package-private class <strong>PropertyPreferencePage</strong>
+extends PropertyPage</pre>Based loosely on org.eclipse.jdt.internal.ui.preferences.PropertyAndPreferencePage<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_PropertyPreferencePage">PropertyPreferencePage</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_applyData">applyData</a>(java.lang.Object data)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Control</code></td><td width="" align="left"><code><a href="#method_createCommonContents">createCommonContents</a>(Composite composite)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public Control</code></td><td width="" align="left"><code><a href="#method_createContents">createContents</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IScopeContext[]</code></td><td width="" align="left"><code><a href="#method_createPreferenceScopes">createPreferenceScopes</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_enablePreferenceContent">enablePreferenceContent</a>(boolean enable)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Controls the enablement of the common content region
+ of a property or preference page</td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPreferenceNodeQualifier">getPreferenceNodeQualifier</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPreferencePageID">getPreferencePageID</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IProject</code></td><td width="" align="left"><code><a href="#method_getProject">getProject</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getProjectSettingsKey">getProjectSettingsKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPropertyPageID">getPropertyPageID</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_isElementSettingsEnabled">isElementSettingsEnabled</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_openProjectSettings">openProjectSettings</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_openWorkspaceSettings">openWorkspaceSettings</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_performDefaults">performDefaults</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_performOk">performOk</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_PropertyPreferencePage">PropertyPreferencePage</a></h2><p><code>public <strong>PropertyPreferencePage</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_applyData">applyData</a></h2><p><code>public void <strong>applyData</strong>(java.lang.Object data)</code></p><p></p><h3>Parameters</h3><p><code>data</code></p><hr><h2><a name="method_createCommonContents">createCommonContents</a></h2><p><code>protected Control <strong>createCommonContents</strong>(Composite composite)</code></p><p></p><h3>Parameters</h3><p><code>composite</code></p><h3>Returns</h3><p><code>Control</code></p><hr><h2><a name="method_createContents">createContents</a></h2><p><code>public Control <strong>createContents</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Control</code></p><hr><h2><a name="method_createPreferenceScopes">createPreferenceScopes</a></h2><p><code>protected IScopeContext[] <strong>createPreferenceScopes</strong>()</code></p><p></p><h3>Returns</h3><p><code>IScopeContext[]</code></p><hr><h2><a name="method_enablePreferenceContent">enablePreferenceContent</a></h2><p><code>protected void <strong>enablePreferenceContent</strong>(boolean enable)</code></p><p>Controls the enablement of the common content region
+ of a property or preference page</p><h3>Parameters</h3><p><code>enable</code> - the enabled state of the common content  area</p><hr><h2><a name="method_getPreferenceNodeQualifier">getPreferenceNodeQualifier</a></h2><p><code>protected java.lang.String <strong>getPreferenceNodeQualifier</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getPreferencePageID">getPreferencePageID</a></h2><p><code>protected java.lang.String <strong>getPreferencePageID</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getProject">getProject</a></h2><p><code>protected IProject <strong>getProject</strong>()</code></p><p></p><h3>Returns</h3><p><code>IProject</code></p><hr><h2><a name="method_getProjectSettingsKey">getProjectSettingsKey</a></h2><p><code>protected java.lang.String <strong>getProjectSettingsKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getPropertyPageID">getPropertyPageID</a></h2><p><code>protected java.lang.String <strong>getPropertyPageID</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_isElementSettingsEnabled">isElementSettingsEnabled</a></h2><p><code>protected boolean <strong>isElementSettingsEnabled</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_openProjectSettings">openProjectSettings</a></h2><p><code>package-private void <strong>openProjectSettings</strong>()</code></p><p></p><hr><h2><a name="method_openWorkspaceSettings">openWorkspaceSettings</a></h2><p><code>package-private void <strong>openWorkspaceSettings</strong>()</code></p><p></p><hr><h2><a name="method_performDefaults">performDefaults</a></h2><p><code>protected void <strong>performDefaults</strong>()</code></p><p></p><hr><h2><a name="method_performOk">performOk</a></h2><p><code>public boolean <strong>performOk</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.ValidationPreferencePage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.ValidationPreferencePage.html
new file mode 100644
index 0000000..5dd3831
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.ValidationPreferencePage.html
@@ -0,0 +1,27 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class ValidationPreferencePage</h2><br><hr><pre>public class <strong>ValidationPreferencePage</strong>
+extends org.eclipse.wst.xsl.ui.internal.preferences.AbstractXSLPreferencePage</pre>Preference page for XSL validator preferences.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ValidationPreferencePage">ValidationPreferencePage</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected Combo</code></td><td width="" align="left"><code><a href="#method_createCombo">createCombo</a>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      java.lang.String prefKey)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Composite</code></td><td width="" align="left"><code><a href="#method_createCommonContents">createCommonContents</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_initializeValues">initializeValues</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_performDefaults">performDefaults</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_storeValues">storeValues</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_validateValues">validateValues</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_ValidationPreferencePage">ValidationPreferencePage</a></h2><p><code>public <strong>ValidationPreferencePage</strong>()</code></p><p>Create a new instance of this.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createCombo">createCombo</a></h2><p><code>protected Combo <strong>createCombo</strong>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      java.lang.String prefKey)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>label</code></p><p><code>prefKey</code></p><h3>Returns</h3><p><code>Combo</code></p><hr><h2><a name="method_createCommonContents">createCommonContents</a></h2><p><code>protected Composite <strong>createCommonContents</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Composite</code></p><hr><h2><a name="method_initializeValues">initializeValues</a></h2><p><code>protected void <strong>initializeValues</strong>()</code></p><p></p><hr><h2><a name="method_performDefaults">performDefaults</a></h2><p><code>protected void <strong>performDefaults</strong>()</code></p><p></p><hr><h2><a name="method_storeValues">storeValues</a></h2><p><code>protected void <strong>storeValues</strong>()</code></p><p></p><hr><h2><a name="method_validateValues">validateValues</a></h2><p><code>protected void <strong>validateValues</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLSyntaxColoringPage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLSyntaxColoringPage.html
new file mode 100644
index 0000000..2a9a76d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLSyntaxColoringPage.html
@@ -0,0 +1,28 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class XSLSyntaxColoringPage</h2><br><hr><pre>public class <strong>XSLSyntaxColoringPage</strong>
+extends PreferencePage</pre>A preference page to configure our XSL syntax color. It resembles the XML
+ pages.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLSyntaxColoringPage">XSLSyntaxColoringPage</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_applyStyles">applyStyles</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Color the text in the sample area according to the current preferences</td></tr><tr valign="top"><td width="20%" align="right"><code>public Button</code></td><td width="" align="left"><code><a href="#method_createCheckbox">createCheckbox</a>(Composite parent
+         ,
+      java.lang.String label)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Control</code></td><td width="" align="left"><code><a href="#method_createContents">createContents</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IPreferenceStore</code></td><td width="" align="left"><code><a href="#method_doGetPreferenceStore">doGetPreferenceStore</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IWorkbench workbench)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_performDefaults">performDefaults</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_performOk">performOk</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLSyntaxColoringPage">XSLSyntaxColoringPage</a></h2><p><code>public <strong>XSLSyntaxColoringPage</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_applyStyles">applyStyles</a></h2><p><code>public void <strong>applyStyles</strong>()</code></p><p>Color the text in the sample area according to the current preferences</p><hr><h2><a name="method_createCheckbox">createCheckbox</a></h2><p><code>public Button <strong>createCheckbox</strong>(Composite parent
+         ,
+      java.lang.String label)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>label</code></p><h3>Returns</h3><p><code>Button</code></p><hr><h2><a name="method_createContents">createContents</a></h2><p><code>protected Control <strong>createContents</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Control</code></p><hr><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_doGetPreferenceStore">doGetPreferenceStore</a></h2><p><code>protected IPreferenceStore <strong>doGetPreferenceStore</strong>()</code></p><p></p><h3>Returns</h3><p><code>IPreferenceStore</code></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IWorkbench workbench)</code></p><p></p><h3>Parameters</h3><p><code>workbench</code></p><hr><h2><a name="method_performDefaults">performDefaults</a></h2><p><code>protected void <strong>performDefaults</strong>()</code></p><p></p><hr><h2><a name="method_performOk">performOk</a></h2><p><code>public boolean <strong>performOk</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLTemplatePreferencePage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLTemplatePreferencePage.html
new file mode 100644
index 0000000..8b90521
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLTemplatePreferencePage.html
@@ -0,0 +1,11 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class XSLTemplatePreferencePage</h2><br><hr><pre>public class <strong>XSLTemplatePreferencePage</strong>
+extends XMLTemplatePreferencePage</pre>XSLTemplatePreferencePage sets up the template preference page that
+ contains the templates for xpath, xpath 2.0, axis, operators, and 
+ exslt functions.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLTemplatePreferencePage">XSLTemplatePreferencePage</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_performOk">performOk</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLTemplatePreferencePage">XSLTemplatePreferencePage</a></h2><p><code>public <strong>XSLTemplatePreferencePage</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_performOk">performOk</a></h2><p><code>public boolean <strong>performOk</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLUIPreferenceInitializer.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLUIPreferenceInitializer.html
new file mode 100644
index 0000000..693110c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLUIPreferenceInitializer.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class XSLUIPreferenceInitializer</h2><br><hr><pre>public class <strong>XSLUIPreferenceInitializer</strong>
+extends AbstractPreferenceInitializer</pre>Sets default values for XSL UI preferences<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLUIPreferenceInitializer">XSLUIPreferenceInitializer</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_initializeDefaultPreferences">initializeDefaultPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLUIPreferenceInitializer">XSLUIPreferenceInitializer</a></h2><p><code>public <strong>XSLUIPreferenceInitializer</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_initializeDefaultPreferences">initializeDefaultPreferences</a></h2><p><code>public void <strong>initializeDefaultPreferences</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLValidationPreferencePage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLValidationPreferencePage.html
new file mode 100644
index 0000000..9f3f3c0
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLValidationPreferencePage.html
@@ -0,0 +1,73 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.preferences</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.preferences</strong></font><br>
+               Class XSLValidationPreferencePage</h2><br><hr><pre>public class <strong>XSLValidationPreferencePage</strong>
+extends org.eclipse.wst.xsl.ui.internal.preferences.AbstractValidationSettingsPage</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLValidationPreferencePage">XSLValidationPreferencePage</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected Combo</code></td><td width="" align="left"><code><a href="#method_createCombo">createCombo</a>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      java.lang.String key)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Control</code></td><td width="" align="left"><code><a href="#method_createCommonContents">createCommonContents</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Label</code></td><td width="" align="left"><code><a href="#method_createLabel">createLabel</a>(Composite parent
+         ,
+      java.lang.String text)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Text</code></td><td width="" align="left"><code><a href="#method_createTextField">createTextField</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ExpandableComposite</code></td><td width="" align="left"><code><a href="#method_createTwistie">createTwistie</a>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      int nColumns)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Composite</code></td><td width="" align="left"><code><a href="#method_createValidationSection">createValidationSection</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_enableValues">enableValues</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IDialogSettings</code></td><td width="" align="left"><code><a href="#method_getDialogSettings">getDialogSettings</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Preferences</code></td><td width="" align="left"><code><a href="#method_getModelPreferences">getModelPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPreferenceNodeQualifier">getPreferenceNodeQualifier</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPreferencePageID">getPreferencePageID</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getProjectSettingsKey">getProjectSettingsKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPropertyPageID">getPropertyPageID</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getQualifier">getQualifier</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IWorkbench workbench)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_initializeValues">initializeValues</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_loadPreferences">loadPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_modifyText">modifyText</a>(ModifyEvent e)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_performDefaults">performDefaults</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_performOk">performOk</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_storeValues">storeValues</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_validateValues">validateValues</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLValidationPreferencePage">XSLValidationPreferencePage</a></h2><p><code>public <strong>XSLValidationPreferencePage</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createCombo">createCombo</a></h2><p><code>protected Combo <strong>createCombo</strong>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      java.lang.String key)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>label</code></p><p><code>key</code></p><h3>Returns</h3><p><code>Combo</code></p><hr><h2><a name="method_createCommonContents">createCommonContents</a></h2><p><code>protected Control <strong>createCommonContents</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Control</code></p><hr><h2><a name="method_createLabel">createLabel</a></h2><p><code>protected Label <strong>createLabel</strong>(Composite parent
+         ,
+      java.lang.String text)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>text</code></p><h3>Returns</h3><p><code>Label</code></p><hr><h2><a name="method_createTextField">createTextField</a></h2><p><code>protected Text <strong>createTextField</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Text</code></p><hr><h2><a name="method_createTwistie">createTwistie</a></h2><p><code>protected ExpandableComposite <strong>createTwistie</strong>(Composite parent
+         ,
+      java.lang.String label
+         ,
+      int nColumns)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>label</code></p><p><code>nColumns</code></p><h3>Returns</h3><p><code>ExpandableComposite</code></p><hr><h2><a name="method_createValidationSection">createValidationSection</a></h2><p><code>protected Composite <strong>createValidationSection</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><h3>Returns</h3><p><code>Composite</code></p><hr><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_enableValues">enableValues</a></h2><p><code>protected void <strong>enableValues</strong>()</code></p><p></p><hr><h2><a name="method_getDialogSettings">getDialogSettings</a></h2><p><code>protected IDialogSettings <strong>getDialogSettings</strong>()</code></p><p></p><h3>Returns</h3><p><code>IDialogSettings</code></p><hr><h2><a name="method_getModelPreferences">getModelPreferences</a></h2><p><code>protected Preferences <strong>getModelPreferences</strong>()</code></p><p></p><h3>Returns</h3><p><code>Preferences</code></p><hr><h2><a name="method_getPreferenceNodeQualifier">getPreferenceNodeQualifier</a></h2><p><code>protected java.lang.String <strong>getPreferenceNodeQualifier</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getPreferencePageID">getPreferencePageID</a></h2><p><code>protected java.lang.String <strong>getPreferencePageID</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getProjectSettingsKey">getProjectSettingsKey</a></h2><p><code>protected java.lang.String <strong>getProjectSettingsKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getPropertyPageID">getPropertyPageID</a></h2><p><code>protected java.lang.String <strong>getPropertyPageID</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getQualifier">getQualifier</a></h2><p><code>protected java.lang.String <strong>getQualifier</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IWorkbench workbench)</code></p><p></p><h3>Parameters</h3><p><code>workbench</code></p><hr><h2><a name="method_initializeValues">initializeValues</a></h2><p><code>protected void <strong>initializeValues</strong>()</code></p><p></p><hr><h2><a name="method_loadPreferences">loadPreferences</a></h2><p><code>protected boolean <strong>loadPreferences</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_modifyText">modifyText</a></h2><p><code>public void <strong>modifyText</strong>(ModifyEvent e)</code></p><p></p><h3>Parameters</h3><p><code>e</code></p><hr><h2><a name="method_performDefaults">performDefaults</a></h2><p><code>protected void <strong>performDefaults</strong>()</code></p><p></p><hr><h2><a name="method_performOk">performOk</a></h2><p><code>public boolean <strong>performOk</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_storeValues">storeValues</a></h2><p><code>protected void <strong>storeValues</strong>()</code></p><p></p><hr><h2><a name="method_validateValues">validateValues</a></h2><p><code>protected void <strong>validateValues</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.quickassist.OverrideQuickAssist.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.quickassist.OverrideQuickAssist.html
new file mode 100644
index 0000000..a950f72
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.quickassist.OverrideQuickAssist.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.quickassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.quickassist</strong></font><br>
+               Class OverrideQuickAssist</h2><br><hr><pre>public class <strong>OverrideQuickAssist</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_OverrideQuickAssist">OverrideQuickAssist</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_canAssist">canAssist</a>(IQuickAssistInvocationContext invocationContext)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_canFix">canFix</a>(Annotation annotation)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ICompletionProposal[]</code></td><td width="" align="left"><code><a href="#method_computeQuickAssistProposals">computeQuickAssistProposals</a>(IQuickAssistInvocationContext invocationContext)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getErrorMessage">getErrorMessage</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_OverrideQuickAssist">OverrideQuickAssist</a></h2><p><code>public <strong>OverrideQuickAssist</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_canAssist">canAssist</a></h2><p><code>public boolean <strong>canAssist</strong>(IQuickAssistInvocationContext invocationContext)</code></p><p></p><h3>Parameters</h3><p><code>invocationContext</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_canFix">canFix</a></h2><p><code>public boolean <strong>canFix</strong>(Annotation annotation)</code></p><p></p><h3>Parameters</h3><p><code>annotation</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_computeQuickAssistProposals">computeQuickAssistProposals</a></h2><p><code>public ICompletionProposal[] <strong>computeQuickAssistProposals</strong>(IQuickAssistInvocationContext invocationContext)</code></p><p></p><h3>Parameters</h3><p><code>invocationContext</code></p><h3>Returns</h3><p><code>ICompletionProposal[]</code></p><hr><h2><a name="method_getErrorMessage">getErrorMessage</a></h2><p><code>public java.lang.String <strong>getErrorMessage</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.quickassist.ValidationQuickAssist.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.quickassist.ValidationQuickAssist.html
new file mode 100644
index 0000000..244da80
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.quickassist.ValidationQuickAssist.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.quickassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.quickassist</strong></font><br>
+               Class ValidationQuickAssist</h2><br><hr><pre>public class <strong>ValidationQuickAssist</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ValidationQuickAssist">ValidationQuickAssist</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_canAssist">canAssist</a>(IQuickAssistInvocationContext invocationContext)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_canFix">canFix</a>(Annotation annotation)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ICompletionProposal[]</code></td><td width="" align="left"><code><a href="#method_computeQuickAssistProposals">computeQuickAssistProposals</a>(IQuickAssistInvocationContext invocationContext)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getErrorMessage">getErrorMessage</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_ValidationQuickAssist">ValidationQuickAssist</a></h2><p><code>public <strong>ValidationQuickAssist</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_canAssist">canAssist</a></h2><p><code>public boolean <strong>canAssist</strong>(IQuickAssistInvocationContext invocationContext)</code></p><p></p><h3>Parameters</h3><p><code>invocationContext</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_canFix">canFix</a></h2><p><code>public boolean <strong>canFix</strong>(Annotation annotation)</code></p><p></p><h3>Parameters</h3><p><code>annotation</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_computeQuickAssistProposals">computeQuickAssistProposals</a></h2><p><code>public ICompletionProposal[] <strong>computeQuickAssistProposals</strong>(IQuickAssistInvocationContext invocationContext)</code></p><p></p><h3>Parameters</h3><p><code>invocationContext</code></p><h3>Returns</h3><p><code>ICompletionProposal[]</code></p><hr><h2><a name="method_getErrorMessage">getErrorMessage</a></h2><p><code>public java.lang.String <strong>getErrorMessage</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.registry.AdapterFactoryProviderForXSL.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.registry.AdapterFactoryProviderForXSL.html
new file mode 100644
index 0000000..b96895c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.registry.AdapterFactoryProviderForXSL.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.registry</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.registry</strong></font><br>
+               Class AdapterFactoryProviderForXSL</h2><br><hr><pre>public class <strong>AdapterFactoryProviderForXSL</strong>
+extends AdapterFactoryProviderForXML</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AdapterFactoryProviderForXSL">AdapterFactoryProviderForXSL</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addAdapterFactories">addAdapterFactories</a>(IStructuredModel structuredModel)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addContentBasedFactories">addContentBasedFactories</a>(IStructuredModel structuredModel)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isFor">isFor</a>(IDocumentTypeHandler contentTypeDescription)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_reinitializeFactories">reinitializeFactories</a>(IStructuredModel structuredModel)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_AdapterFactoryProviderForXSL">AdapterFactoryProviderForXSL</a></h2><p><code>public <strong>AdapterFactoryProviderForXSL</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addAdapterFactories">addAdapterFactories</a></h2><p><code>public void <strong>addAdapterFactories</strong>(IStructuredModel structuredModel)</code></p><p></p><h3>Parameters</h3><p><code>structuredModel</code></p><hr><h2><a name="method_addContentBasedFactories">addContentBasedFactories</a></h2><p><code>protected void <strong>addContentBasedFactories</strong>(IStructuredModel structuredModel)</code></p><p></p><h3>Parameters</h3><p><code>structuredModel</code></p><hr><h2><a name="method_isFor">isFor</a></h2><p><code>public boolean <strong>isFor</strong>(IDocumentTypeHandler contentTypeDescription)</code></p><p></p><h3>Parameters</h3><p><code>contentTypeDescription</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_reinitializeFactories">reinitializeFactories</a></h2><p><code>public void <strong>reinitializeFactories</strong>(IStructuredModel structuredModel)</code></p><p></p><h3>Parameters</h3><p><code>structuredModel</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.AbstractXSLSemanticHighlighting.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.AbstractXSLSemanticHighlighting.html
new file mode 100644
index 0000000..7275de9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.AbstractXSLSemanticHighlighting.html
@@ -0,0 +1,39 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class AbstractXSLSemanticHighlighting</h2><br><hr><pre>public class <strong>AbstractXSLSemanticHighlighting</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AbstractXSLSemanticHighlighting">AbstractXSLSemanticHighlighting</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public Position[]</code></td><td width="" align="left"><code><a href="#method_consumes">consumes</a>(IStructuredDocumentRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public Position[]</code></td><td width="" align="left"><code><a href="#method_consumes">consumes</a>(IStructuredDocumentRegion documentRegion
+         ,
+      IndexedRegion indexedRegion)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_createSemanticPositions">createSemanticPositions</a>(IStructuredDocumentRegion region
+         ,
+      java.lang.String regionType)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getBoldPreferenceKey">getBoldPreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getColorPreferenceKey">getColorPreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getDisplayName">getDisplayName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getEnabledPreferenceKey">getEnabledPreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getItalicPreferenceKey">getItalicPreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public IPreferenceStore</code></td><td width="" align="left"><code><a href="#method_getPreferenceStore">getPreferenceStore</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getStrikethroughPreferenceKey">getStrikethroughPreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getStylePreferenceKey">getStylePreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getUnderlinePreferenceKey">getUnderlinePreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_AbstractXSLSemanticHighlighting">AbstractXSLSemanticHighlighting</a></h2><p><code>public <strong>AbstractXSLSemanticHighlighting</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_consumes">consumes</a></h2><p><code>public Position[] <strong>consumes</strong>(IStructuredDocumentRegion region)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><h3>Returns</h3><p><code>Position[]</code></p><hr><h2><a name="method_consumes">consumes</a></h2><p><code>public Position[] <strong>consumes</strong>(IStructuredDocumentRegion documentRegion
+         ,
+      IndexedRegion indexedRegion)</code></p><p></p><h3>Parameters</h3><p><code>documentRegion</code></p><p><code>indexedRegion</code></p><h3>Returns</h3><p><code>Position[]</code></p><hr><h2><a name="method_createSemanticPositions">createSemanticPositions</a></h2><p><code>protected java.util.List <strong>createSemanticPositions</strong>(IStructuredDocumentRegion region
+         ,
+      java.lang.String regionType)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><p><code>regionType</code></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getBoldPreferenceKey">getBoldPreferenceKey</a></h2><p><code>public java.lang.String <strong>getBoldPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getColorPreferenceKey">getColorPreferenceKey</a></h2><p><code>public java.lang.String <strong>getColorPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getDisplayName">getDisplayName</a></h2><p><code>public java.lang.String <strong>getDisplayName</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getEnabledPreferenceKey">getEnabledPreferenceKey</a></h2><p><code>public java.lang.String <strong>getEnabledPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getItalicPreferenceKey">getItalicPreferenceKey</a></h2><p><code>public java.lang.String <strong>getItalicPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getPreferenceStore">getPreferenceStore</a></h2><p><code>public IPreferenceStore <strong>getPreferenceStore</strong>()</code></p><p></p><h3>Returns</h3><p><code>IPreferenceStore</code></p><hr><h2><a name="method_getStrikethroughPreferenceKey">getStrikethroughPreferenceKey</a></h2><p><code>public java.lang.String <strong>getStrikethroughPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getStylePreferenceKey">getStylePreferenceKey</a></h2><p><code>public java.lang.String <strong>getStylePreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getUnderlinePreferenceKey">getUnderlinePreferenceKey</a></h2><p><code>public java.lang.String <strong>getUnderlinePreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.IStyleConstantsXSL.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.IStyleConstantsXSL.html
new file mode 100644
index 0000000..0bcb57f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.IStyleConstantsXSL.html
@@ -0,0 +1,22 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class IStyleConstantsXSL</h2><br><hr><pre>public class <strong>IStyleConstantsXSL</strong>
+extends </pre>Contains the symbolic name of styles used by LineStyleProvider,
+ ColorManager, and any others who may be interested<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_BACKGROUND">BACKGROUND</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_DECL_BORDER">DECL_BORDER</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_FOREGROUND">FOREGROUND</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_TAG_ATTRIBUTE_EQUALS">TAG_ATTRIBUTE_EQUALS</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_TAG_ATTRIBUTE_NAME">TAG_ATTRIBUTE_NAME</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_TAG_ATTRIBUTE_VALUE">TAG_ATTRIBUTE_VALUE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_TAG_BORDER">TAG_BORDER</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_TAG_NAME">TAG_NAME</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_BACKGROUND">BACKGROUND</a></h2><p><code>public static  java.lang.String <strong>BACKGROUND</strong></code></p><hr><h2><a name="field_DECL_BORDER">DECL_BORDER</a></h2><p><code>public static  java.lang.String <strong>DECL_BORDER</strong></code></p><hr><h2><a name="field_FOREGROUND">FOREGROUND</a></h2><p><code>public static  java.lang.String <strong>FOREGROUND</strong></code></p><hr><h2><a name="field_TAG_ATTRIBUTE_EQUALS">TAG_ATTRIBUTE_EQUALS</a></h2><p><code>public static  java.lang.String <strong>TAG_ATTRIBUTE_EQUALS</strong></code></p><hr><h2><a name="field_TAG_ATTRIBUTE_NAME">TAG_ATTRIBUTE_NAME</a></h2><p><code>public static  java.lang.String <strong>TAG_ATTRIBUTE_NAME</strong></code></p><hr><h2><a name="field_TAG_ATTRIBUTE_VALUE">TAG_ATTRIBUTE_VALUE</a></h2><p><code>public static  java.lang.String <strong>TAG_ATTRIBUTE_VALUE</strong></code></p><hr><h2><a name="field_TAG_BORDER">TAG_BORDER</a></h2><p><code>public static  java.lang.String <strong>TAG_BORDER</strong></code></p><hr><h2><a name="field_TAG_NAME">TAG_NAME</a></h2><p><code>public static  java.lang.String <strong>TAG_NAME</strong></code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.LineStyleProviderForXSL.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.LineStyleProviderForXSL.html
new file mode 100644
index 0000000..38d6d08
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.LineStyleProviderForXSL.html
@@ -0,0 +1,133 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class LineStyleProviderForXSL</h2><br><hr><pre>public class <strong>LineStyleProviderForXSL</strong>
+extends AbstractLineStyleProvider</pre>This implements a Syntax Line Style Provider for XSL. It leverages some
+ information from the XML Syntax Coloring, but adds specific coloring for XSL
+ specific elements and attributes.<p></p><p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected Highlighter</code></td><td width="80%" align="left"><code><a href="#field_highlighter">highlighter</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ReconcilerHighlighter</code></td><td width="80%" align="left"><code><a href="#field_recHighlighter">recHighlighter</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IStructuredDocument</code></td><td width="80%" align="left"><code><a href="#field_structuredDocument">structuredDocument</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_LineStyleProviderForXSL">LineStyleProviderForXSL</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addTextAttribute">addTextAttribute</a>(java.lang.String colorKey)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Looks up the colorKey in the preference store and adds the style
+ information to list of TextAttributes</td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_commonInit">commonInit</a>(IStructuredDocument document
+         ,
+      Highlighter highlighter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected TextAttribute</code></td><td width="" align="left"><code><a href="#method_createTextAttribute">createTextAttribute</a>(RGB foreground
+         ,
+      RGB background
+         ,
+      boolean bold)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected TextAttribute</code></td><td width="" align="left"><code><a href="#method_createTextAttribute">createTextAttribute</a>(RGB foreground
+         ,
+      RGB background
+         ,
+      int style)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected TextAttribute</code></td><td width="" align="left"><code><a href="#method_getAttributeFor">getAttributeFor</a>(ITextRegionCollection collection
+         ,
+      ITextRegion textRegion)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected TextAttribute</code></td><td width="" align="left"><code><a href="#method_getAttributeFor">getAttributeFor</a>(ITextRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IPreferenceStore</code></td><td width="" align="left"><code><a href="#method_getColorPreferences">getColorPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IStructuredDocument</code></td><td width="" align="left"><code><a href="#method_getDocument">getDocument</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Highlighter</code></td><td width="" align="left"><code><a href="#method_getHighlighter">getHighlighter</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_handlePropertyChange">handlePropertyChange</a>(PropertyChangeEvent event)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IStructuredDocument document
+         ,
+      Highlighter highlighter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IStructuredDocument structuredDocument
+         ,
+      ISourceViewer sourceViewer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IStructuredDocument structuredDocument
+         ,
+      ReconcilerHighlighter highlighter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isInitialized">isInitialized</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the initialized.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_loadColors">loadColors</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_prepareRegions">prepareRegions</a>(ITypedRegion typedRegion
+         ,
+      int lineRequestStart
+         ,
+      int lineRequestLength
+         ,
+      java.util.Collection holdResults)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_prepareTextRegion">prepareTextRegion</a>(ITextRegionCollection blockedRegion
+         ,
+      int partitionStartOffset
+         ,
+      int partitionLength
+         ,
+      java.util.Collection holdResults)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_prepareTextRegions">prepareTextRegions</a>(IStructuredDocumentRegion structuredDocumentRegion
+         ,
+      int partitionStartOffset
+         ,
+      int partitionLength
+         ,
+      java.util.Collection holdResults)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_registerPreferenceManager">registerPreferenceManager</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_release">release</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_unRegisterPreferenceManager">unRegisterPreferenceManager</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_highlighter">highlighter</a></h2><p><code>protected Highlighter <strong>highlighter</strong></code></p><hr><h2><a name="field_recHighlighter">recHighlighter</a></h2><p><code>protected ReconcilerHighlighter <strong>recHighlighter</strong></code></p><hr><h2><a name="field_structuredDocument">structuredDocument</a></h2><p><code>protected IStructuredDocument <strong>structuredDocument</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_LineStyleProviderForXSL">LineStyleProviderForXSL</a></h2><p><code>public <strong>LineStyleProviderForXSL</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addTextAttribute">addTextAttribute</a></h2><p><code>protected void <strong>addTextAttribute</strong>(java.lang.String colorKey)</code></p><p>Looks up the colorKey in the preference store and adds the style
+ information to list of TextAttributes</p><h3>Parameters</h3><p><code>colorKey</code></p><hr><h2><a name="method_commonInit">commonInit</a></h2><p><code>protected void <strong>commonInit</strong>(IStructuredDocument document
+         ,
+      Highlighter highlighter)</code></p><p></p><h3>Parameters</h3><p><code>document</code></p><p><code>highlighter</code></p><hr><h2><a name="method_createTextAttribute">createTextAttribute</a></h2><p><code>protected TextAttribute <strong>createTextAttribute</strong>(RGB foreground
+         ,
+      RGB background
+         ,
+      boolean bold)</code></p><p></p><h3>Parameters</h3><p><code>foreground</code></p><p><code>background</code></p><p><code>bold</code></p><h3>Returns</h3><p><code>TextAttribute</code></p><hr><h2><a name="method_createTextAttribute">createTextAttribute</a></h2><p><code>protected TextAttribute <strong>createTextAttribute</strong>(RGB foreground
+         ,
+      RGB background
+         ,
+      int style)</code></p><p></p><h3>Parameters</h3><p><code>foreground</code></p><p><code>background</code></p><p><code>style</code></p><h3>Returns</h3><p><code>TextAttribute</code></p><hr><h2><a name="method_getAttributeFor">getAttributeFor</a></h2><p><code>protected TextAttribute <strong>getAttributeFor</strong>(ITextRegionCollection collection
+         ,
+      ITextRegion textRegion)</code></p><p></p><h3>Parameters</h3><p><code>collection</code></p><p><code>textRegion</code></p><h3>Returns</h3><p><code>TextAttribute</code></p><hr><h2><a name="method_getAttributeFor">getAttributeFor</a></h2><p><code>protected TextAttribute <strong>getAttributeFor</strong>(ITextRegion region)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><h3>Returns</h3><p><code>TextAttribute</code></p><hr><h2><a name="method_getColorPreferences">getColorPreferences</a></h2><p><code>protected IPreferenceStore <strong>getColorPreferences</strong>()</code></p><p></p><h3>Returns</h3><p><code>IPreferenceStore</code></p><hr><h2><a name="method_getDocument">getDocument</a></h2><p><code>protected IStructuredDocument <strong>getDocument</strong>()</code></p><p></p><h3>Returns</h3><p><code>IStructuredDocument</code></p><hr><h2><a name="method_getHighlighter">getHighlighter</a></h2><p><code>protected Highlighter <strong>getHighlighter</strong>()</code></p><p></p><h3>Returns</h3><p><code>Highlighter</code></p><hr><h2><a name="method_handlePropertyChange">handlePropertyChange</a></h2><p><code>protected void <strong>handlePropertyChange</strong>(PropertyChangeEvent event)</code></p><p></p><h3>Parameters</h3><p><code>event</code></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IStructuredDocument document
+         ,
+      Highlighter highlighter)</code></p><p></p><h3>Parameters</h3><p><code>document</code></p><p><code>highlighter</code></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IStructuredDocument structuredDocument
+         ,
+      ISourceViewer sourceViewer)</code></p><p></p><h3>Parameters</h3><p><code>structuredDocument</code></p><p><code>sourceViewer</code></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IStructuredDocument structuredDocument
+         ,
+      ReconcilerHighlighter highlighter)</code></p><p></p><h3>Parameters</h3><p><code>structuredDocument</code></p><p><code>highlighter</code></p><hr><h2><a name="method_isInitialized">isInitialized</a></h2><p><code>public boolean <strong>isInitialized</strong>()</code></p><p>Returns the initialized.</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_loadColors">loadColors</a></h2><p><code>protected void <strong>loadColors</strong>()</code></p><p></p><hr><h2><a name="method_prepareRegions">prepareRegions</a></h2><p><code>public boolean <strong>prepareRegions</strong>(ITypedRegion typedRegion
+         ,
+      int lineRequestStart
+         ,
+      int lineRequestLength
+         ,
+      java.util.Collection holdResults)</code></p><p></p><h3>Parameters</h3><p><code>typedRegion</code></p><p><code>lineRequestStart</code></p><p><code>lineRequestLength</code></p><p><code>holdResults</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_prepareTextRegion">prepareTextRegion</a></h2><p><code>protected boolean <strong>prepareTextRegion</strong>(ITextRegionCollection blockedRegion
+         ,
+      int partitionStartOffset
+         ,
+      int partitionLength
+         ,
+      java.util.Collection holdResults)</code></p><p></p><h3>Parameters</h3><p><code>blockedRegion</code></p><p><code>partitionStartOffset</code></p><p><code>partitionLength</code></p><p><code>holdResults</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_prepareTextRegions">prepareTextRegions</a></h2><p><code>protected boolean <strong>prepareTextRegions</strong>(IStructuredDocumentRegion structuredDocumentRegion
+         ,
+      int partitionStartOffset
+         ,
+      int partitionLength
+         ,
+      java.util.Collection holdResults)</code></p><p></p><h3>Parameters</h3><p><code>structuredDocumentRegion</code></p><p><code>partitionStartOffset</code></p><p><code>partitionLength</code></p><p><code>holdResults</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_registerPreferenceManager">registerPreferenceManager</a></h2><p><code>protected void <strong>registerPreferenceManager</strong>()</code></p><p></p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>()</code></p><p></p><hr><h2><a name="method_unRegisterPreferenceManager">unRegisterPreferenceManager</a></h2><p><code>protected void <strong>unRegisterPreferenceManager</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XMLRegionMap.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XMLRegionMap.html
new file mode 100644
index 0000000..e0f8790
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XMLRegionMap.html
@@ -0,0 +1,10 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class XMLRegionMap</h2><br><hr><pre>public class <strong>XMLRegionMap</strong>
+extends java.lang.Object</pre>The XMLRegionMap class handles mapping duties from an XML Region to
+ a Line Style Constant.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.ui.internal.style.XMLRegionMap</code></td><td width="" align="left"><code><a href="#method_getInstance">getInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns an instance of the XMLRegionMap Class</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getRegionMap">getRegionMap</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns a mapping of XML Regions to Style Constants</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getInstance">getInstance</a></h2><p><code>public org.eclipse.wst.xsl.ui.internal.style.XMLRegionMap <strong>getInstance</strong>()</code></p><p>Returns an instance of the XMLRegionMap Class</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.internal.style.XMLRegionMap</code></p><hr><h2><a name="method_getRegionMap">getRegionMap</a></h2><p><code>public java.util.Map <strong>getRegionMap</strong>()</code></p><p>Returns a mapping of XML Regions to Style Constants</p><h3>Returns</h3><p><code>java.util.Map</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap.html
new file mode 100644
index 0000000..104f86c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class XMLTextAttributeMap</h2><br><hr><pre>public class <strong>XMLTextAttributeMap</strong>
+extends java.lang.Object</pre>XMlTextAttributeMap handles the mapping of XML Style Constants to TextAttributes.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected TextAttribute</code></td><td width="" align="left"><code><a href="#method_createTextAttribute">createTextAttribute</a>(RGB foreground
+         ,
+      RGB background
+         ,
+      int style)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap</code></td><td width="" align="left"><code><a href="#method_getInstance">getInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               An instance of XMLTextAttributeMap.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getTextAttributeMap">getTextAttributeMap</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns a Map of Style Constants and the corresponding Text Attribute</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createTextAttribute">createTextAttribute</a></h2><p><code>protected TextAttribute <strong>createTextAttribute</strong>(RGB foreground
+         ,
+      RGB background
+         ,
+      int style)</code></p><p></p><h3>Parameters</h3><p><code>foreground</code></p><p><code>background</code></p><p><code>style</code></p><h3>Returns</h3><p><code>TextAttribute</code></p><hr><h2><a name="method_getInstance">getInstance</a></h2><p><code>public org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap <strong>getInstance</strong>()</code></p><p>An instance of XMLTextAttributeMap.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap</code></p><hr><h2><a name="method_getTextAttributeMap">getTextAttributeMap</a></h2><p><code>public java.util.Map <strong>getTextAttributeMap</strong>()</code></p><p>Returns a Map of Style Constants and the corresponding Text Attribute</p><h3>Returns</h3><p><code>java.util.Map</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLAttrNameSemanticHighlighting.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLAttrNameSemanticHighlighting.html
new file mode 100644
index 0000000..8daf1a8
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLAttrNameSemanticHighlighting.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class XSLAttrNameSemanticHighlighting</h2><br><hr><pre>public class <strong>XSLAttrNameSemanticHighlighting</strong>
+extends org.eclipse.wst.xsl.ui.internal.style.AbstractXSLSemanticHighlighting</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLAttrNameSemanticHighlighting">XSLAttrNameSemanticHighlighting</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public Position[]</code></td><td width="" align="left"><code><a href="#method_consumes">consumes</a>(IStructuredDocumentRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getEnabledPreferenceKey">getEnabledPreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getStylePreferenceKey">getStylePreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLAttrNameSemanticHighlighting">XSLAttrNameSemanticHighlighting</a></h2><p><code>public <strong>XSLAttrNameSemanticHighlighting</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_consumes">consumes</a></h2><p><code>public Position[] <strong>consumes</strong>(IStructuredDocumentRegion region)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><h3>Returns</h3><p><code>Position[]</code></p><hr><h2><a name="method_getEnabledPreferenceKey">getEnabledPreferenceKey</a></h2><p><code>public java.lang.String <strong>getEnabledPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getStylePreferenceKey">getStylePreferenceKey</a></h2><p><code>public java.lang.String <strong>getStylePreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLAttrValueSemanticHighlighting.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLAttrValueSemanticHighlighting.html
new file mode 100644
index 0000000..6f37097
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLAttrValueSemanticHighlighting.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class XSLAttrValueSemanticHighlighting</h2><br><hr><pre>public class <strong>XSLAttrValueSemanticHighlighting</strong>
+extends org.eclipse.wst.xsl.ui.internal.style.AbstractXSLSemanticHighlighting</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLAttrValueSemanticHighlighting">XSLAttrValueSemanticHighlighting</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public Position[]</code></td><td width="" align="left"><code><a href="#method_consumes">consumes</a>(IStructuredDocumentRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getEnabledPreferenceKey">getEnabledPreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getStylePreferenceKey">getStylePreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLAttrValueSemanticHighlighting">XSLAttrValueSemanticHighlighting</a></h2><p><code>public <strong>XSLAttrValueSemanticHighlighting</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_consumes">consumes</a></h2><p><code>public Position[] <strong>consumes</strong>(IStructuredDocumentRegion region)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><h3>Returns</h3><p><code>Position[]</code></p><hr><h2><a name="method_getEnabledPreferenceKey">getEnabledPreferenceKey</a></h2><p><code>public java.lang.String <strong>getEnabledPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getStylePreferenceKey">getStylePreferenceKey</a></h2><p><code>public java.lang.String <strong>getStylePreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLRegionMap.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLRegionMap.html
new file mode 100644
index 0000000..450d5bb
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLRegionMap.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class XSLRegionMap</h2><br><hr><pre>public class <strong>XSLRegionMap</strong>
+extends java.lang.Object</pre>XSLRegionMap handles the mapping of XML Regions to XSL Style Constants.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.ui.internal.style.XSLRegionMap</code></td><td width="" align="left"><code><a href="#method_getInstance">getInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns an instance of XSLRegionMap.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getRegionMap">getRegionMap</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns a MAP of XSL Regions and Style Constants.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getInstance">getInstance</a></h2><p><code>public org.eclipse.wst.xsl.ui.internal.style.XSLRegionMap <strong>getInstance</strong>()</code></p><p>Returns an instance of XSLRegionMap.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.internal.style.XSLRegionMap</code></p><hr><h2><a name="method_getRegionMap">getRegionMap</a></h2><p><code>public java.util.Map <strong>getRegionMap</strong>()</code></p><p>Returns a MAP of XSL Regions and Style Constants.</p><h3>Returns</h3><p><code>java.util.Map</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTagDelimsSemanticHighlighting.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTagDelimsSemanticHighlighting.html
new file mode 100644
index 0000000..39c852c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTagDelimsSemanticHighlighting.html
@@ -0,0 +1,23 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class XSLTagDelimsSemanticHighlighting</h2><br><hr><pre>public class <strong>XSLTagDelimsSemanticHighlighting</strong>
+extends org.eclipse.wst.xsl.ui.internal.style.AbstractXSLSemanticHighlighting</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLTagDelimsSemanticHighlighting">XSLTagDelimsSemanticHighlighting</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public Position[]</code></td><td width="" align="left"><code><a href="#method_consumes">consumes</a>(IStructuredDocumentRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_createSemanticPositions">createSemanticPositions</a>(ITextRegion textRegion
+         ,
+      IStructuredDocumentRegion region
+         ,
+      java.lang.String regionType)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getEnabledPreferenceKey">getEnabledPreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getStylePreferenceKey">getStylePreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLTagDelimsSemanticHighlighting">XSLTagDelimsSemanticHighlighting</a></h2><p><code>public <strong>XSLTagDelimsSemanticHighlighting</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_consumes">consumes</a></h2><p><code>public Position[] <strong>consumes</strong>(IStructuredDocumentRegion region)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><h3>Returns</h3><p><code>Position[]</code></p><hr><h2><a name="method_createSemanticPositions">createSemanticPositions</a></h2><p><code>protected java.util.List <strong>createSemanticPositions</strong>(ITextRegion textRegion
+         ,
+      IStructuredDocumentRegion region
+         ,
+      java.lang.String regionType)</code></p><p></p><h3>Parameters</h3><p><code>textRegion</code></p><p><code>region</code></p><p><code>regionType</code></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getEnabledPreferenceKey">getEnabledPreferenceKey</a></h2><p><code>public java.lang.String <strong>getEnabledPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getStylePreferenceKey">getStylePreferenceKey</a></h2><p><code>public java.lang.String <strong>getStylePreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTagNameSemanticHighlighting.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTagNameSemanticHighlighting.html
new file mode 100644
index 0000000..97040f2
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTagNameSemanticHighlighting.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class XSLTagNameSemanticHighlighting</h2><br><hr><pre>public class <strong>XSLTagNameSemanticHighlighting</strong>
+extends org.eclipse.wst.xsl.ui.internal.style.AbstractXSLSemanticHighlighting</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLTagNameSemanticHighlighting">XSLTagNameSemanticHighlighting</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public Position[]</code></td><td width="" align="left"><code><a href="#method_consumes">consumes</a>(IStructuredDocumentRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getEnabledPreferenceKey">getEnabledPreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getStylePreferenceKey">getStylePreferenceKey</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLTagNameSemanticHighlighting">XSLTagNameSemanticHighlighting</a></h2><p><code>public <strong>XSLTagNameSemanticHighlighting</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_consumes">consumes</a></h2><p><code>public Position[] <strong>consumes</strong>(IStructuredDocumentRegion region)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><h3>Returns</h3><p><code>Position[]</code></p><hr><h2><a name="method_getEnabledPreferenceKey">getEnabledPreferenceKey</a></h2><p><code>public java.lang.String <strong>getEnabledPreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getStylePreferenceKey">getStylePreferenceKey</a></h2><p><code>public java.lang.String <strong>getStylePreferenceKey</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTextAttributeMap.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTextAttributeMap.html
new file mode 100644
index 0000000..6aa9b08
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTextAttributeMap.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.style</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.style</strong></font><br>
+               Class XSLTextAttributeMap</h2><br><hr><pre>public class <strong>XSLTextAttributeMap</strong>
+extends java.lang.Object</pre>Handles the mapping of the Style Constants to Text Attributes for XSL.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addXSLTextAttribute">addXSLTextAttribute</a>(java.lang.String colorKey)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected TextAttribute</code></td><td width="" align="left"><code><a href="#method_createTextAttribute">createTextAttribute</a>(RGB foreground
+         ,
+      RGB background
+         ,
+      int style)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.ui.internal.style.XSLTextAttributeMap</code></td><td width="" align="left"><code><a href="#method_getInstance">getInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns an instance of XSLTextAttributeMap</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_getTextAttributeMap">getTextAttributeMap</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get's a Map of XSL Style Constants to Text Attributes.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addXSLTextAttribute">addXSLTextAttribute</a></h2><p><code>protected void <strong>addXSLTextAttribute</strong>(java.lang.String colorKey)</code></p><p></p><h3>Parameters</h3><p><code>colorKey</code></p><hr><h2><a name="method_createTextAttribute">createTextAttribute</a></h2><p><code>protected TextAttribute <strong>createTextAttribute</strong>(RGB foreground
+         ,
+      RGB background
+         ,
+      int style)</code></p><p></p><h3>Parameters</h3><p><code>foreground</code></p><p><code>background</code></p><p><code>style</code></p><h3>Returns</h3><p><code>TextAttribute</code></p><hr><h2><a name="method_getInstance">getInstance</a></h2><p><code>public org.eclipse.wst.xsl.ui.internal.style.XSLTextAttributeMap <strong>getInstance</strong>()</code></p><p>Returns an instance of XSLTextAttributeMap</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.internal.style.XSLTextAttributeMap</code></p><hr><h2><a name="method_getTextAttributeMap">getTextAttributeMap</a></h2><p><code>public java.util.Map <strong>getTextAttributeMap</strong>()</code></p><p>Get's a Map of XSL Style Constants to Text Attributes.</p><h3>Returns</h3><p><code>java.util.Map</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL.html
new file mode 100644
index 0000000..796607f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.templates</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.templates</strong></font><br>
+               Class TemplateContextTypeXSL</h2><br><hr><pre>public class <strong>TemplateContextTypeXSL</strong>
+extends TemplateContextType</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSL_ATTR">XSL_ATTR</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSL_NEW">XSL_NEW</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XSL_TAG">XSL_TAG</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_TemplateContextTypeXSL">TemplateContextTypeXSL</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_XSL_ATTR">XSL_ATTR</a></h2><p><code>public static  java.lang.String <strong>XSL_ATTR</strong></code></p><hr><h2><a name="field_XSL_NEW">XSL_NEW</a></h2><p><code>public static  java.lang.String <strong>XSL_NEW</strong></code></p><hr><h2><a name="field_XSL_TAG">XSL_TAG</a></h2><p><code>public static  java.lang.String <strong>XSL_TAG</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_TemplateContextTypeXSL">TemplateContextTypeXSL</a></h2><p><code>public <strong>TemplateContextTypeXSL</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.templates.VersionTemplateVariableResolverXSL.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.templates.VersionTemplateVariableResolverXSL.html
new file mode 100644
index 0000000..3cc7339
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.templates.VersionTemplateVariableResolverXSL.html
@@ -0,0 +1,9 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.templates</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.templates</strong></font><br>
+               Class VersionTemplateVariableResolverXSL</h2><br><hr><pre>public class <strong>VersionTemplateVariableResolverXSL</strong>
+extends SimpleTemplateVariableResolver</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_VersionTemplateVariableResolverXSL">VersionTemplateVariableResolverXSL</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_resolve">resolve</a>(TemplateContext context)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_VersionTemplateVariableResolverXSL">VersionTemplateVariableResolverXSL</a></h2><p><code>public <strong>VersionTemplateVariableResolverXSL</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_resolve">resolve</a></h2><p><code>protected java.lang.String <strong>resolve</strong>(TemplateContext context)</code></p><p></p><h3>Parameters</h3><p><code>context</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.templates.XSLTemplatesPage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.templates.XSLTemplatesPage.html
new file mode 100644
index 0000000..1f5dff6
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.templates.XSLTemplatesPage.html
@@ -0,0 +1,44 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.templates</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.templates</strong></font><br>
+               Class XSLTemplatesPage</h2><br><hr><pre>public class <strong>XSLTemplatesPage</strong>
+extends AbstractTemplatesPage</pre>The XSL Templates Page is used by the TemplatesViewer to display available
+ XSL Templates for use within a XSL Structured Text Editor. It is provided as
+ an example on how other SSE editors can contribute their templates to the
+ page.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLTemplatesPage">XSLTemplatesPage</a></strong>(org.eclipse.wst.xsl.ui.internal.editor.XSLEditor xslTextEditor)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String[]</code></td><td width="" align="left"><code><a href="#method_getContextTypeIds">getContextTypeIds</a>(IDocument document
+         ,
+      int offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ContextTypeRegistry</code></td><td width="" align="left"><code><a href="#method_getContextTypeRegistry">getContextTypeRegistry</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getPreferencePageId">getPreferencePageId</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IPreferenceStore</code></td><td width="" align="left"><code><a href="#method_getTemplatePreferenceStore">getTemplatePreferenceStore</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public TemplateStore</code></td><td width="" align="left"><code><a href="#method_getTemplateStore">getTemplateStore</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_insertTemplate">insertTemplate</a>(Template template
+         ,
+      IDocument document)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_isValidTemplate">isValidTemplate</a>(IDocument document
+         ,
+      Template template
+         ,
+      int offset
+         ,
+      int length)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLTemplatesPage">XSLTemplatesPage</a></h2><p><code>public <strong>XSLTemplatesPage</strong>(org.eclipse.wst.xsl.ui.internal.editor.XSLEditor xslTextEditor)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getContextTypeIds">getContextTypeIds</a></h2><p><code>protected java.lang.String[] <strong>getContextTypeIds</strong>(IDocument document
+         ,
+      int offset)</code></p><p></p><h3>Parameters</h3><p><code>document</code></p><p><code>offset</code></p><h3>Returns</h3><p><code>java.lang.String[]</code></p><hr><h2><a name="method_getContextTypeRegistry">getContextTypeRegistry</a></h2><p><code>protected ContextTypeRegistry <strong>getContextTypeRegistry</strong>()</code></p><p></p><h3>Returns</h3><p><code>ContextTypeRegistry</code></p><hr><h2><a name="method_getPreferencePageId">getPreferencePageId</a></h2><p><code>protected java.lang.String <strong>getPreferencePageId</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getTemplatePreferenceStore">getTemplatePreferenceStore</a></h2><p><code>protected IPreferenceStore <strong>getTemplatePreferenceStore</strong>()</code></p><p></p><h3>Returns</h3><p><code>IPreferenceStore</code></p><hr><h2><a name="method_getTemplateStore">getTemplateStore</a></h2><p><code>public TemplateStore <strong>getTemplateStore</strong>()</code></p><p></p><h3>Returns</h3><p><code>TemplateStore</code></p><hr><h2><a name="method_insertTemplate">insertTemplate</a></h2><p><code>protected void <strong>insertTemplate</strong>(Template template
+         ,
+      IDocument document)</code></p><p></p><h3>Parameters</h3><p><code>template</code></p><p><code>document</code></p><hr><h2><a name="method_isValidTemplate">isValidTemplate</a></h2><p><code>protected boolean <strong>isValidTemplate</strong>(IDocument document
+         ,
+      Template template
+         ,
+      int offset
+         ,
+      int length)</code></p><p></p><h3>Parameters</h3><p><code>document</code></p><p><code>template</code></p><p><code>offset</code></p><p><code>length</code></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper.html
new file mode 100644
index 0000000..f9731b9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper.html
@@ -0,0 +1,26 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.util</strong></font><br>
+               Class XSLPluginImageHelper</h2><br><hr><pre>public class <strong>XSLPluginImageHelper</strong>
+extends java.lang.Object</pre>Helper class to handle images provided by this plug-in.
+ 
+ NOTE: For internal use only. For images used externally, please use the
+ Shared***ImageHelper class instead.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLPluginImageHelper">XSLPluginImageHelper</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public Image</code></td><td width="" align="left"><code><a href="#method_getImage">getImage</a>(java.lang.String resource)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Retrieves the image associated with resource from the image registry.
+ If the image cannot be retrieved, attempt to find and load the image at
+ the location specified in resource.</td></tr><tr valign="top"><td width="20%" align="right"><code>public ImageDescriptor</code></td><td width="" align="left"><code><a href="#method_getImageDescriptor">getImageDescriptor</a>(java.lang.String resource)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Retrieves the image descriptor associated with resource from the image
+ descriptor registry. If the image descriptor cannot be retrieved,
+ attempt to find and load the image descriptor at the location specified
+ in resource.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper</code></td><td width="" align="left"><code><a href="#method_getInstance">getInstance</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Gets the instance.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLPluginImageHelper">XSLPluginImageHelper</a></h2><p><code>public <strong>XSLPluginImageHelper</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getImage">getImage</a></h2><p><code>public Image <strong>getImage</strong>(java.lang.String resource)</code></p><p>Retrieves the image associated with resource from the image registry.
+ If the image cannot be retrieved, attempt to find and load the image at
+ the location specified in resource.</p><h3>Parameters</h3><p><code>resource</code> - the image to retrieve</p><h3>Returns</h3><p><code>Image</code> - Image the image associated with resource or null if one could          not be found</p><hr><h2><a name="method_getImageDescriptor">getImageDescriptor</a></h2><p><code>public ImageDescriptor <strong>getImageDescriptor</strong>(java.lang.String resource)</code></p><p>Retrieves the image descriptor associated with resource from the image
+ descriptor registry. If the image descriptor cannot be retrieved,
+ attempt to find and load the image descriptor at the location specified
+ in resource.</p><h3>Parameters</h3><p><code>resource</code> - the image descriptor to retrieve</p><h3>Returns</h3><p><code>ImageDescriptor</code> - ImageDescriptor the image descriptor assocated with resource or          the default "missing" image descriptor if one could not be          found</p><hr><h2><a name="method_getInstance">getInstance</a></h2><p><code>public org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper <strong>getInstance</strong>()</code></p><p>Gets the instance.</p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper</code> - Returns a XMLEditorPluginImageHelper</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages.html
new file mode 100644
index 0000000..2b93bcc
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages.html
@@ -0,0 +1,35 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.util</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.util</strong></font><br>
+               Class XSLPluginImages</h2><br><hr><pre>public class <strong>XSLPluginImages</strong>
+extends java.lang.Object</pre>Bundle of most images used by the XSL Plugins<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_ELM_FUNCTION">IMG_ELM_FUNCTION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_ELM_IMPORT_INCLUDE">IMG_ELM_IMPORT_INCLUDE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_ELM_STYLESHET">IMG_ELM_STYLESHET</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_ELM_TEMPLATE">IMG_ELM_TEMPLATE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_ELM_TEMPLATE_NAME">IMG_ELM_TEMPLATE_NAME</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_ELM_VARIABLE">IMG_ELM_VARIABLE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_MODE">IMG_MODE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Path to the XSL mode Image used for Content Assist</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_OPERATOR">IMG_OPERATOR</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Path to the XPATH Images used for Content Assist</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_PREFIX">IMG_PREFIX</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Path to the XML Prefix Image used for Content Assist</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_TEMPLATE">IMG_TEMPLATE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Path to the xsl template image use for Content Assistance.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_VARIABLES">IMG_VARIABLES</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Path to the XPATH Images used for Content Assist</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_XPATH_AXIS">IMG_XPATH_AXIS</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Path to the XPATH Images used for Content Assist</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_XPATH_FUNCTION">IMG_XPATH_FUNCTION</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Path to the XPATH Images used for Content Assist</td></tr><tr valign="top"><td width="20%" align="right"><code>public static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_IMG_XSL_FILE">IMG_XSL_FILE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Path to the XSL File image use for Content Assistance.</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLPluginImages">XSLPluginImages</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_IMG_ELM_FUNCTION">IMG_ELM_FUNCTION</a></h2><p><code>public static  java.lang.String <strong>IMG_ELM_FUNCTION</strong></code></p><hr><h2><a name="field_IMG_ELM_IMPORT_INCLUDE">IMG_ELM_IMPORT_INCLUDE</a></h2><p><code>public static  java.lang.String <strong>IMG_ELM_IMPORT_INCLUDE</strong></code></p><hr><h2><a name="field_IMG_ELM_STYLESHET">IMG_ELM_STYLESHET</a></h2><p><code>public static  java.lang.String <strong>IMG_ELM_STYLESHET</strong></code></p><hr><h2><a name="field_IMG_ELM_TEMPLATE">IMG_ELM_TEMPLATE</a></h2><p><code>public static  java.lang.String <strong>IMG_ELM_TEMPLATE</strong></code></p><hr><h2><a name="field_IMG_ELM_TEMPLATE_NAME">IMG_ELM_TEMPLATE_NAME</a></h2><p><code>public static  java.lang.String <strong>IMG_ELM_TEMPLATE_NAME</strong></code></p><hr><h2><a name="field_IMG_ELM_VARIABLE">IMG_ELM_VARIABLE</a></h2><p><code>public static  java.lang.String <strong>IMG_ELM_VARIABLE</strong></code></p><hr><h2><a name="field_IMG_MODE">IMG_MODE</a></h2><p><code>public static  java.lang.String <strong>IMG_MODE</strong></code></p><table><tr><td>Path to the XSL mode Image used for Content Assist</td></tr></table><hr><h2><a name="field_IMG_OPERATOR">IMG_OPERATOR</a></h2><p><code>public static  java.lang.String <strong>IMG_OPERATOR</strong></code></p><table><tr><td>Path to the XPATH Images used for Content Assist</td></tr></table><hr><h2><a name="field_IMG_PREFIX">IMG_PREFIX</a></h2><p><code>public static  java.lang.String <strong>IMG_PREFIX</strong></code></p><table><tr><td>Path to the XML Prefix Image used for Content Assist</td></tr></table><hr><h2><a name="field_IMG_TEMPLATE">IMG_TEMPLATE</a></h2><p><code>public static  java.lang.String <strong>IMG_TEMPLATE</strong></code></p><table><tr><td>Path to the xsl template image use for Content Assistance.</td></tr></table><hr><h2><a name="field_IMG_VARIABLES">IMG_VARIABLES</a></h2><p><code>public static  java.lang.String <strong>IMG_VARIABLES</strong></code></p><table><tr><td>Path to the XPATH Images used for Content Assist</td></tr></table><hr><h2><a name="field_IMG_XPATH_AXIS">IMG_XPATH_AXIS</a></h2><p><code>public static  java.lang.String <strong>IMG_XPATH_AXIS</strong></code></p><table><tr><td>Path to the XPATH Images used for Content Assist</td></tr></table><hr><h2><a name="field_IMG_XPATH_FUNCTION">IMG_XPATH_FUNCTION</a></h2><p><code>public static  java.lang.String <strong>IMG_XPATH_FUNCTION</strong></code></p><table><tr><td>Path to the XPATH Images used for Content Assist</td></tr></table><hr><h2><a name="field_IMG_XSL_FILE">IMG_XSL_FILE</a></h2><p><code>public static  java.lang.String <strong>IMG_XSL_FILE</strong></code></p><table><tr><td>Path to the XSL File image use for Content Assistance.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLPluginImages">XSLPluginImages</a></h2><p><code>public <strong>XSLPluginImages</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.validation.DelegatingSourceValidatorForXSL.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.validation.DelegatingSourceValidatorForXSL.html
new file mode 100644
index 0000000..a8ce141
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.validation.DelegatingSourceValidatorForXSL.html
@@ -0,0 +1,25 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.validation</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.validation</strong></font><br>
+               Class DelegatingSourceValidatorForXSL</h2><br><hr><pre>public class <strong>DelegatingSourceValidatorForXSL</strong>
+extends DelegatingSourceValidator</pre>This performs the as-you-type validation for xsl files<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DelegatingSourceValidatorForXSL">DelegatingSourceValidatorForXSL</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected IValidator</code></td><td width="" align="left"><code><a href="#method_getDelegateValidator">getDelegateValidator</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_updateValidationMessages">updateValidationMessages</a>(java.util.List messages
+         ,
+      IDOMDocument document
+         ,
+      IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(IValidationContext helper
+         ,
+      IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_DelegatingSourceValidatorForXSL">DelegatingSourceValidatorForXSL</a></h2><p><code>public <strong>DelegatingSourceValidatorForXSL</strong>()</code></p><p>Constructor</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getDelegateValidator">getDelegateValidator</a></h2><p><code>protected IValidator <strong>getDelegateValidator</strong>()</code></p><p></p><h3>Returns</h3><p><code>IValidator</code></p><hr><h2><a name="method_updateValidationMessages">updateValidationMessages</a></h2><p><code>protected void <strong>updateValidationMessages</strong>(java.util.List messages
+         ,
+      IDOMDocument document
+         ,
+      IReporter reporter)</code></p><p></p><h3>Parameters</h3><p><code>messages</code></p><p><code>document</code></p><p><code>reporter</code></p><hr><h2><a name="method_validate">validate</a></h2><p><code>public void <strong>validate</strong>(IValidationContext helper
+         ,
+      IReporter reporter)</code></p><p></p><h3>Parameters</h3><p><code>helper</code></p><p><code>reporter</code></p><h3>Throws:</h3><p><code>ValidationException</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.validation.XSLErrorListener.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.validation.XSLErrorListener.html
new file mode 100644
index 0000000..fac0a24
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.validation.XSLErrorListener.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.validation</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.validation</strong></font><br>
+               Class XSLErrorListener</h2><br><hr><pre>public class <strong>XSLErrorListener</strong>
+extends java.lang.Object</pre>This class listens for Errors tossed by a XSL Processor.<p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLErrorListener">XSLErrorListener</a></strong>(java.util.logging.Logger logger)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_error">error</a>(javax.xml.transform.TransformerException exception)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_fatalError">fatalError</a>(javax.xml.transform.TransformerException exception)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_warning">warning</a>(javax.xml.transform.TransformerException exception)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLErrorListener">XSLErrorListener</a></h2><p><code>public <strong>XSLErrorListener</strong>(java.util.logging.Logger logger)</code></p><p>TODO: Add Javadoc</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_error">error</a></h2><p><code>public void <strong>error</strong>(javax.xml.transform.TransformerException exception)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>exception</code></p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_fatalError">fatalError</a></h2><p><code>public void <strong>fatalError</strong>(javax.xml.transform.TransformerException exception)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>exception</code></p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_warning">warning</a></h2><p><code>public void <strong>warning</strong>(javax.xml.transform.TransformerException exception)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>exception</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.validation.XSLMarkupValidator.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.validation.XSLMarkupValidator.html
new file mode 100644
index 0000000..02b4ce0
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.validation.XSLMarkupValidator.html
@@ -0,0 +1,35 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.validation</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.validation</strong></font><br>
+               Class XSLMarkupValidator</h2><br><hr><pre>public class <strong>XSLMarkupValidator</strong>
+extends MarkupValidator</pre><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLMarkupValidator">XSLMarkupValidator</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_cleanup">cleanup</a>(IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_connect">connect</a>(IDocument document)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_disconnect">disconnect</a>(IDocument document)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(IValidationContext helper
+         ,
+      IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(IRegion dirtyRegion
+         ,
+      IValidationContext helper
+         ,
+      IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_validate">validate</a>(IStructuredDocumentRegion structuredDocumentRegion
+         ,
+      IReporter reporter)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLMarkupValidator">XSLMarkupValidator</a></h2><p><code>public <strong>XSLMarkupValidator</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_cleanup">cleanup</a></h2><p><code>public void <strong>cleanup</strong>(IReporter reporter)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>reporter</code></p><hr><h2><a name="method_connect">connect</a></h2><p><code>public void <strong>connect</strong>(IDocument document)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>document</code></p><hr><h2><a name="method_disconnect">disconnect</a></h2><p><code>public void <strong>disconnect</strong>(IDocument document)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>document</code></p><hr><h2><a name="method_validate">validate</a></h2><p><code>public void <strong>validate</strong>(IValidationContext helper
+         ,
+      IReporter reporter)</code></p><p></p><h3>Parameters</h3><p><code>helper</code></p><p><code>reporter</code></p><h3>Throws:</h3><p><code>ValidationException</code></p><hr><h2><a name="method_validate">validate</a></h2><p><code>public void <strong>validate</strong>(IRegion dirtyRegion
+         ,
+      IValidationContext helper
+         ,
+      IReporter reporter)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>dirtyRegion</code></p><p><code>helper</code></p><p><code>reporter</code></p><hr><h2><a name="method_validate">validate</a></h2><p><code>public void <strong>validate</strong>(IStructuredDocumentRegion structuredDocumentRegion
+         ,
+      IReporter reporter)</code></p><p>(non-Javadoc)</p><h3>Parameters</h3><p><code>structuredDocumentRegion</code></p><p><code>reporter</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.ListWorkbenchAdapter.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.ListWorkbenchAdapter.html
new file mode 100644
index 0000000..f3708c8
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.ListWorkbenchAdapter.html
@@ -0,0 +1,27 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font><br>
+               Class ListWorkbenchAdapter</h2><br><hr><pre>public class <strong>ListWorkbenchAdapter</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ListWorkbenchAdapter">ListWorkbenchAdapter</a></strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet
+         ,
+      java.util.List list
+         ,
+      java.lang.String label
+         ,
+      java.lang.String imgPath)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getChildren">getChildren</a>(java.lang.Object o)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ImageDescriptor</code></td><td width="" align="left"><code><a href="#method_getImageDescriptor">getImageDescriptor</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getLabel">getLabel</a>(java.lang.Object o)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getParent">getParent</a>(java.lang.Object o)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_ListWorkbenchAdapter">ListWorkbenchAdapter</a></h2><p><code>public <strong>ListWorkbenchAdapter</strong>(org.eclipse.wst.xsl.core.model.Stylesheet stylesheet
+         ,
+      java.util.List list
+         ,
+      java.lang.String label
+         ,
+      java.lang.String imgPath)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getChildren">getChildren</a></h2><p><code>public java.lang.Object[] <strong>getChildren</strong>(java.lang.Object o)</code></p><p></p><h3>Parameters</h3><p><code>o</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_getImageDescriptor">getImageDescriptor</a></h2><p><code>public ImageDescriptor <strong>getImageDescriptor</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>ImageDescriptor</code></p><hr><h2><a name="method_getLabel">getLabel</a></h2><p><code>public java.lang.String <strong>getLabel</strong>(java.lang.Object o)</code></p><p></p><h3>Parameters</h3><p><code>o</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getParent">getParent</a></h2><p><code>public java.lang.Object <strong>getParent</strong>(java.lang.Object o)</code></p><p></p><h3>Parameters</h3><p><code>o</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.StylesheetModelView.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.StylesheetModelView.html
new file mode 100644
index 0000000..060c428
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.StylesheetModelView.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font><br>
+               Class StylesheetModelView</h2><br><hr><pre>public class <strong>StylesheetModelView</strong>
+extends ViewPart</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StylesheetModelView">StylesheetModelView</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_createPartControl">createPartControl</a>(Composite parent)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IViewSite site
+         ,
+      IMemento memento)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setFocus">setFocus</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_StylesheetModelView">StylesheetModelView</a></h2><p><code>public <strong>StylesheetModelView</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createPartControl">createPartControl</a></h2><p><code>public void <strong>createPartControl</strong>(Composite parent)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><hr><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IViewSite site
+         ,
+      IMemento memento)</code></p><p></p><h3>Parameters</h3><p><code>site</code></p><p><code>memento</code></p><h3>Throws:</h3><p><code>PartInitException</code></p><hr><h2><a name="method_setFocus">setFocus</a></h2><p><code>public void <strong>setFocus</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLModelAdapterFactory.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLModelAdapterFactory.html
new file mode 100644
index 0000000..9260b43
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLModelAdapterFactory.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font><br>
+               Class XSLModelAdapterFactory</h2><br><hr><pre>public class <strong>XSLModelAdapterFactory</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLModelAdapterFactory">XSLModelAdapterFactory</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getAdapter">getAdapter</a>(java.lang.Object adaptableObject
+         ,
+      java.lang.Class adapterType)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Class[]</code></td><td width="" align="left"><code><a href="#method_getAdapterList">getAdapterList</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLModelAdapterFactory">XSLModelAdapterFactory</a></h2><p><code>public <strong>XSLModelAdapterFactory</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getAdapter">getAdapter</a></h2><p><code>public java.lang.Object <strong>getAdapter</strong>(java.lang.Object adaptableObject
+         ,
+      java.lang.Class adapterType)</code></p><p></p><h3>Parameters</h3><p><code>adaptableObject</code></p><p><code>adapterType</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr><h2><a name="method_getAdapterList">getAdapterList</a></h2><p><code>public java.lang.Class[] <strong>getAdapterList</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.Class[]</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLWorkbenchAdapter.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLWorkbenchAdapter.html
new file mode 100644
index 0000000..8be077c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLWorkbenchAdapter.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.views.stylesheet</strong></font><br>
+               Class XSLWorkbenchAdapter</h2><br><hr><pre>package-private class <strong>XSLWorkbenchAdapter</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSLWorkbenchAdapter">XSLWorkbenchAdapter</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getChildren">getChildren</a>(java.lang.Object o)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public ImageDescriptor</code></td><td width="" align="left"><code><a href="#method_getImageDescriptor">getImageDescriptor</a>(java.lang.Object object)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getLabel">getLabel</a>(java.lang.Object o)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_getParent">getParent</a>(java.lang.Object o)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XSLWorkbenchAdapter">XSLWorkbenchAdapter</a></h2><p><code>package-private <strong>XSLWorkbenchAdapter</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getChildren">getChildren</a></h2><p><code>public java.lang.Object[] <strong>getChildren</strong>(java.lang.Object o)</code></p><p></p><h3>Parameters</h3><p><code>o</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_getImageDescriptor">getImageDescriptor</a></h2><p><code>public ImageDescriptor <strong>getImageDescriptor</strong>(java.lang.Object object)</code></p><p></p><h3>Parameters</h3><p><code>object</code></p><h3>Returns</h3><p><code>ImageDescriptor</code></p><hr><h2><a name="method_getLabel">getLabel</a></h2><p><code>public java.lang.String <strong>getLabel</strong>(java.lang.Object o)</code></p><p></p><h3>Parameters</h3><p><code>o</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getParent">getParent</a></h2><p><code>public java.lang.Object <strong>getParent</strong>(java.lang.Object o)</code></p><p></p><h3>Parameters</h3><p><code>o</code></p><h3>Returns</h3><p><code>java.lang.Object</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileTemplatesWizardPage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileTemplatesWizardPage.html
new file mode 100644
index 0000000..cd02d7e
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileTemplatesWizardPage.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.wizards</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.wizards</strong></font><br>
+               Class NewXSLFileTemplatesWizardPage</h2><br><hr><pre>public class <strong>NewXSLFileTemplatesWizardPage</strong>
+extends WizardPage</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NewXSLFileTemplatesWizardPage">NewXSLFileTemplatesWizardPage</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_createControl">createControl</a>(Composite ancestor)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_enableTemplates">enableTemplates</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="" align="left"><code><a href="#method_getTemplateString">getTemplateString</a>(int[] offset)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_linkClicked">linkClicked</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_saveLastSavedPreferences">saveLastSavedPreferences</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_updateViewerInput">updateViewerInput</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NewXSLFileTemplatesWizardPage">NewXSLFileTemplatesWizardPage</a></h2><p><code>public <strong>NewXSLFileTemplatesWizardPage</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_createControl">createControl</a></h2><p><code>public void <strong>createControl</strong>(Composite ancestor)</code></p><p></p><h3>Parameters</h3><p><code>ancestor</code></p><hr><h2><a name="method_enableTemplates">enableTemplates</a></h2><p><code>package-private void <strong>enableTemplates</strong>()</code></p><p></p><hr><h2><a name="method_getTemplateString">getTemplateString</a></h2><p><code>package-private java.lang.String <strong>getTemplateString</strong>(int[] offset)</code></p><p></p><h3>Parameters</h3><p><code>offset</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_linkClicked">linkClicked</a></h2><p><code>package-private void <strong>linkClicked</strong>()</code></p><p></p><hr><h2><a name="method_saveLastSavedPreferences">saveLastSavedPreferences</a></h2><p><code>package-private void <strong>saveLastSavedPreferences</strong>()</code></p><p></p><hr><h2><a name="method_updateViewerInput">updateViewerInput</a></h2><p><code>package-private void <strong>updateViewerInput</strong>()</code></p><p></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizard.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizard.html
new file mode 100644
index 0000000..68261a5
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizard.html
@@ -0,0 +1,17 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.wizards</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.wizards</strong></font><br>
+               Class NewXSLFileWizard</h2><br><hr><pre>public class <strong>NewXSLFileWizard</strong>
+extends Wizard</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NewXSLFileWizard">NewXSLFileWizard</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addPages">addPages</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_init">init</a>(IWorkbench aWorkbench
+         ,
+      IStructuredSelection aSelection)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_performFinish">performFinish</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NewXSLFileWizard">NewXSLFileWizard</a></h2><p><code>public <strong>NewXSLFileWizard</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addPages">addPages</a></h2><p><code>public void <strong>addPages</strong>()</code></p><p></p><hr><h2><a name="method_init">init</a></h2><p><code>public void <strong>init</strong>(IWorkbench aWorkbench
+         ,
+      IStructuredSelection aSelection)</code></p><p></p><h3>Parameters</h3><p><code>aWorkbench</code></p><p><code>aSelection</code></p><hr><h2><a name="method_performFinish">performFinish</a></h2><p><code>public boolean <strong>performFinish</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizardPage.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizardPage.html
new file mode 100644
index 0000000..55a62e8
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizardPage.html
@@ -0,0 +1,15 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.wizards</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.wizards</strong></font><br>
+               Class NewXSLFileWizardPage</h2><br><hr><pre>package-private class <strong>NewXSLFileWizardPage</strong>
+extends WizardNewFileCreationPage</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NewXSLFileWizardPage">NewXSLFileWizardPage</a></strong>(java.lang.String pageName
+         ,
+      IStructuredSelection selection)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private java.lang.String</code></td><td width="" align="left"><code><a href="#method_addDefaultExtension">addDefaultExtension</a>(java.lang.String filename)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_validatePage">validatePage</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NewXSLFileWizardPage">NewXSLFileWizardPage</a></h2><p><code>public <strong>NewXSLFileWizardPage</strong>(java.lang.String pageName
+         ,
+      IStructuredSelection selection)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addDefaultExtension">addDefaultExtension</a></h2><p><code>package-private java.lang.String <strong>addDefaultExtension</strong>(java.lang.String filename)</code></p><p></p><h3>Parameters</h3><p><code>filename</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_validatePage">validatePage</a></h2><p><code>protected boolean <strong>validatePage</strong>()</code></p><p></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.TemplateContentProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.TemplateContentProvider.html
new file mode 100644
index 0000000..15c4f57
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.TemplateContentProvider.html
@@ -0,0 +1,21 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.wizards</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.wizards</strong></font><br>
+               Class TemplateContentProvider</h2><br><hr><pre>package-private class <strong>TemplateContentProvider</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_TemplateContentProvider">TemplateContentProvider</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_dispose">dispose</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object[]</code></td><td width="" align="left"><code><a href="#method_getElements">getElements</a>(java.lang.Object input)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_inputChanged">inputChanged</a>(Viewer viewer
+         ,
+      java.lang.Object oldInput
+         ,
+      java.lang.Object newInput)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_TemplateContentProvider">TemplateContentProvider</a></h2><p><code>package-private <strong>TemplateContentProvider</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_dispose">dispose</a></h2><p><code>public void <strong>dispose</strong>()</code></p><p></p><hr><h2><a name="method_getElements">getElements</a></h2><p><code>public java.lang.Object[] <strong>getElements</strong>(java.lang.Object input)</code></p><p></p><h3>Parameters</h3><p><code>input</code></p><h3>Returns</h3><p><code>java.lang.Object[]</code></p><hr><h2><a name="method_inputChanged">inputChanged</a></h2><p><code>public void <strong>inputChanged</strong>(Viewer viewer
+         ,
+      java.lang.Object oldInput
+         ,
+      java.lang.Object newInput)</code></p><p></p><h3>Parameters</h3><p><code>viewer</code></p><p><code>oldInput</code></p><p><code>newInput</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.TemplateLabelProvider.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.TemplateLabelProvider.html
new file mode 100644
index 0000000..8320dd7
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.internal.wizards.TemplateLabelProvider.html
@@ -0,0 +1,19 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.internal.wizards</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.internal.wizards</strong></font><br>
+               Class TemplateLabelProvider</h2><br><hr><pre>package-private class <strong>TemplateLabelProvider</strong>
+extends LabelProvider</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_TemplateLabelProvider">TemplateLabelProvider</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public Image</code></td><td width="" align="left"><code><a href="#method_getColumnImage">getColumnImage</a>(java.lang.Object element
+         ,
+      int columnIndex)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getColumnText">getColumnText</a>(java.lang.Object element
+         ,
+      int columnIndex)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_TemplateLabelProvider">TemplateLabelProvider</a></h2><p><code>package-private <strong>TemplateLabelProvider</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getColumnImage">getColumnImage</a></h2><p><code>public Image <strong>getColumnImage</strong>(java.lang.Object element
+         ,
+      int columnIndex)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><p><code>columnIndex</code></p><h3>Returns</h3><p><code>Image</code></p><hr><h2><a name="method_getColumnText">getColumnText</a></h2><p><code>public java.lang.String <strong>getColumnText</strong>(java.lang.Object element
+         ,
+      int columnIndex)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><p><code>columnIndex</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest.html
new file mode 100644
index 0000000..ee297d0
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest.html
@@ -0,0 +1,156 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font><br>
+               Class AbstractXMLElementContentAssistRequest</h2><br><hr><pre>public class <strong>AbstractXMLElementContentAssistRequest</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest</pre>Adopters can extend this class to implement their own content assistance for Element
+ proposals using the XML Content Model.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel.XSLContentModelGenerator</code></td><td width="80%" align="left"><code><a href="#field_contentModel">contentModel</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected MarkupTagInfoProvider</code></td><td width="80%" align="left"><code><a href="#field_infoProvider">infoProvider</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected static  java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_FIRST_XSLANCESTOR_NODE">XPATH_FIRST_XSLANCESTOR_NODE</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AbstractXMLElementContentAssistRequest">AbstractXMLElementContentAssistRequest</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addTagNameProposals">addTagNameProposals</a>(int position)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Adds proposals for the XML_TAG_NAME region.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_beginsWith">beginsWith</a>(java.lang.String aString
+         ,
+      java.lang.String prefix)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal</code></td><td width="" align="left"><code><a href="#method_createProposal">createProposal</a>(java.lang.String proposedText
+         ,
+      java.lang.String additionalInfo
+         ,
+      int offset
+         ,
+      Image image
+         ,
+      int startLength)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getAdditionalInfo">getAdditionalInfo</a>(CMNode parentOrOwner
+         ,
+      CMNode cmnode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Retrieves cmnode's documentation to display in the completion proposal's
+ additional info. If no documentation exists for cmnode, try displaying
+ parentOrOwner's documentation
+ 
+ String any documentation information to display for cmnode.
+ <code>null</code> if there is nothing to display.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_getAvailableChildElementDeclarations">getAvailableChildElementDeclarations</a>(org.w3c.dom.Element parent
+         ,
+      int childPosition)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns a list of CMNodes that are available within this parent context
+ Given the grammar shown below and a snippet of XML code (where the '|'
+ indicated the cursor position)
+ the list would return all of the element declarations that are
+ potential child elements of Foo.
+
+ grammar : Foo -> (A, B, C)
+ snippet : <Foo><A>|
+ result : {A, B, C}</td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_getAvailableChildrenAtIndex">getAvailableChildrenAtIndex</a>(org.w3c.dom.Element parent
+         ,
+      int index
+         ,
+      int validityChecking)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.Iterator</code></td><td width="" align="left"><code><a href="#method_getAvailableContentNodes">getAvailableContentNodes</a>(IDOMDocument domDocument
+         ,
+      org.w3c.dom.Node ancestorNode
+         ,
+      int includeOptions)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected CMElementDeclaration</code></td><td width="" align="left"><code><a href="#method_getCMElementDeclaration">getCMElementDeclaration</a>(org.w3c.dom.Node node)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected Image</code></td><td width="" align="left"><code><a href="#method_getCMNodeImage">getCMNodeImage</a>(CMNode cmNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code><a href="#method_getCursorPositionForProposedText">getCursorPositionForProposedText</a>(java.lang.String proposedText)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               This is the position the cursor should be in after the proposal is
+ applied</td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code><a href="#method_getElementPosition">getElementPosition</a>(org.w3c.dom.Node child)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected MarkupTagInfoProvider</code></td><td width="" align="left"><code><a href="#method_getInfoProvider">getInfoProvider</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Gets the infoProvider.
+ 
+ fInfoProvider and if fInfoProvider was <code>null</code> create a new
+ instance</td></tr><tr valign="top"><td width="20%" align="right"><code>protected ITextRegion</code></td><td width="" align="left"><code><a href="#method_getNameRegion">getNameRegion</a>(IStructuredDocumentRegion flatNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getRequiredName">getRequiredName</a>(org.w3c.dom.Node ownerNode
+         ,
+      CMNode cmnode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_inAttributeRegion">inAttributeRegion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Check to see if the current position is in an Attribute Region if so,
+ return true otherwise false</td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_isNameRegion">isNameRegion</a>(ITextRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Checks to the see if the element is in the correct region.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_contentModel">contentModel</a></h2><p><code>protected org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel.XSLContentModelGenerator <strong>contentModel</strong></code></p><hr><h2><a name="field_infoProvider">infoProvider</a></h2><p><code>protected MarkupTagInfoProvider <strong>infoProvider</strong></code></p><hr><h2><a name="field_XPATH_FIRST_XSLANCESTOR_NODE">XPATH_FIRST_XSLANCESTOR_NODE</a></h2><p><code>protected static  java.lang.String <strong>XPATH_FIRST_XSLANCESTOR_NODE</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_AbstractXMLElementContentAssistRequest">AbstractXMLElementContentAssistRequest</a></h2><p><code>public <strong>AbstractXMLElementContentAssistRequest</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addTagNameProposals">addTagNameProposals</a></h2><p><code>protected void <strong>addTagNameProposals</strong>(int position)</code></p><p>Adds proposals for the XML_TAG_NAME region.</p><h3>Parameters</h3><p><code>position</code></p><hr><h2><a name="method_beginsWith">beginsWith</a></h2><p><code>protected boolean <strong>beginsWith</strong>(java.lang.String aString
+         ,
+      java.lang.String prefix)</code></p><p></p><h3>Parameters</h3><p><code>aString</code></p><p><code>prefix</code></p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_createProposal">createProposal</a></h2><p><code>protected org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal <strong>createProposal</strong>(java.lang.String proposedText
+         ,
+      java.lang.String additionalInfo
+         ,
+      int offset
+         ,
+      Image image
+         ,
+      int startLength)</code></p><p></p><h3>Parameters</h3><p><code>proposedText</code></p><p><code>additionalInfo</code></p><p><code>offset</code></p><p><code>image</code></p><p><code>startLength</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal</code></p><hr><h2><a name="method_getAdditionalInfo">getAdditionalInfo</a></h2><p><code>protected java.lang.String <strong>getAdditionalInfo</strong>(CMNode parentOrOwner
+         ,
+      CMNode cmnode)</code></p><p>Retrieves cmnode's documentation to display in the completion proposal's
+ additional info. If no documentation exists for cmnode, try displaying
+ parentOrOwner's documentation
+ 
+ String any documentation information to display for cmnode.
+ <code>null</code> if there is nothing to display.</p><h3>Parameters</h3><p><code>parentOrOwner</code></p><p><code>cmnode</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getAvailableChildElementDeclarations">getAvailableChildElementDeclarations</a></h2><p><code>protected java.util.List <strong>getAvailableChildElementDeclarations</strong>(org.w3c.dom.Element parent
+         ,
+      int childPosition)</code></p><p>Returns a list of CMNodes that are available within this parent context
+ Given the grammar shown below and a snippet of XML code (where the '|'
+ indicated the cursor position)
+ the list would return all of the element declarations that are
+ potential child elements of Foo.
+
+ grammar : Foo -> (A, B, C)
+ snippet : <Foo><A>|
+ result : {A, B, C}</p><h3>Parameters</h3><p><code>parent</code></p><p><code>childPosition</code></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getAvailableChildrenAtIndex">getAvailableChildrenAtIndex</a></h2><p><code>protected java.util.List <strong>getAvailableChildrenAtIndex</strong>(org.w3c.dom.Element parent
+         ,
+      int index
+         ,
+      int validityChecking)</code></p><p></p><h3>Parameters</h3><p><code>parent</code></p><p><code>index</code></p><p><code>validityChecking</code></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getAvailableContentNodes">getAvailableContentNodes</a></h2><p><code>protected java.util.Iterator <strong>getAvailableContentNodes</strong>(IDOMDocument domDocument
+         ,
+      org.w3c.dom.Node ancestorNode
+         ,
+      int includeOptions)</code></p><p></p><h3>Parameters</h3><p><code>domDocument</code></p><p><code>ancestorNode</code></p><p><code>includeOptions</code></p><h3>Returns</h3><p><code>java.util.Iterator</code></p><hr><h2><a name="method_getCMElementDeclaration">getCMElementDeclaration</a></h2><p><code>protected CMElementDeclaration <strong>getCMElementDeclaration</strong>(org.w3c.dom.Node node)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>CMElementDeclaration</code></p><hr><h2><a name="method_getCMNodeImage">getCMNodeImage</a></h2><p><code>protected Image <strong>getCMNodeImage</strong>(CMNode cmNode)</code></p><p></p><h3>Parameters</h3><p><code>cmNode</code></p><h3>Returns</h3><p><code>Image</code></p><hr><h2><a name="method_getCursorPositionForProposedText">getCursorPositionForProposedText</a></h2><p><code>protected int <strong>getCursorPositionForProposedText</strong>(java.lang.String proposedText)</code></p><p>This is the position the cursor should be in after the proposal is
+ applied</p><h3>Parameters</h3><p><code>proposedText</code></p><h3>Returns</h3><p><code>int</code> - the position the cursor should be in after the proposal is          applied</p><hr><h2><a name="method_getElementPosition">getElementPosition</a></h2><p><code>protected int <strong>getElementPosition</strong>(org.w3c.dom.Node child)</code></p><p></p><h3>Parameters</h3><p><code>child</code></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getInfoProvider">getInfoProvider</a></h2><p><code>protected MarkupTagInfoProvider <strong>getInfoProvider</strong>()</code></p><p>Gets the infoProvider.
+ 
+ fInfoProvider and if fInfoProvider was <code>null</code> create a new
+ instance</p><h3>Returns</h3><p><code>MarkupTagInfoProvider</code></p><hr><h2><a name="method_getNameRegion">getNameRegion</a></h2><p><code>protected ITextRegion <strong>getNameRegion</strong>(IStructuredDocumentRegion flatNode)</code></p><p></p><h3>Parameters</h3><p><code>flatNode</code></p><h3>Returns</h3><p><code>ITextRegion</code></p><hr><h2><a name="method_getRequiredName">getRequiredName</a></h2><p><code>protected java.lang.String <strong>getRequiredName</strong>(org.w3c.dom.Node ownerNode
+         ,
+      CMNode cmnode)</code></p><p></p><h3>Parameters</h3><p><code>ownerNode</code></p><p><code>cmnode</code></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_inAttributeRegion">inAttributeRegion</a></h2><p><code>protected boolean <strong>inAttributeRegion</strong>()</code></p><p>Check to see if the current position is in an Attribute Region if so,
+ return true otherwise false</p><h3>Returns</h3><p><code>boolean</code> - True if in attribute region, false otherwise.</p><hr><h2><a name="method_isNameRegion">isNameRegion</a></h2><p><code>protected boolean <strong>isNameRegion</strong>(ITextRegion region)</code></p><p>Checks to the see if the element is in the correct region.</p><h3>Parameters</h3><p><code>region</code></p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor.html
new file mode 100644
index 0000000..92ed5bd
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor.html
@@ -0,0 +1,67 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font><br>
+               Class AbstractXSLContentAssistProcessor</h2><br><hr><pre>public class <strong>AbstractXSLContentAssistProcessor</strong>
+extends java.lang.Object</pre>This is an Abstract class that implementors should extend for implementing
+ XSL Content Assist Processors.   It provides common convience methods for
+ information that is needed to construct a content assist processor.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected ITextRegion</code></td><td width="80%" align="left"><code><a href="#field_completionRegion">completionRegion</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="80%" align="left"><code><a href="#field_cursorPosition">cursorPosition</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_errorMessage">errorMessage</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_matchString">matchString</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IStructuredDocumentRegion</code></td><td width="80%" align="left"><code><a href="#field_sdRegion">sdRegion</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ITextViewer</code></td><td width="80%" align="left"><code><a href="#field_textViewer">textViewer</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected IDOMNode</code></td><td width="80%" align="left"><code><a href="#field_xmlNode">xmlNode</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AbstractXSLContentAssistProcessor">AbstractXSLContentAssistProcessor</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public char[]</code></td><td width="" align="left"><code><a href="#method_getCompletionProposalAutoActivationCharacters">getCompletionProposalAutoActivationCharacters</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns the characters which when entered by the user should
+ automatically trigger the presentation of possible completions.
+ 
+ the auto activation characters for completion proposal or
+ <code>null</code> if no auto activation is desired</td></tr><tr valign="top"><td width="20%" align="right"><code>protected ITextRegion</code></td><td width="" align="left"><code><a href="#method_getCompletionRegion">getCompletionRegion</a>(int documentPosition
+         ,
+      org.w3c.dom.Node domnode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Return the region whose content's require completion. This is something
+ of a misnomer as sometimes the user wants to be prompted for contents of
+ a non-existent ITextRegion, such as for enumerated attribute values
+ following an '=' sign.
+ 
+ Copied from AbstractContentAssist Processor.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected ITextRegion</code></td><td width="" align="left"><code><a href="#method_getCompletionRegion">getCompletionRegion</a>(int offset
+         ,
+      IStructuredDocumentRegion sdRegion)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getErrorMessage">getErrorMessage</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_initializeProposalVariables">initializeProposalVariables</a>(ITextViewer textViewer
+         ,
+      int documentPosition)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setErrorMessage">setErrorMessage</a>(java.lang.String errorMessage)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Sets the error message for why content assistance didn't complete.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_completionRegion">completionRegion</a></h2><p><code>protected ITextRegion <strong>completionRegion</strong></code></p><hr><h2><a name="field_cursorPosition">cursorPosition</a></h2><p><code>protected int <strong>cursorPosition</strong></code></p><hr><h2><a name="field_errorMessage">errorMessage</a></h2><p><code>protected java.lang.String <strong>errorMessage</strong></code></p><hr><h2><a name="field_matchString">matchString</a></h2><p><code>protected java.lang.String <strong>matchString</strong></code></p><hr><h2><a name="field_sdRegion">sdRegion</a></h2><p><code>protected IStructuredDocumentRegion <strong>sdRegion</strong></code></p><hr><h2><a name="field_textViewer">textViewer</a></h2><p><code>protected ITextViewer <strong>textViewer</strong></code></p><hr><h2><a name="field_xmlNode">xmlNode</a></h2><p><code>protected IDOMNode <strong>xmlNode</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_AbstractXSLContentAssistProcessor">AbstractXSLContentAssistProcessor</a></h2><p><code>public <strong>AbstractXSLContentAssistProcessor</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCompletionProposalAutoActivationCharacters">getCompletionProposalAutoActivationCharacters</a></h2><p><code>public char[] <strong>getCompletionProposalAutoActivationCharacters</strong>()</code></p><p>Returns the characters which when entered by the user should
+ automatically trigger the presentation of possible completions.
+ 
+ the auto activation characters for completion proposal or
+ <code>null</code> if no auto activation is desired</p><h3>Returns</h3><p><code>char[]</code> - an array of activation characters</p><hr><h2><a name="method_getCompletionRegion">getCompletionRegion</a></h2><p><code>protected ITextRegion <strong>getCompletionRegion</strong>(int documentPosition
+         ,
+      org.w3c.dom.Node domnode)</code></p><p>Return the region whose content's require completion. This is something
+ of a misnomer as sometimes the user wants to be prompted for contents of
+ a non-existent ITextRegion, such as for enumerated attribute values
+ following an '=' sign.
+ 
+ Copied from AbstractContentAssist Processor.</p><h3>Parameters</h3><p><code>documentPosition</code></p><p><code>domnode</code></p><h3>Returns</h3><p><code>ITextRegion</code></p><hr><h2><a name="method_getCompletionRegion">getCompletionRegion</a></h2><p><code>protected ITextRegion <strong>getCompletionRegion</strong>(int offset
+         ,
+      IStructuredDocumentRegion sdRegion)</code></p><p></p><h3>Parameters</h3><p><code>offset</code></p><p><code>sdRegion</code></p><h3>Returns</h3><p><code>ITextRegion</code></p><hr><h2><a name="method_getErrorMessage">getErrorMessage</a></h2><p><code>public java.lang.String <strong>getErrorMessage</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_initializeProposalVariables">initializeProposalVariables</a></h2><p><code>protected void <strong>initializeProposalVariables</strong>(ITextViewer textViewer
+         ,
+      int documentPosition)</code></p><p></p><h3>Parameters</h3><p><code>textViewer</code></p><p><code>documentPosition</code></p><hr><h2><a name="method_setErrorMessage">setErrorMessage</a></h2><p><code>public void <strong>setErrorMessage</strong>(java.lang.String errorMessage)</code></p><p>Sets the error message for why content assistance didn't complete.</p><h3>Parameters</h3><p><code>errorMessage</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest.html
new file mode 100644
index 0000000..c478a1a
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest.html
@@ -0,0 +1,119 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font><br>
+               Class AbstractXSLContentAssistRequest</h2><br><hr><pre>public class <strong>AbstractXSLContentAssistRequest</strong>
+extends java.lang.Object</pre>An extension of the XML ContentAssistRequest class.  This provides
+ a basis for the XSL content assistance.  Classes may subclass this
+ class and implement specific functionality.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected IStructuredDocumentRegion</code></td><td width="80%" align="left"><code><a href="#field_documentRegion">documentRegion</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.ArrayList</code></td><td width="80%" align="left"><code><a href="#field_macros">macros</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_matchString">matchString</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.w3c.dom.Node</code></td><td width="80%" align="left"><code><a href="#field_node">node</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.ArrayList</code></td><td width="80%" align="left"><code><a href="#field_proposals">proposals</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ITextRegion</code></td><td width="80%" align="left"><code><a href="#field_region">region</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="80%" align="left"><code><a href="#field_replacementBeginPosition">replacementBeginPosition</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="80%" align="left"><code><a href="#field_replacementLength">replacementLength</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ITextViewer</code></td><td width="80%" align="left"><code><a href="#field_textViewer">textViewer</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AbstractXSLContentAssistRequest">AbstractXSLContentAssistRequest</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addMacro">addMacro</a>(ICompletionProposal newProposal)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_addProposal">addProposal</a>(ICompletionProposal newProposal)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getAllCompletionProposals">getAllCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Returns a list of proposals.  Implementations are to provide the appropriate
+ implementation for the proposals they would like to return.   Use of the getAllCompletionProposals
+ should be used to return the actual proposals from this method.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code><a href="#method_getCursorPosition">getCursorPosition</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Get the cursor position within the Text Viewer</td></tr><tr valign="top"><td width="20%" align="right"><code>protected IStructuredDocumentRegion</code></td><td width="" align="left"><code><a href="#method_getDocumentRegion">getDocumentRegion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getLocation">getLocation</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Retrieves the base location for the IDOMDocument for this class. This is
+ used to populate a new Path class for retrieving an IFile instance.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_getMacros">getMacros</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getMatchString">getMatchString</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.Collection</code></td><td width="" align="left"><code><a href="#method_getNamespaces">getNamespaces</a>(IDOMElement element)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.w3c.dom.Node</code></td><td width="" align="left"><code><a href="#method_getNode">getNode</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.w3c.dom.Node</code></td><td width="" align="left"><code><a href="#method_getParent">getParent</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_getProposals">getProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected ITextRegion</code></td><td width="" align="left"><code><a href="#method_getRegion">getRegion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code><a href="#method_getReplacementBeginPosition">getReplacementBeginPosition</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code><a href="#method_getReplacementLength">getReplacementLength</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code><a href="#method_getStartOffset">getStartOffset</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xsl.core.model.StylesheetModel</code></td><td width="" align="left"><code><a href="#method_getStylesheetModel">getStylesheetModel</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.lang.String</code></td><td width="" align="left"><code><a href="#method_getText">getText</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected int</code></td><td width="" align="left"><code><a href="#method_getTextEndOffset">getTextEndOffset</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected boolean</code></td><td width="" align="left"><code><a href="#method_hasNodes">hasNodes</a>(org.w3c.dom.NodeList nodes)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Checks to make sure that the NodeList has data</td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_setDocumentRegion">setDocumentRegion</a>(IStructuredDocumentRegion region)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_setMatchString">setMatchString</a>(java.lang.String newMatchString)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_setNode">setNode</a>(org.w3c.dom.Node newNode)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_setRegion">setRegion</a>(ITextRegion newRegion)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_setReplacementBeginPosition">setReplacementBeginPosition</a>(int newReplacementBeginPosition)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_setReplacementLength">setReplacementLength</a>(int newReplacementLength)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_sortProposals">sortProposals</a>(java.util.ArrayList proposalsIn)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_toString">toString</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_documentRegion">documentRegion</a></h2><p><code>protected IStructuredDocumentRegion <strong>documentRegion</strong></code></p><hr><h2><a name="field_macros">macros</a></h2><p><code>protected java.util.ArrayList <strong>macros</strong></code></p><hr><h2><a name="field_matchString">matchString</a></h2><p><code>protected java.lang.String <strong>matchString</strong></code></p><hr><h2><a name="field_node">node</a></h2><p><code>protected org.w3c.dom.Node <strong>node</strong></code></p><hr><h2><a name="field_proposals">proposals</a></h2><p><code>protected java.util.ArrayList <strong>proposals</strong></code></p><hr><h2><a name="field_region">region</a></h2><p><code>protected ITextRegion <strong>region</strong></code></p><hr><h2><a name="field_replacementBeginPosition">replacementBeginPosition</a></h2><p><code>protected int <strong>replacementBeginPosition</strong></code></p><hr><h2><a name="field_replacementLength">replacementLength</a></h2><p><code>protected int <strong>replacementLength</strong></code></p><hr><h2><a name="field_textViewer">textViewer</a></h2><p><code>protected ITextViewer <strong>textViewer</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_AbstractXSLContentAssistRequest">AbstractXSLContentAssistRequest</a></h2><p><code>public <strong>AbstractXSLContentAssistRequest</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p>Handles Content Assistance requests for Select Attributes.  This is called an instantiated
+ through the use of the computeProposals method from the XSLContentAssistProcessor.  It will
+ calculate the available proposals that are available for the XSL select attribute.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addMacro">addMacro</a></h2><p><code>protected void <strong>addMacro</strong>(ICompletionProposal newProposal)</code></p><p></p><h3>Parameters</h3><p><code>newProposal</code></p><hr><h2><a name="method_addProposal">addProposal</a></h2><p><code>protected void <strong>addProposal</strong>(ICompletionProposal newProposal)</code></p><p></p><h3>Parameters</h3><p><code>newProposal</code></p><hr><h2><a name="method_getAllCompletionProposals">getAllCompletionProposals</a></h2><p><code>protected java.util.ArrayList <strong>getAllCompletionProposals</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>Returns a list of proposals.  Implementations are to provide the appropriate
+ implementation for the proposals they would like to return.   Use of the getAllCompletionProposals
+ should be used to return the actual proposals from this method.</p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr><h2><a name="method_getCursorPosition">getCursorPosition</a></h2><p><code>protected int <strong>getCursorPosition</strong>()</code></p><p>Get the cursor position within the Text Viewer</p><h3>Returns</h3><p><code>int</code> - An int value containing the cursor position</p><hr><h2><a name="method_getDocumentRegion">getDocumentRegion</a></h2><p><code>protected IStructuredDocumentRegion <strong>getDocumentRegion</strong>()</code></p><p></p><h3>Returns</h3><p><code>IStructuredDocumentRegion</code></p><hr><h2><a name="method_getLocation">getLocation</a></h2><p><code>protected java.lang.String <strong>getLocation</strong>()</code></p><p>Retrieves the base location for the IDOMDocument for this class. This is
+ used to populate a new Path class for retrieving an IFile instance.</p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getMacros">getMacros</a></h2><p><code>protected java.util.List <strong>getMacros</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getMatchString">getMatchString</a></h2><p><code>protected java.lang.String <strong>getMatchString</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNamespaces">getNamespaces</a></h2><p><code>protected java.util.Collection <strong>getNamespaces</strong>(IDOMElement element)</code></p><p></p><h3>Parameters</h3><p><code>element</code></p><h3>Returns</h3><p><code>java.util.Collection</code></p><hr><h2><a name="method_getNode">getNode</a></h2><p><code>protected org.w3c.dom.Node <strong>getNode</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.w3c.dom.Node</code></p><hr><h2><a name="method_getParent">getParent</a></h2><p><code>protected org.w3c.dom.Node <strong>getParent</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.w3c.dom.Node</code></p><hr><h2><a name="method_getProposals">getProposals</a></h2><p><code>protected java.util.List <strong>getProposals</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getRegion">getRegion</a></h2><p><code>protected ITextRegion <strong>getRegion</strong>()</code></p><p></p><h3>Returns</h3><p><code>ITextRegion</code></p><hr><h2><a name="method_getReplacementBeginPosition">getReplacementBeginPosition</a></h2><p><code>protected int <strong>getReplacementBeginPosition</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getReplacementLength">getReplacementLength</a></h2><p><code>protected int <strong>getReplacementLength</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getStartOffset">getStartOffset</a></h2><p><code>protected int <strong>getStartOffset</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getStylesheetModel">getStylesheetModel</a></h2><p><code>protected org.eclipse.wst.xsl.core.model.StylesheetModel <strong>getStylesheetModel</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xsl.core.model.StylesheetModel</code></p><hr><h2><a name="method_getText">getText</a></h2><p><code>protected java.lang.String <strong>getText</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getTextEndOffset">getTextEndOffset</a></h2><p><code>protected int <strong>getTextEndOffset</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_hasNodes">hasNodes</a></h2><p><code>protected boolean <strong>hasNodes</strong>(org.w3c.dom.NodeList nodes)</code></p><p>Checks to make sure that the NodeList has data</p><h3>Parameters</h3><p><code>nodes</code> - A NodeList object</p><h3>Returns</h3><p><code>boolean</code> - True if has data, false if empty</p><hr><h2><a name="method_setDocumentRegion">setDocumentRegion</a></h2><p><code>protected void <strong>setDocumentRegion</strong>(IStructuredDocumentRegion region)</code></p><p></p><h3>Parameters</h3><p><code>region</code></p><hr><h2><a name="method_setMatchString">setMatchString</a></h2><p><code>protected void <strong>setMatchString</strong>(java.lang.String newMatchString)</code></p><p></p><h3>Parameters</h3><p><code>newMatchString</code></p><hr><h2><a name="method_setNode">setNode</a></h2><p><code>protected void <strong>setNode</strong>(org.w3c.dom.Node newNode)</code></p><p></p><h3>Parameters</h3><p><code>newNode</code></p><hr><h2><a name="method_setRegion">setRegion</a></h2><p><code>protected void <strong>setRegion</strong>(ITextRegion newRegion)</code></p><p></p><h3>Parameters</h3><p><code>newRegion</code></p><hr><h2><a name="method_setReplacementBeginPosition">setReplacementBeginPosition</a></h2><p><code>protected void <strong>setReplacementBeginPosition</strong>(int newReplacementBeginPosition)</code></p><p></p><h3>Parameters</h3><p><code>newReplacementBeginPosition</code></p><hr><h2><a name="method_setReplacementLength">setReplacementLength</a></h2><p><code>protected void <strong>setReplacementLength</strong>(int newReplacementLength)</code></p><p></p><h3>Parameters</h3><p><code>newReplacementLength</code></p><hr><h2><a name="method_sortProposals">sortProposals</a></h2><p><code>protected java.util.ArrayList <strong>sortProposals</strong>(java.util.ArrayList proposalsIn)</code></p><p></p><h3>Parameters</h3><p><code>proposalsIn</code></p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr><h2><a name="method_toString">toString</a></h2><p><code>public java.lang.String <strong>toString</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code> - java.lang.String</p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal.html
new file mode 100644
index 0000000..d624496
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal.html
@@ -0,0 +1,77 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font><br>
+               Class CustomCompletionProposal</h2><br><hr><pre>public class <strong>CustomCompletionProposal</strong>
+extends org.eclipse.wst.sse.ui.internal.contentassist.CustomCompletionProposal</pre>Adopters can use the class to help build a custom content completion proposal.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_CustomCompletionProposal">CustomCompletionProposal</a></strong>(java.lang.String replacementString
+         ,
+      int replacementOffset
+         ,
+      int replacementLength
+         ,
+      int cursorPosition
+         ,
+      Image image
+         ,
+      java.lang.String displayString
+         ,
+      IContextInformation contextInformation
+         ,
+      java.lang.String additionalProposalInfo
+         ,
+      int relevance)</code></td></tr><tr><td><code><strong><a href="#con_CustomCompletionProposal">CustomCompletionProposal</a></strong>(java.lang.String replacementString
+         ,
+      int replacementOffset
+         ,
+      int replacementLength
+         ,
+      int cursorPosition
+         ,
+      Image image
+         ,
+      java.lang.String displayString
+         ,
+      IContextInformation contextInformation
+         ,
+      java.lang.String additionalProposalInfo
+         ,
+      int relevance
+         ,
+      boolean updateReplacementLengthOnValidate)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_isAutoInsertable">isAutoInsertable</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               (non-Javadoc)</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_CustomCompletionProposal">CustomCompletionProposal</a></h2><p><code>public <strong>CustomCompletionProposal</strong>(java.lang.String replacementString
+         ,
+      int replacementOffset
+         ,
+      int replacementLength
+         ,
+      int cursorPosition
+         ,
+      Image image
+         ,
+      java.lang.String displayString
+         ,
+      IContextInformation contextInformation
+         ,
+      java.lang.String additionalProposalInfo
+         ,
+      int relevance)</code></p><p>Constructor for the Custom Completion Proposal</p><hr><h2><a name="con_CustomCompletionProposal">CustomCompletionProposal</a></h2><p><code>public <strong>CustomCompletionProposal</strong>(java.lang.String replacementString
+         ,
+      int replacementOffset
+         ,
+      int replacementLength
+         ,
+      int cursorPosition
+         ,
+      Image image
+         ,
+      java.lang.String displayString
+         ,
+      IContextInformation contextInformation
+         ,
+      java.lang.String additionalProposalInfo
+         ,
+      int relevance
+         ,
+      boolean updateReplacementLengthOnValidate)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_isAutoInsertable">isAutoInsertable</a></h2><p><code>public boolean <strong>isAutoInsertable</strong>()</code></p><p>(non-Javadoc)</p><h3>Returns</h3><p><code>boolean</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest.html
new file mode 100644
index 0000000..97c752b
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest.html
@@ -0,0 +1,7 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font><br>
+               Class IContentAssistProposalRequest</h2><br><hr><pre>public class <strong>IContentAssistProposalRequest</strong>
+extends </pre>Provides content assistance ICompletionProposals.<p></p><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Completion Proposals for a Content Assist Request.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p>Completion Proposals for a Content Assist Request.</p><h3>Returns</h3><p><code>java.util.ArrayList</code> - ArrayLlist<ICompletionProposal></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.IXSLContentAssistProcessor.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.IXSLContentAssistProcessor.html
new file mode 100644
index 0000000..13ca7f5
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.IXSLContentAssistProcessor.html
@@ -0,0 +1,11 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font><br>
+               Class IXSLContentAssistProcessor</h2><br><hr><pre>public class <strong>IXSLContentAssistProcessor</strong>
+extends </pre><p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getMaximumVersion">getMaximumVersion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getMinimumVersion">getMinimumVersion</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getNamespaces">getNamespaces</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               ArrayList of Strings for the namespaces this processor activates against.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getMaximumVersion">getMaximumVersion</a></h2><p><code>public java.lang.String <strong>getMaximumVersion</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getMinimumVersion">getMinimumVersion</a></h2><p><code>public java.lang.String <strong>getMinimumVersion</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getNamespaces">getNamespaces</a></h2><p><code>public java.util.ArrayList <strong>getNamespaces</strong>()</code></p><p>ArrayList of Strings for the namespaces this processor activates against.</p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.NullContentAssistRequest.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.NullContentAssistRequest.html
new file mode 100644
index 0000000..44e0407
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.NullContentAssistRequest.html
@@ -0,0 +1,33 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.ui.provisional.contentassist</strong></font><br>
+               Class NullContentAssistRequest</h2><br><hr><pre>public class <strong>NullContentAssistRequest</strong>
+extends org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest</pre>An empty content assist request.<p></p><p></p><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_NullContentAssistRequest">NullContentAssistRequest</a></strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ArrayList</code></td><td width="" align="left"><code><a href="#method_getCompletionProposals">getCompletionProposals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_NullContentAssistRequest">NullContentAssistRequest</a></h2><p><code>public <strong>NullContentAssistRequest</strong>(org.w3c.dom.Node node
+         ,
+      IStructuredDocumentRegion documentRegion
+         ,
+      ITextRegion completionRegion
+         ,
+      int begin
+         ,
+      int length
+         ,
+      java.lang.String filter
+         ,
+      ITextViewer textViewer)</code></p><p>A NULL ContentAssistRequest has no proposals.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCompletionProposals">getCompletionProposals</a></h2><p><code>public java.util.ArrayList <strong>getCompletionProposals</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ArrayList</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanDebugger.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanDebugger.html
new file mode 100644
index 0000000..0ab15b6
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanDebugger.html
@@ -0,0 +1,17 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.xalan.debugger</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.xalan.debugger</strong></font><br>
+               Class XalanDebugger</h2><br><hr><pre>public class <strong>XalanDebugger</strong>
+extends AbstractDebugger</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XalanDebugger">XalanDebugger</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addTransformer">addTransformer</a>(javax.xml.transform.Transformer transformer)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_debuggerSuspended">debuggerSuspended</a>(BreakPoint breakpoint)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public Variable</code></td><td width="" align="left"><code><a href="#method_getVariable">getVariable</a>(int id)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Gets a variable by ID</td></tr><tr valign="top"><td width="20%" align="right"><code>package-private void</code></td><td width="" align="left"><code><a href="#method_setCurrentTraceListener">setCurrentTraceListener</a>(org.eclipse.wst.xsl.xalan.debugger.XalanTraceListener currentTraceListener)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_setTransformerFactory">setTransformerFactory</a>(javax.xml.transform.TransformerFactory factory)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XalanDebugger">XalanDebugger</a></h2><p><code>public <strong>XalanDebugger</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addTransformer">addTransformer</a></h2><p><code>public void <strong>addTransformer</strong>(javax.xml.transform.Transformer transformer)</code></p><p></p><h3>Parameters</h3><p><code>transformer</code></p><hr><h2><a name="method_debuggerSuspended">debuggerSuspended</a></h2><p><code>public void <strong>debuggerSuspended</strong>(BreakPoint breakpoint)</code></p><p></p><h3>Parameters</h3><p><code>breakpoint</code></p><hr><h2><a name="method_getVariable">getVariable</a></h2><p><code>public Variable <strong>getVariable</strong>(int id)</code></p><p>Gets a variable by ID</p><h3>Parameters</h3><p><code>id</code></p><h3>Returns</h3><p><code>Variable</code></p><hr><h2><a name="method_setCurrentTraceListener">setCurrentTraceListener</a></h2><p><code>package-private void <strong>setCurrentTraceListener</strong>(org.eclipse.wst.xsl.xalan.debugger.XalanTraceListener currentTraceListener)</code></p><p></p><h3>Parameters</h3><p><code>currentTraceListener</code></p><hr><h2><a name="method_setTransformerFactory">setTransformerFactory</a></h2><p><code>public void <strong>setTransformerFactory</strong>(javax.xml.transform.TransformerFactory factory)</code></p><p></p><h3>Parameters</h3><p><code>factory</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanPrintTraceListener.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanPrintTraceListener.html
new file mode 100644
index 0000000..b0f1739
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanPrintTraceListener.html
@@ -0,0 +1,17 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.xalan.debugger</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.xalan.debugger</strong></font><br>
+               Class XalanPrintTraceListener</h2><br><hr><pre>public class <strong>XalanPrintTraceListener</strong>
+extends org.apache.xalan.trace.PrintTraceListener</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XalanPrintTraceListener">XalanPrintTraceListener</a></strong>(java.io.PrintWriter pw)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method__trace">_trace</a>(org.apache.xalan.trace.TracerEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_selected">selected</a>(org.apache.xalan.trace.SelectionEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_selectEnd">selectEnd</a>(org.apache.xalan.trace.EndSelectionEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_trace">trace</a>(org.apache.xalan.trace.TracerEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_traceEnd">traceEnd</a>(org.apache.xalan.trace.TracerEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XalanPrintTraceListener">XalanPrintTraceListener</a></h2><p><code>public <strong>XalanPrintTraceListener</strong>(java.io.PrintWriter pw)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method__trace">_trace</a></h2><p><code>public void <strong>_trace</strong>(org.apache.xalan.trace.TracerEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><hr><h2><a name="method_selected">selected</a></h2><p><code>public void <strong>selected</strong>(org.apache.xalan.trace.SelectionEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_selectEnd">selectEnd</a></h2><p><code>public void <strong>selectEnd</strong>(org.apache.xalan.trace.EndSelectionEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_trace">trace</a></h2><p><code>public void <strong>trace</strong>(org.apache.xalan.trace.TracerEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><hr><h2><a name="method_traceEnd">traceEnd</a></h2><p><code>public void <strong>traceEnd</strong>(org.apache.xalan.trace.TracerEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanRootStyleFrame.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanRootStyleFrame.html
new file mode 100644
index 0000000..e94383c
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanRootStyleFrame.html
@@ -0,0 +1,13 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.xalan.debugger</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.xalan.debugger</strong></font><br>
+               Class XalanRootStyleFrame</h2><br><hr><pre>public class <strong>XalanRootStyleFrame</strong>
+extends org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XalanRootStyleFrame">XalanRootStyleFrame</a></strong>(org.apache.xalan.trace.TracerEvent event)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_addVariable">addVariable</a>(org.eclipse.wst.xsl.xalan.debugger.XalanVariable xvar)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_getGlobals">getGlobals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public Variable</code></td><td width="" align="left"><code><a href="#method_getVariable">getVariable</a>(int id)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               Gets a Variable by ID</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XalanRootStyleFrame">XalanRootStyleFrame</a></h2><p><code>public <strong>XalanRootStyleFrame</strong>(org.apache.xalan.trace.TracerEvent event)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_addVariable">addVariable</a></h2><p><code>public void <strong>addVariable</strong>(org.eclipse.wst.xsl.xalan.debugger.XalanVariable xvar)</code></p><p></p><h3>Parameters</h3><p><code>xvar</code></p><hr><h2><a name="method_getGlobals">getGlobals</a></h2><p><code>protected java.util.List <strong>getGlobals</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getVariable">getVariable</a></h2><p><code>public Variable <strong>getVariable</strong>(int id)</code></p><p>Gets a Variable by ID</p><h3>Parameters</h3><p><code>id</code></p><h3>Returns</h3><p><code>Variable</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame.html
new file mode 100644
index 0000000..0023039
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame.html
@@ -0,0 +1,35 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.xalan.debugger</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.xalan.debugger</strong></font><br>
+               Class XalanStyleFrame</h2><br><hr><pre>public class <strong>XalanStyleFrame</strong>
+extends StyleFrame</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private org.apache.xalan.trace.TracerEvent</code></td><td width="80%" align="left"><code><a href="#field_event">event</a></code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XalanStyleFrame">XalanStyleFrame</a></strong>(StyleFrame parent
+         ,
+      org.apache.xalan.trace.TracerEvent event)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getCurrentLine">getCurrentLine</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getFilename">getFilename</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>protected java.util.List</code></td><td width="" align="left"><code><a href="#method_getGlobals">getGlobals</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getName">getName</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_getSourceCurrentLine">getSourceCurrentLine</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getSourceFilename">getSourceFilename</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.List</code></td><td width="" align="left"><code><a href="#method_getVariableStack">getVariableStack</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xalan.trace.TracerEvent</code></td><td width="" align="left"><code><a href="#method_peekElement">peekElement</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xalan.trace.TracerEvent</code></td><td width="" align="left"><code><a href="#method_popElement">popElement</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_pushElement">pushElement</a>(org.apache.xalan.trace.TracerEvent e)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Field Detail
+               </h2></td></tr></table><h2><a name="field_event">event</a></h2><p><code>package-private org.apache.xalan.trace.TracerEvent <strong>event</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XalanStyleFrame">XalanStyleFrame</a></h2><p><code>public <strong>XalanStyleFrame</strong>(StyleFrame parent
+         ,
+      org.apache.xalan.trace.TracerEvent event)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_getCurrentLine">getCurrentLine</a></h2><p><code>public int <strong>getCurrentLine</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getFilename">getFilename</a></h2><p><code>public java.lang.String <strong>getFilename</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getGlobals">getGlobals</a></h2><p><code>protected java.util.List <strong>getGlobals</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_getName">getName</a></h2><p><code>public java.lang.String <strong>getName</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getSourceCurrentLine">getSourceCurrentLine</a></h2><p><code>public int <strong>getSourceCurrentLine</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getSourceFilename">getSourceFilename</a></h2><p><code>public java.lang.String <strong>getSourceFilename</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getVariableStack">getVariableStack</a></h2><p><code>public java.util.List <strong>getVariableStack</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.List</code></p><hr><h2><a name="method_peekElement">peekElement</a></h2><p><code>public org.apache.xalan.trace.TracerEvent <strong>peekElement</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.apache.xalan.trace.TracerEvent</code></p><hr><h2><a name="method_popElement">popElement</a></h2><p><code>public org.apache.xalan.trace.TracerEvent <strong>popElement</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.apache.xalan.trace.TracerEvent</code></p><hr><h2><a name="method_pushElement">pushElement</a></h2><p><code>public void <strong>pushElement</strong>(org.apache.xalan.trace.TracerEvent e)</code></p><p></p><h3>Parameters</h3><p><code>e</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanTraceListener.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanTraceListener.html
new file mode 100644
index 0000000..062e7e5
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanTraceListener.html
@@ -0,0 +1,23 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.xalan.debugger</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.xalan.debugger</strong></font><br>
+               Class XalanTraceListener</h2><br><hr><pre>public class <strong>XalanTraceListener</strong>
+extends java.lang.Object</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XalanTraceListener">XalanTraceListener</a></strong>(org.eclipse.wst.xsl.xalan.debugger.XalanDebugger debugger)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_extension">extension</a>(org.apache.xalan.trace.ExtensionEvent ee)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_extensionEnd">extensionEnd</a>(org.apache.xalan.trace.ExtensionEvent ee)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_generated">generated</a>(org.apache.xalan.trace.GenerateEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public Variable</code></td><td width="" align="left"><code><a href="#method_getVariable">getVariable</a>(int id)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_selected">selected</a>(org.apache.xalan.trace.SelectionEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_selectEnd">selectEnd</a>(org.apache.xalan.trace.EndSelectionEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_trace">trace</a>(org.apache.xalan.trace.TracerEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_traceEnd">traceEnd</a>(org.apache.xalan.trace.TracerEvent ev)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XalanTraceListener">XalanTraceListener</a></h2><p><code>public <strong>XalanTraceListener</strong>(org.eclipse.wst.xsl.xalan.debugger.XalanDebugger debugger)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_extension">extension</a></h2><p><code>public void <strong>extension</strong>(org.apache.xalan.trace.ExtensionEvent ee)</code></p><p></p><h3>Parameters</h3><p><code>ee</code></p><hr><h2><a name="method_extensionEnd">extensionEnd</a></h2><p><code>public void <strong>extensionEnd</strong>(org.apache.xalan.trace.ExtensionEvent ee)</code></p><p></p><h3>Parameters</h3><p><code>ee</code></p><hr><h2><a name="method_generated">generated</a></h2><p><code>public void <strong>generated</strong>(org.apache.xalan.trace.GenerateEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><hr><h2><a name="method_getVariable">getVariable</a></h2><p><code>public Variable <strong>getVariable</strong>(int id)</code></p><p></p><h3>Parameters</h3><p><code>id</code></p><h3>Returns</h3><p><code>Variable</code></p><hr><h2><a name="method_selected">selected</a></h2><p><code>public void <strong>selected</strong>(org.apache.xalan.trace.SelectionEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_selectEnd">selectEnd</a></h2><p><code>public void <strong>selectEnd</strong>(org.apache.xalan.trace.EndSelectionEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><h3>Throws:</h3><p><code>javax.xml.transform.TransformerException</code></p><hr><h2><a name="method_trace">trace</a></h2><p><code>public void <strong>trace</strong>(org.apache.xalan.trace.TracerEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><hr><h2><a name="method_traceEnd">traceEnd</a></h2><p><code>public void <strong>traceEnd</strong>(org.apache.xalan.trace.TracerEvent ev)</code></p><p></p><h3>Parameters</h3><p><code>ev</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanVariable.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanVariable.html
new file mode 100644
index 0000000..6c753ad
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanVariable.html
@@ -0,0 +1,29 @@
+<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xsl.xalan.debugger</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xsl.xalan.debugger</strong></font><br>
+               Class XalanVariable</h2><br><hr><pre>public class <strong>XalanVariable</strong>
+extends Variable</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XalanVariable">XalanVariable</a></strong>(org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame xalanStyleFrame
+         ,
+      org.apache.xpath.VariableStack varStack
+         ,
+      java.lang.String scope
+         ,
+      int slotNumber
+         ,
+      org.apache.xalan.templates.ElemVariable elemVariable)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_compareTo">compareTo</a>(java.lang.Object arg0)</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getType">getType</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_getValue">getValue</a>()</code><br>
+               &nbsp;&nbsp;&nbsp;&nbsp;
+               </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Constructor Detail
+               </h2></td></tr></table><h2><a name="con_XalanVariable">XalanVariable</a></h2><p><code>public <strong>XalanVariable</strong>(org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame xalanStyleFrame
+         ,
+      org.apache.xpath.VariableStack varStack
+         ,
+      java.lang.String scope
+         ,
+      int slotNumber
+         ,
+      org.apache.xalan.templates.ElemVariable elemVariable)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
+                  Methods Detail
+               </h2></td></tr></table><h2><a name="method_compareTo">compareTo</a></h2><p><code>public int <strong>compareTo</strong>(java.lang.Object arg0)</code></p><p></p><h3>Parameters</h3><p><code>arg0</code></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_getType">getType</a></h2><p><code>public java.lang.String <strong>getType</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_getValue">getValue</a></h2><p><code>public java.lang.String <strong>getValue</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr></body></html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/toc.html b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/toc.html
new file mode 100644
index 0000000..326f0a9
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/html/toc.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+	<title>Table of Contents</title>
+</head>
+
+<body>
+<h1>Table of Contents</h1>
+Please enter your text here.
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/jeltohtml.xsl b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/jeltohtml.xsl
new file mode 100644
index 0000000..34af00f
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/jeltohtml.xsl
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*******************************************************************************
+ * Copyright (c) 2008 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver - bug 231472 - initial API and implementation
+ *******************************************************************************/
+
+ -->
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:redirect="http://xml.apache.org/xalan/redirect"
+                extension-element-prefixes="redirect">
+    <xsl:output encoding="UTF-8" method="html" indent="no" omit-xml-declaration="yes"/>
+    
+    <!-- Create the HTML structure -->
+	<xsl:template match="/">
+   		<xsl:apply-templates select="//jelclass"/>
+	</xsl:template>
+   
+    <!-- This is the main work horse that does the general layout for the class page -->
+    <xsl:template match="jelclass">
+      <xsl:variable name="outputFile">
+        <xsl:value-of select="@fulltype"/>
+        <xsl:text>.html</xsl:text>
+      </xsl:variable>
+      <xsl:message terminate="no">
+         <xsl:text>Generating JavaDoc for </xsl:text>
+         <xsl:value-of select="@fulltype"/>
+         <xsl:text>.</xsl:text>
+      </xsl:message>
+      <redirect:write select="$outputFile">
+       <html>
+         <body>
+            <p>
+               <font size="+1"><strong>Package <xsl:value-of select="@package"/></strong></font>
+            </p>
+            <hr/>
+            <h2>
+               <font size="-1"><strong><xsl:value-of select="@package"/></strong></font><br/>
+               Class <xsl:value-of select="@type"/>
+            </h2>
+            <br/>
+            <hr/>
+            <xsl:call-template name="format-header"/>
+            <xsl:apply-templates select="comment/description"/>
+            <xsl:apply-templates select="comment/attribute"/>
+            <hr/>
+            <xsl:if test="descendant::fields">
+               <table border="1" width="100%">
+                  <tr bgcolor="#CCCCFF" cols="2">
+                     <td width="100%" colspan="2"><h2>Field Summary</h2></td>
+                  </tr>
+                  <xsl:apply-templates select="fields/field" mode="summary">
+                     <xsl:sort select="@name" order="ascending"/>
+                  </xsl:apply-templates>
+               </table>
+               <br/>
+            </xsl:if>
+            <xsl:if test="descendant::constructor">
+               <table border="1" width="100%">
+                  <tr bgcolor="#CCCCFF">
+                     <td width="100%"><h2>Constructor Summary</h2></td>
+                  </tr>
+                  <xsl:apply-templates select="descendant::constructor" mode="summary">
+                     <xsl:sort select="@name" order="ascending"/>
+                  </xsl:apply-templates>
+               </table>
+               <br/>
+            </xsl:if>
+            <xsl:if test="descendant::methods">
+               <table border="1" width="100%">
+                  <tr bgcolor="#CCCCFF" cols="2">
+                     <td width="100%" colspan="2"><h2>Method Summary</h2></td>
+                  </tr>
+                  <xsl:apply-templates select="methods/method" mode="summary">
+                     <xsl:sort select="@name" order="ascending"/>
+                  </xsl:apply-templates>
+               </table>
+            </xsl:if>
+            <hr/>
+            <xsl:if test="fields">
+               <xsl:call-template name="fieldDetail"/>
+            </xsl:if>
+            <xsl:if test="methods/constructor">
+               <xsl:call-template name="constructorDetail"/>
+            </xsl:if>
+            <xsl:if test="methods/method">
+               <xsl:call-template name="methodsDetail"/>
+            </xsl:if>
+           </body>
+         </html>
+      </redirect:write>
+    </xsl:template>
+    
+    <!-- Output any description that may be there for comments. -->
+    <xsl:template match="comment/description">
+            <xsl:value-of select="." disable-output-escaping="yes"/>
+    </xsl:template>
+    
+    <!-- Output the various attribute information for the class -->
+    <xsl:template match="comment/attribute">
+         <p>
+            <xsl:choose>
+               <xsl:when test="@author">
+                  <strong>Author:</strong><br/>
+                  <xsl:value-of select="description" disable-output-escaping="yes"/> 
+               </xsl:when>
+               <xsl:when test="@see">
+                  <strong>See Also:</strong><br/>
+                     <xsl:value-of select="description" disable-output-escaping="yes"/>
+               </xsl:when>
+            </xsl:choose>
+         </p>
+    </xsl:template>
+
+
+        <!-- Create the field summary rows -->
+    <xsl:template match="field" mode="summary">
+         <tr valign="top">
+            <td align="right" width="20%">
+               <code>
+                  <xsl:value-of select="@visibility"/>
+                  <xsl:if test="@static = 'true'">
+                     <xsl:text> static </xsl:text>
+                  </xsl:if>
+                  <xsl:text> </xsl:text>
+                  <xsl:value-of select="@fulltype"/>                     
+               </code>
+            </td>
+            <td align="left" width="80%">
+               <code>
+                  <a href="#field_{@name}">
+                  <xsl:value-of select="@name"/>
+                  </a>
+               </code>
+               <br/>
+               &#160;&#160;&#160;&#160;
+               <xsl:value-of select="comment/description"/>
+            </td>
+         </tr>
+    </xsl:template>
+    
+    
+    <!-- Create the constructors rows -->
+    <xsl:template match="constructor" mode="summary">
+         <tr>
+            <td>
+               <code>
+                  <strong>
+                    <a href="#con_{@name}">
+                     <xsl:value-of select="@name"/>
+                    </a>
+                  </strong>                     
+                  <xsl:text>(</xsl:text>
+                  <xsl:if test="params">
+                     <xsl:apply-templates select="params/param"/>
+                  </xsl:if>
+                  <xsl:text>)</xsl:text>
+               </code>
+            </td>
+         </tr>
+    </xsl:template>
+    
+    
+    <xsl:template match="param">
+      <xsl:value-of select="@fulltype"/><xsl:text> </xsl:text><xsl:value-of select="@name"/>
+      <xsl:if test="position() != last()">
+         ,
+      </xsl:if>
+    </xsl:template>
+    
+    <!-- Create the method summary rows -->
+    <xsl:template match="method" mode="summary">
+         <tr valign="top">
+            <td align="right" width="20%">
+               <code>
+                  <xsl:value-of select="@visibility"/>
+                  <xsl:if test="@static = 'true'">
+                     <xsl:text> static</xsl:text>
+                  </xsl:if>
+                  <xsl:text> </xsl:text>
+                  <xsl:value-of select="@fulltype"/>                     
+               </code>
+            </td>
+            <td align="left" width="">
+               <code>
+                  <a href="#method_{@name}">
+                  <xsl:value-of select="@name"/>
+                  </a>
+                  <xsl:text>(</xsl:text>
+                  <xsl:if test="params">
+                     <xsl:apply-templates select="params/param"/>
+                  </xsl:if>
+                  <xsl:text>)</xsl:text>
+               </code>
+               <br/>
+               &#160;&#160;&#160;&#160;
+               <xsl:apply-templates select="comment/description"/>
+            </td>
+         </tr>
+    </xsl:template>
+    
+    
+    <xsl:template name="format-header">
+         <pre>
+<xsl:value-of select="@visibility"/> class <strong><xsl:value-of select="@type"/></strong>
+extends <xsl:value-of select="@superclassfulltype"/>
+         </pre>
+    </xsl:template>
+    
+    <xsl:template name="fieldDetail">
+      <table border="1" width="100%" cols="2">
+         <tr align="left" bgcolor="#CCCCFF" width="100%" colspan="2">
+            <td>
+               <h2>
+                  Field Detail
+               </h2>
+            </td>
+         </tr>
+      </table>
+      <xsl:apply-templates select="fields/field" mode="detail">
+         <xsl:sort select="@name" order="ascending"/>
+      </xsl:apply-templates>
+    </xsl:template>
+    
+    <xsl:template match="fields/field" mode="detail">
+      <h2>
+         <a name="field_{@name}">
+            <xsl:value-of select="@name"/>
+         </a>
+      </h2>
+      <p>
+         <code>
+            <xsl:value-of select="@visibility"/>
+            <xsl:if test="@static = 'true'">
+               <xsl:text> static </xsl:text>
+            </xsl:if>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="@fulltype"/>
+            <xsl:text> </xsl:text>
+            <strong>
+               <xsl:value-of select="@name"/>
+            </strong>                   
+         </code>
+      </p>
+      <xsl:if test="comment">
+         <table>
+            <tr>
+              <td>
+                  <xsl:apply-templates select="comment/description"/>
+              </td>
+            </tr>
+         </table>
+      </xsl:if>
+      <hr/>
+      
+    </xsl:template>
+    
+    <xsl:template name="constructorDetail">
+      <table border="1" width="100%" cols="2">
+         <tr align="left" bgcolor="#CCCCFF" width="100%" colspan="2">
+            <td>
+               <h2>
+                  Constructor Detail
+               </h2>
+            </td>
+         </tr>
+      </table>
+      <xsl:apply-templates select="methods/constructor" mode="detail">
+         <xsl:sort select="@name" order="ascending"/>
+      </xsl:apply-templates>
+    </xsl:template>
+    
+    <xsl:template match="methods/constructor" mode="detail">
+      <h2>
+         <a name="con_{@name}"><xsl:value-of select="@name"/></a>
+      </h2>
+      <p>
+         <code>
+            <xsl:value-of select="@visibility"/>
+            <xsl:text> </xsl:text>
+            <strong>
+               <xsl:value-of select="@name"/>
+            </strong>
+            <xsl:text>(</xsl:text>
+            <xsl:if test="params">
+               <xsl:apply-templates select="params/param"/>
+            </xsl:if>
+            <xsl:text>)</xsl:text>
+         </code>
+      </p>
+      <p>
+         <xsl:apply-templates select="comment/description"/>
+      </p>
+      <hr/>
+      
+    </xsl:template>
+    
+    <xsl:template name="methodsDetail">
+      <table border="1" width="100%" cols="2">
+         <tr align="left" bgcolor="#CCCCFF" width="100%" colspan="2">
+            <td>
+               <h2>
+                  Methods Detail
+               </h2>
+            </td>
+         </tr>
+      </table>
+      <xsl:apply-templates select="methods/method" mode="detail">
+         <xsl:sort select="@name" order="ascending"/>
+      </xsl:apply-templates>
+    </xsl:template>
+    
+    <xsl:template match="methods/method" mode="detail">
+      <h2>
+         <a name="method_{@name}">
+            <xsl:value-of select="@name"/>
+         </a>
+      </h2>
+      <p>
+         <code>
+            <xsl:value-of select="@visibility"/>
+            <xsl:text> </xsl:text>
+            <xsl:value-of select="@fulltype"/>
+            <xsl:text> </xsl:text>
+            <strong>
+               <xsl:value-of select="@name"/>
+            </strong>
+            <xsl:text>(</xsl:text>
+            <xsl:if test="params">
+               <xsl:apply-templates select="params/param"/>
+            </xsl:if>
+            <xsl:text>)</xsl:text>
+         </code>
+      </p>
+      <p>
+         <xsl:apply-templates select="comment/description"/>
+      </p>
+      <xsl:if test="params">
+         <h3>Parameters</h3>
+         <xsl:apply-templates select="params/param" mode="detail"/>
+      </xsl:if>
+      <xsl:if test="@type != 'void'">
+         <h3>Returns</h3>
+            <p>
+               <code>
+                  <xsl:value-of select="@fulltype"/>
+               </code>
+               <xsl:if test="string-length(@returncomment) > 0">
+                  <xsl:text> - </xsl:text>
+                  <xsl:value-of select="@returncomment" disable-output-escaping="yes"/>
+               </xsl:if>
+            </p>
+      </xsl:if>
+      <xsl:if test="exceptions">
+         <h3>Throws:</h3>
+         <xsl:apply-templates select="exceptions/exception" mode="detail"/>
+      </xsl:if>
+      <hr/>
+      
+    </xsl:template>
+    
+    <xsl:template match="param" mode="detail">
+         <p>
+            <code>
+               <xsl:value-of select="@name"/>
+            </code>
+            <xsl:if test="string-length(@comment) > 0">
+               <xsl:text> - </xsl:text>
+               <xsl:value-of select="@comment" disable-output-escaping="yes"/>
+            </xsl:if>
+         </p>
+    </xsl:template>
+    
+    <xsl:template match="exception" mode="detail">
+      <p>
+         <code>
+            <xsl:value-of select="@fulltype"/>
+            <xsl:if test="string-length(@comment) > 0">
+               <xsl:text> - </xsl:text>
+               <xsl:value-of select="@comment" disable-output-escaping="yes"/>
+            </xsl:if>
+         </code>
+      </p>
+    </xsl:template>
+       
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/jeltotoc.xsl b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/jeltotoc.xsl
new file mode 100644
index 0000000..38f5082
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/jeltotoc.xsl
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+/*******************************************************************************
+ * Copyright (c) 2008 Standards for Technology in Automotive Retail and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     David Carver - bug 231472 - initial API and implementation
+ *******************************************************************************/
+ -->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+   xmlns:set="http://exslt.org/sets"
+   xmlns:xalan="http://xml.apache.org/xalan"
+    exclude-result-prefixes="set xalan"
+>
+   <xsl:param name="sdkname">Some Name</xsl:param>
+   <xsl:param name="dir">doc/html</xsl:param>   
+   <xsl:output indent="yes" encoding="UTF-8" xalan:indent-amount="3"/>
+   <xsl:key name="allPackages" match="jelclass" use="@package"/>
+     
+   <xsl:template match="/jel">
+      <toc label="{$sdkname}">
+         <topic label="Reference">
+            <xsl:for-each select="set:distinct(jelclass/@package)">
+               <topic label="{.}">
+                  <xsl:apply-templates select="key('allPackages', .)"/>
+               </topic>
+            </xsl:for-each>
+         </topic>
+      </toc>
+   </xsl:template>
+   
+   <xsl:template match="jelclass">
+      <topic label="{@fulltype}" href="{$dir}/{@fulltype}.html"/>
+   </xsl:template>
+   
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/doc/schema.css b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/schema.css
new file mode 100644
index 0000000..fb2028d
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/doc/schema.css
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+H6.SchemaHeader {
+	font-size:16px; 
+	display:inline
+}
+
+P.SchemaCopyright {
+	font-size: smaller; 
+	font-style: normal;
+	color: #336699; 
+	display:inline;
+	margin-top: 3.000000pt;
+	margin-bottom: 11.000000pt;
+	margin-right: 0.000000pt;
+	margin-left: 0.000000pt;
+}
+
+P.SchemaDtd {
+	color: #800000; 
+	margin-top: 0.000000pt;
+	margin-bottom: 0.000000pt;
+	margin-right: 0.000000pt;
+	margin-left: 10.000000pt;
+}
+
+P.SchemaDtdAttlist {
+	color: #800000; 
+	margin-top: 0.000000pt;
+	margin-bottom: 0.000000pt;
+	margin-right: 0.000000pt;
+	margin-left: 20.000000pt;
+}
+
+span.SchemaTag {
+	color: #000080;
+}
+
+span.SchemaCstring {
+	color: #008000;
+}
+
+pre.Example {
+	margin-top: 0.000000pt;
+}
+
+.ConfigMarkupElementDesc {
+	color: black;
+	margin-top: 0.000000pt;
+	margin-bottom: 0.000000pt;
+	margin-right: 0.000000pt;
+	margin-left: 10.000000pt;
+}
+
+.ConfigMarkupAttlistDesc {
+	color: black;
+	margin-top: 0.000000pt;
+	margin-bottom: 0.000000pt;
+	margin-right: 0.000000pt;
+	margin-left: 32.000000pt;
+}
+
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/lib/.cvsignore b/docs/org.eclipse.wst.xsl.sdk.documentation/lib/.cvsignore
new file mode 100644
index 0000000..f38f5da
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/lib/.cvsignore
@@ -0,0 +1,2 @@
+jeldoclet.jar
+doccheck.jar
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/plugin.properties b/docs/org.eclipse.wst.xsl.sdk.documentation/plugin.properties
new file mode 100644
index 0000000..112e527
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/plugin.properties
@@ -0,0 +1,14 @@
+###############################################################################
+# Copyright (c) 2005, 2010 Standards for Technology in Automotive Retail and others
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     David Carver - STAR - bug 215126, 213853
+#     
+###############################################################################
+
+providerName=Eclipse Web Tools Platform
+pluginName=XSL SDK Documentation
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/plugin.xml b/docs/org.eclipse.wst.xsl.sdk.documentation/plugin.xml
new file mode 100644
index 0000000..1427912
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/plugin.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+
+   <extension
+         point="org.eclipse.help.toc">
+      <toc
+            file="toc.xml"
+            primary="true">
+      </toc>
+   </extension>
+
+</plugin>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/src/org/eclipse/wst/xsl/sdk/documentation/Activator.java b/docs/org.eclipse.wst.xsl.sdk.documentation/src/org/eclipse/wst/xsl/sdk/documentation/Activator.java
new file mode 100644
index 0000000..984e411
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/src/org/eclipse/wst/xsl/sdk/documentation/Activator.java
@@ -0,0 +1,50 @@
+package org.eclipse.wst.xsl.sdk.documentation;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends Plugin {
+
+	// The plug-in ID
+	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.sdk.documentation";
+
+	// The shared instance
+	private static Activator plugin;
+	
+	/**
+	 * The constructor
+	 */
+	public Activator() {
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext context) throws Exception {
+		super.start(context);
+		plugin = this;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext context) throws Exception {
+		plugin = null;
+		super.stop(context);
+	}
+
+	/**
+	 * Returns the shared instance
+	 *
+	 * @return the shared instance
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+}
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/toc.xml b/docs/org.eclipse.wst.xsl.sdk.documentation/toc.xml
new file mode 100644
index 0000000..b5806ad
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/toc.xml
@@ -0,0 +1,565 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<toc label="XSL Tools SDK Documentation">
+	<topic label="Reference">
+		<topic label="org.eclipse.wst.xml.xpath.core">
+			<topic href="doc/html/org.eclipse.wst.xml.xpath.core.XPathCorePlugin.html"
+				label="org.eclipse.wst.xml.xpath.core.XPathCorePlugin" />
+			<topic
+				href="doc/html/org.eclipse.wst.xml.xpath.core.XPathProcessorPreferences.html"
+				label="org.eclipse.wst.xml.xpath.core.XPathProcessorPreferences" />
+		</topic>
+		<topic label="org.eclipse.wst.xml.xpath.core.internal.preferences">
+			<topic
+				href="doc/html/org.eclipse.wst.xml.xpath.core.internal.preferences.PreferenceInitializer.html"
+				label="org.eclipse.wst.xml.xpath.core.internal.preferences.PreferenceInitializer" />
+		</topic>
+		<topic label="org.eclipse.wst.xml.xpath.core.util">
+			<topic
+				href="doc/html/org.eclipse.wst.xml.xpath.core.util.NodeListImpl.html"
+				label="org.eclipse.wst.xml.xpath.core.util.NodeListImpl" />
+			<topic
+				href="doc/html/org.eclipse.wst.xml.xpath.core.util.XPath20Helper.html"
+				label="org.eclipse.wst.xml.xpath.core.util.XPath20Helper" />
+			<topic
+				href="doc/html/org.eclipse.wst.xml.xpath.core.util.XPathCoreHelper.html"
+				label="org.eclipse.wst.xml.xpath.core.util.XPathCoreHelper" />
+			<topic
+				href="doc/html/org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper.html"
+				label="org.eclipse.wst.xml.xpath.core.util.XSLTXPathHelper" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core">
+			<topic href="doc/html/org.eclipse.wst.xsl.core.ValidationPreferences.html"
+				label="org.eclipse.wst.xsl.core.ValidationPreferences" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.XSLCore.html"
+				label="org.eclipse.wst.xsl.core.XSLCore" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal">
+			<topic href="doc/html/org.eclipse.wst.xsl.core.internal.Messages.html"
+				label="org.eclipse.wst.xsl.core.internal.Messages" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.XSLCorePlugin.html"
+				label="org.eclipse.wst.xsl.core.internal.XSLCorePlugin" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.ant">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.ant.XIncludeTask.html"
+				label="org.eclipse.wst.xsl.core.internal.ant.XIncludeTask" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.model">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder.html"
+				label="org.eclipse.wst.xsl.core.internal.model.StylesheetBuilder" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetParser.html"
+				label="org.eclipse.wst.xsl.core.internal.model.StylesheetParser" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.model.StylesheetParserData.html"
+				label="org.eclipse.wst.xsl.core.internal.model.StylesheetParserData" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.model.XSLElementFactory.html"
+				label="org.eclipse.wst.xsl.core.internal.model.XSLElementFactory" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.model.XSLModelObjectFactory.html"
+				label="org.eclipse.wst.xsl.core.internal.model.XSLModelObjectFactory" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.preferences">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.preferences.PreferenceInitializer.html"
+				label="org.eclipse.wst.xsl.core.internal.preferences.PreferenceInitializer" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.util">
+			<topic href="doc/html/org.eclipse.wst.xsl.core.internal.util.Debug.html"
+				label="org.eclipse.wst.xsl.core.internal.util.Debug" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.util.FileUtil.html"
+				label="org.eclipse.wst.xsl.core.internal.util.FileUtil" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.util.StructuredDocumentUtil.html"
+				label="org.eclipse.wst.xsl.core.internal.util.StructuredDocumentUtil" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.util.XMLContentType.html"
+				label="org.eclipse.wst.xsl.core.internal.util.XMLContentType" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.validation">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.validation.MaxErrorsExceededException.html"
+				label="org.eclipse.wst.xsl.core.internal.validation.MaxErrorsExceededException" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidationMessage.html"
+				label="org.eclipse.wst.xsl.core.internal.validation.XSLValidationMessage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport.html"
+				label="org.eclipse.wst.xsl.core.internal.validation.XSLValidationReport" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.validation.XSLValidator.html"
+				label="org.eclipse.wst.xsl.core.internal.validation.XSLValidator" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.validation.eclipse">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator.html"
+				label="org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator2.html"
+				label="org.eclipse.wst.xsl.core.internal.validation.eclipse.Validator2" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.validation.eclipse.XSLValidationReport.html"
+				label="org.eclipse.wst.xsl.core.internal.validation.eclipse.XSLValidationReport" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.xinclude">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.xinclude.XIncluder.html"
+				label="org.eclipse.wst.xsl.core.internal.xinclude.XIncluder" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.model">
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.CallTemplate.html"
+				label="org.eclipse.wst.xsl.core.model.CallTemplate" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.Function.html"
+				label="org.eclipse.wst.xsl.core.model.Function" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.Import.html"
+				label="org.eclipse.wst.xsl.core.model.Import" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.Include.html"
+				label="org.eclipse.wst.xsl.core.model.Include" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.Parameter.html"
+				label="org.eclipse.wst.xsl.core.model.Parameter" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.Stylesheet.html"
+				label="org.eclipse.wst.xsl.core.model.Stylesheet" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.StylesheetModel.html"
+				label="org.eclipse.wst.xsl.core.model.StylesheetModel" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.Template.html"
+				label="org.eclipse.wst.xsl.core.model.Template" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.Variable.html"
+				label="org.eclipse.wst.xsl.core.model.Variable" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.XSLAttribute.html"
+				label="org.eclipse.wst.xsl.core.model.XSLAttribute" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.XSLElement.html"
+				label="org.eclipse.wst.xsl.core.model.XSLElement" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.XSLModelObject.html"
+				label="org.eclipse.wst.xsl.core.model.XSLModelObject" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.model.XSLModelObject.Type.html"
+				label="org.eclipse.wst.xsl.core.model.XSLModelObject.Type" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.model.XSLModelObject.Type.html"
+				label="org.eclipse.wst.xsl.core.model.XSLModelObject.Type" />
+			<topic href="doc/html/org.eclipse.wst.xsl.core.model.XSLNode.html"
+				label="org.eclipse.wst.xsl.core.model.XSLNode" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.resolver">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.resolver.ResolverExtension.html"
+				label="org.eclipse.wst.xsl.core.resolver.ResolverExtension" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.resolver.StopParsingException.html"
+				label="org.eclipse.wst.xsl.core.resolver.StopParsingException" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.resolver.XSLVersionHandler.html"
+				label="org.eclipse.wst.xsl.core.resolver.XSLVersionHandler" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.encoding">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.encoding.XSLDocumentLoader.html"
+				label="org.eclipse.wst.xsl.core.internal.encoding.XSLDocumentLoader" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.modelhandler">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.modelhandler.ModelHandlerForXSL.html"
+				label="org.eclipse.wst.xsl.core.internal.modelhandler.ModelHandlerForXSL" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.modelhandler.XSLModelLoader.html"
+				label="org.eclipse.wst.xsl.core.internal.modelhandler.XSLModelLoader" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.parser">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.parser.XSLSourceParser.html"
+				label="org.eclipse.wst.xsl.core.internal.parser.XSLSourceParser" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.parser.regions">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.parser.regions.XPathSeparatorRegion.html"
+				label="org.eclipse.wst.xsl.core.internal.parser.regions.XPathSeparatorRegion" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.regions">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.regions.XPathRegionContext.html"
+				label="org.eclipse.wst.xsl.core.internal.regions.XPathRegionContext" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.regions.XSLParserRegionFactory.html"
+				label="org.eclipse.wst.xsl.core.internal.regions.XSLParserRegionFactory" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.text">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.text.IXSLPartitions.html"
+				label="org.eclipse.wst.xsl.core.internal.text.IXSLPartitions" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.core.internal.text.rules">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.core.internal.text.rules.StructuredTextPartitionerForXSL.html"
+				label="org.eclipse.wst.xsl.core.internal.text.rules.StructuredTextPartitionerForXSL" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal">
+			<topic href="doc/html/org.eclipse.wst.xsl.ui.internal.Messages.html"
+				label="org.eclipse.wst.xsl.ui.internal.Messages" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.PreferenceInitializer.html"
+				label="org.eclipse.wst.xsl.ui.internal.PreferenceInitializer" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.StructuredTextViewerConfigurationXSL.html"
+				label="org.eclipse.wst.xsl.ui.internal.StructuredTextViewerConfigurationXSL" />
+			<topic href="doc/html/org.eclipse.wst.xsl.ui.internal.XSLUIConstants.html"
+				label="org.eclipse.wst.xsl.ui.internal.XSLUIConstants" />
+			<topic href="doc/html/org.eclipse.wst.xsl.ui.internal.XSLUIPlugin.html"
+				label="org.eclipse.wst.xsl.ui.internal.XSLUIPlugin" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.actions">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewDTDFileWizardDelegate.html"
+				label="org.eclipse.wst.xsl.ui.internal.actions.NewDTDFileWizardDelegate" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewWSDLFileWizardDelegate.html"
+				label="org.eclipse.wst.xsl.ui.internal.actions.NewWSDLFileWizardDelegate" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewWizardAction.html"
+				label="org.eclipse.wst.xsl.ui.internal.actions.NewWizardAction" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXMLFileWizardDelegate.html"
+				label="org.eclipse.wst.xsl.ui.internal.actions.NewXMLFileWizardDelegate" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXSDFileWizardDelegate.html"
+				label="org.eclipse.wst.xsl.ui.internal.actions.NewXSDFileWizardDelegate" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.actions.NewXSLFileWizardDelegate.html"
+				label="org.eclipse.wst.xsl.ui.internal.actions.NewXSLFileWizardDelegate" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.contentassist">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.AttributeContentAssist.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.AttributeContentAssist" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.CallTemplateContentAssistRequest.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.CallTemplateContentAssistRequest" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.ContentAssistProcessorFactory.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.ContentAssistProcessorFactory" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.ExcludeResultPrefixesContentAssist.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.ExcludeResultPrefixesContentAssist" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.SelectAttributeContentAssist" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TemplateModeAttributeContentAssist.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.TemplateModeAttributeContentAssist" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TemplateNameAttributeContentAssist.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.TemplateNameAttributeContentAssist" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.TestAttributeContentAssist.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.TestAttributeContentAssist" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XPathElementContentAssist.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.XPathElementContentAssist" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistProcessor.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistProcessor" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistRequestFactory.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.XSLContentAssistRequestFactory" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLElementContentAssistRequest.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.XSLElementContentAssistRequest" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateCompletionProcessor.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateCompletionProcessor" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateContentAssistProcessor.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.XSLTemplateContentAssistProcessor" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel.XSLContentModelGenerator.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.contentmodel.XSLContentModelGenerator" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.contentassist.href">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.href.HrefContentAssistRequest.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.href.HrefContentAssistRequest" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentassist.href.PathComparator.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentassist.href.PathComparator" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.contentoutline">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.AttributeShowingLabelProvider.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.AttributeShowingLabelProvider" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapter.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapter" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeAdapterFactory.CMDocumentManagerListenerImpl" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeContentProvider.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeContentProvider" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeLabelProvider.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.JFaceNodeLabelProvider" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.RefreshStructureJob.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.RefreshStructureJob" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.XMLNodeActionManager.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.XMLNodeActionManager" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.contentoutline.XSLContentOutlineConfiguration.html"
+				label="org.eclipse.wst.xsl.ui.internal.contentoutline.XSLContentOutlineConfiguration" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.doubleclick">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.doubleclick.XSLDoubleClickStrategy.html"
+				label="org.eclipse.wst.xsl.ui.internal.doubleclick.XSLDoubleClickStrategy" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.editor">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicator.html"
+				label="org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicator" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorImageProvider.html"
+				label="org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorImageProvider" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager.html"
+				label="org.eclipse.wst.xsl.ui.internal.editor.OverrideIndicatorManager" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.editor.SourceFileHyperlink.html"
+				label="org.eclipse.wst.xsl.ui.internal.editor.SourceFileHyperlink" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.editor.XSLEditor.html"
+				label="org.eclipse.wst.xsl.ui.internal.editor.XSLEditor" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.editor.XSLHyperlinkDetector.html"
+				label="org.eclipse.wst.xsl.ui.internal.editor.XSLHyperlinkDetector" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.handlers">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.handlers.OpenDeclarationHandler.html"
+				label="org.eclipse.wst.xsl.ui.internal.handlers.OpenDeclarationHandler" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.preferences">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.AbstractValidationSettingsPage.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.AbstractValidationSettingsPage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.AbstractXSLPreferencePage.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.AbstractXSLPreferencePage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.ComboData.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.ComboData" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.MainPreferencePage.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.MainPreferencePage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.PropertyPreferencePage.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.PropertyPreferencePage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.ValidationPreferencePage.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.ValidationPreferencePage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLSyntaxColoringPage.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.XSLSyntaxColoringPage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLTemplatePreferencePage.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.XSLTemplatePreferencePage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLUIPreferenceInitializer.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.XSLUIPreferenceInitializer" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.preferences.XSLValidationPreferencePage.html"
+				label="org.eclipse.wst.xsl.ui.internal.preferences.XSLValidationPreferencePage" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.quickassist">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.quickassist.OverrideQuickAssist.html"
+				label="org.eclipse.wst.xsl.ui.internal.quickassist.OverrideQuickAssist" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.quickassist.ValidationQuickAssist.html"
+				label="org.eclipse.wst.xsl.ui.internal.quickassist.ValidationQuickAssist" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.registry">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.registry.AdapterFactoryProviderForXSL.html"
+				label="org.eclipse.wst.xsl.ui.internal.registry.AdapterFactoryProviderForXSL" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.style">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.AbstractXSLSemanticHighlighting.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.AbstractXSLSemanticHighlighting" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.IStyleConstantsXSL.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.IStyleConstantsXSL" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.LineStyleProviderForXSL.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.LineStyleProviderForXSL" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.XMLRegionMap.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.XMLRegionMap" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.XMLTextAttributeMap" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLAttrNameSemanticHighlighting.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.XSLAttrNameSemanticHighlighting" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLAttrValueSemanticHighlighting.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.XSLAttrValueSemanticHighlighting" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLRegionMap.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.XSLRegionMap" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTagDelimsSemanticHighlighting.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.XSLTagDelimsSemanticHighlighting" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTagNameSemanticHighlighting.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.XSLTagNameSemanticHighlighting" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.style.XSLTextAttributeMap.html"
+				label="org.eclipse.wst.xsl.ui.internal.style.XSLTextAttributeMap" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.templates">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL.html"
+				label="org.eclipse.wst.xsl.ui.internal.templates.TemplateContextTypeXSL" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.templates.VersionTemplateVariableResolverXSL.html"
+				label="org.eclipse.wst.xsl.ui.internal.templates.VersionTemplateVariableResolverXSL" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.templates.XSLTemplatesPage.html"
+				label="org.eclipse.wst.xsl.ui.internal.templates.XSLTemplatesPage" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.util">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper.html"
+				label="org.eclipse.wst.xsl.ui.internal.util.XSLPluginImageHelper" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages.html"
+				label="org.eclipse.wst.xsl.ui.internal.util.XSLPluginImages" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.validation">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.validation.DelegatingSourceValidatorForXSL.html"
+				label="org.eclipse.wst.xsl.ui.internal.validation.DelegatingSourceValidatorForXSL" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.validation.XSLErrorListener.html"
+				label="org.eclipse.wst.xsl.ui.internal.validation.XSLErrorListener" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.validation.XSLMarkupValidator.html"
+				label="org.eclipse.wst.xsl.ui.internal.validation.XSLMarkupValidator" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.views.stylesheet">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.ListWorkbenchAdapter.html"
+				label="org.eclipse.wst.xsl.ui.internal.views.stylesheet.ListWorkbenchAdapter" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.StylesheetModelView.html"
+				label="org.eclipse.wst.xsl.ui.internal.views.stylesheet.StylesheetModelView" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLModelAdapterFactory.html"
+				label="org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLModelAdapterFactory" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLWorkbenchAdapter.html"
+				label="org.eclipse.wst.xsl.ui.internal.views.stylesheet.XSLWorkbenchAdapter" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.internal.wizards">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileTemplatesWizardPage.html"
+				label="org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileTemplatesWizardPage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizard.html"
+				label="org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizard" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizardPage.html"
+				label="org.eclipse.wst.xsl.ui.internal.wizards.NewXSLFileWizardPage" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.wizards.TemplateContentProvider.html"
+				label="org.eclipse.wst.xsl.ui.internal.wizards.TemplateContentProvider" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.internal.wizards.TemplateLabelProvider.html"
+				label="org.eclipse.wst.xsl.ui.internal.wizards.TemplateLabelProvider" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.ui.provisional.contentassist">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest.html"
+				label="org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXMLElementContentAssistRequest" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor.html"
+				label="org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistProcessor" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest.html"
+				label="org.eclipse.wst.xsl.ui.provisional.contentassist.AbstractXSLContentAssistRequest" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal.html"
+				label="org.eclipse.wst.xsl.ui.provisional.contentassist.CustomCompletionProposal" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest.html"
+				label="org.eclipse.wst.xsl.ui.provisional.contentassist.IContentAssistProposalRequest" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.IXSLContentAssistProcessor.html"
+				label="org.eclipse.wst.xsl.ui.provisional.contentassist.IXSLContentAssistProcessor" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.ui.provisional.contentassist.NullContentAssistRequest.html"
+				label="org.eclipse.wst.xsl.ui.provisional.contentassist.NullContentAssistRequest" />
+		</topic>
+		<topic label="org.eclipse.wst.xsl.xalan.debugger">
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanDebugger.html"
+				label="org.eclipse.wst.xsl.xalan.debugger.XalanDebugger" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanPrintTraceListener.html"
+				label="org.eclipse.wst.xsl.xalan.debugger.XalanPrintTraceListener" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanRootStyleFrame.html"
+				label="org.eclipse.wst.xsl.xalan.debugger.XalanRootStyleFrame" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame.html"
+				label="org.eclipse.wst.xsl.xalan.debugger.XalanStyleFrame" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanTraceListener.html"
+				label="org.eclipse.wst.xsl.xalan.debugger.XalanTraceListener" />
+			<topic
+				href="doc/html/org.eclipse.wst.xsl.xalan.debugger.XalanVariable.html"
+				label="org.eclipse.wst.xsl.xalan.debugger.XalanVariable" />
+		</topic>
+	</topic>
+	<topic label="Extension Points">
+		<topic label="JAXP Debugger">
+			<topic
+				href="doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_debugger.html"
+				label="org.eclipse.wst.xsl.jaxp.launching.debugger">
+			</topic>
+		</topic>
+		<topic label="JAXP Launching">
+			<topic
+				href="doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_invoke.html"
+				label="org.eclipse.wst.xsl.jaxp.launching.invoke">
+			</topic>
+			<topic
+				href="doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processor.html"
+				label="org.eclipse.wst.xsl.jaxp.launching.processor">
+			</topic>
+			<topic
+				href="doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processorType.html"
+				label="org.eclipse.wst.xsl.jaxp.processorType">
+			</topic>
+		</topic>
+		<topic label="XSLT Editor">
+			<topic
+				href="doc/html/extension_point/org_eclipse_wst_xsl_ui_contentAssistProcessor.html"
+				label="org.eclipse.wst.xsl.ui.contentAssistProcessor">
+			</topic>
+		</topic>
+	</topic>
+</toc>
diff --git a/docs/org.eclipse.wst.xsl.sdk.documentation/tocExtension.xml b/docs/org.eclipse.wst.xsl.sdk.documentation/tocExtension.xml
new file mode 100644
index 0000000..be87452
--- /dev/null
+++ b/docs/org.eclipse.wst.xsl.sdk.documentation/tocExtension.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<toc label="Extension Points.">
+   <topic label="JAXP Debugger">
+      <topic href="doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_debugger.html" label="org.eclipse.wst.xsl.jaxp.launching.debugger">
+      </topic>
+   </topic>
+   <topic label="JAXP Launching">
+      <topic href="doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_invoke.html" label="org.eclipse.wst.xsl.jaxp.launching.invoke">
+      </topic>
+      <topic href="doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processor.html" label="org.eclipse.wst.xsl.jaxp.launching.processor">
+      </topic>
+      <topic href="doc/html/extension_point/org_eclipse_wst_xsl_jaxp_launching_processorType.html" label="org.eclipse.wst.xsl.jaxp.processorType">
+      </topic>
+   </topic>
+   <topic label="XSLT Editor">
+      <topic href="doc/html/extension_point/org_eclipse_wst_xsl_ui_contentAssistProcessor.html" label="org.eclipse.wst.xsl.ui.contentAssistProcessor">
+      </topic>
+   </topic>
+</toc>
diff --git a/features/org.eclipse.wst.xsl.feature/feature.properties b/features/org.eclipse.wst.xsl.feature/feature.properties
index c9bb4be..dc013ce 100644
--- a/features/org.eclipse.wst.xsl.feature/feature.properties
+++ b/features/org.eclipse.wst.xsl.feature/feature.properties
@@ -10,8 +10,6 @@
 # "providerName" property - name of the company that provides the feature
 providerName=Eclipse Web Tools Platform
 
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
 
 # "description" property - description of the feature
 description=XSLT Editor, validator, launching and debugging support
@@ -38,8 +36,8 @@
 # "license" property - text of the "Feature Update License"
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-June 06, 2007\n\
+Eclipse Foundation Software User Agreement\n\
+April 14, 2010\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -47,42 +45,38 @@
 OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
 USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
 AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
 AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
 AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
 TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
 OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
 BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
 \n\
 Applicable Licenses\n\
 \n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
 For purposes of the EPL, "Program" will mean the Content.\n\
 \n\
 Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
 as downloadable archives ("Downloads").\n\
 \n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
+       - Content may be structured and packaged into modules to facilitate delivering,\n\
+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+         plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+         in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
 \n\
 The terms and conditions governing Plug-ins and Fragments should be\n\
 contained in files named "about.html" ("Abouts"). The terms and\n\
@@ -91,48 +85,77 @@
 Licenses may be located in any directory of a Download or Module\n\
 including, but not limited to the following locations:\n\
 \n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
 \n\
 Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
 Included Features, the Feature Update License should either provide you\n\
 with the terms and conditions governing the Included Features or inform\n\
 you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
 \n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.html)\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
 \n\
 IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
 is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
 govern that particular Content.\n\
 \n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+          extending or updating the functionality of an Eclipse-based product.\n\
+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+          with the Specification. Such Installable Software Agreement must inform the user of the\n\
+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+          indication of agreement by the user, the provisioning Technology will complete installation\n\
+          of the Installable Software.\n\
+\n\
 Cryptography\n\
 \n\
 Content may contain encryption software. The country in which you are\n\
 currently may have restrictions on the import, possession, and use,\n\
 and/or re-export to another country, of encryption software. BEFORE\n\
 using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
 \n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
 ########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.xsl.feature/feature.xml b/features/org.eclipse.wst.xsl.feature/feature.xml
index 65b4dee..5d97597 100644
--- a/features/org.eclipse.wst.xsl.feature/feature.xml
+++ b/features/org.eclipse.wst.xsl.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.xsl.feature"
       label="%featureName"
-      version="1.0.0.qualifier"
+      version="1.1.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.wst.xsl">
 
@@ -18,10 +18,10 @@
       %license
    </license>
 
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-      <discovery label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates"/>
-   </url>
+
+   <includes
+         id="org.eclipse.wst.xml.xpath2.processor.feature"
+         version="0.0.0"/>
 
    <plugin
          id="org.eclipse.wst.xsl.core"
@@ -87,13 +87,6 @@
          unpack="false"/>
 
    <plugin
-         id="org.apache.commons.jxpath"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
          id="org.eclipse.wst.xml.xpath.core"
          download-size="0"
          install-size="0"
@@ -164,7 +157,14 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.wst.xml.xpath2.processor"
+         id="org.eclipse.wst.xsl.exslt.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.wst.xsl.exslt.ui"
          download-size="0"
          install-size="0"
          version="0.0.0"
diff --git a/features/org.eclipse.wst.xsl.feature/license.html b/features/org.eclipse.wst.xsl.feature/license.html
index 303e665..c184ca3 100644
--- a/features/org.eclipse.wst.xsl.feature/license.html
+++ b/features/org.eclipse.wst.xsl.feature/license.html
@@ -1,96 +1,107 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
-THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
-BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
-BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
-MAY NOT USE THE CONTENT.</P>
-<H3>Applicable Licenses</H3>
-<P>Unless otherwise indicated, all Content made available by the Eclipse 
-Foundation is provided to you under the terms and conditions of the Eclipse 
-Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
-Content and is also available at <A 
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>Content includes, but is not limited to, source code, object code, 
-documentation and other files maintained in the Eclipse.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). Abouts and Feature Licenses may be located in any 
-directory of a Download or Module including, but not limited to the following 
-locations:</P>
-<UL>
-  <LI>The top-level (root) directory 
-  <LI>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") during the installation process. If the Feature contains Included 
-Features, the Feature Update License should either provide you with the terms 
-and conditions governing the Included Features or inform you where you can 
-locate them. Feature Update Licenses may be found in the "license" property of 
-files named "feature.properties". Such Abouts, Feature Licenses and Feature 
-Update Licenses contain the terms and conditions (or references to such terms 
-and conditions) that govern your use of the associated Content in that 
-directory.</P>
-<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
-OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
-<UL>
-  <LI>Common Public License Version 1.0 (available at <A 
-  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>)
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
 
-  <LI>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>)
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 14, 2010</p>
 
-  <LI>Apache Software License 2.0 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>)
+<h3>Usage Of Content</h3>
 
-  <LI>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>)
-  <LI>Metro Link Public License 1.00 (available at <A 
-  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
-  
-  <LI>Mozilla Public License Version 1.1 (available at <A 
-  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) </LI>
-  
-  <li>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.html)</A>
-  </LI>
-</UL>
-<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
-provided, please contact the Eclipse Foundation to determine what terms and 
-conditions govern that particular Content.</P>
-<H3>Cryptography</H3>
-<P>Content may contain encryption software. The country in which you are 
-currently may have restrictions on the import, possession, and use, and/or 
-re-export to another country, of encryption software. BEFORE using any 
-encryption software, please check the country's laws, regulations and policies 
-concerning the import, possession, or use, and re-export of encryption software, 
-to see if this is permitted.</P></BODY></HTML>
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/features/org.eclipse.wst.xsl.feature/sourceTemplateBundle/plugin.properties b/features/org.eclipse.wst.xsl.feature/sourceTemplateBundle/plugin.properties
index c2341ca..1dc5ba3 100644
--- a/features/org.eclipse.wst.xsl.feature/sourceTemplateBundle/plugin.properties
+++ b/features/org.eclipse.wst.xsl.feature/sourceTemplateBundle/plugin.properties
@@ -1,2 +1,2 @@
 pluginName=WTP XSL Source
-providerName=Eclipse.org
+providerName=Eclipse Web Tools Platform
diff --git a/features/org.eclipse.wst.xsl.feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.wst.xsl.feature/sourceTemplateFeature/feature.properties
index dad95ff..b8e57fe 100644
--- a/features/org.eclipse.wst.xsl.feature/sourceTemplateFeature/feature.properties
+++ b/features/org.eclipse.wst.xsl.feature/sourceTemplateFeature/feature.properties
@@ -8,10 +8,8 @@
 featureName=XSL Tools Developer Resources
 
 # "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
+providerName=Eclipse Web Tools Platform
 
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
 
 # "description" property - description of the feature
 description=Source code WTP XSL.
@@ -38,8 +36,8 @@
 # "license" property - text of the "Feature Update License"
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-June, 2008\n\
+Eclipse Foundation Software User Agreement\n\
+April 14, 2010\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -47,42 +45,38 @@
 OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
 USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
 AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
 AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
 AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
 TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
 OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
 BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
 \n\
 Applicable Licenses\n\
 \n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
 For purposes of the EPL, "Program" will mean the Content.\n\
 \n\
 Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
 as downloadable archives ("Downloads").\n\
 \n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
+       - Content may be structured and packaged into modules to facilitate delivering,\n\
+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+         plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+         in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
 \n\
 The terms and conditions governing Plug-ins and Fragments should be\n\
 contained in files named "about.html" ("Abouts"). The terms and\n\
@@ -91,48 +85,77 @@
 Licenses may be located in any directory of a Download or Module\n\
 including, but not limited to the following locations:\n\
 \n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
 \n\
 Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
 Included Features, the Feature Update License should either provide you\n\
 with the terms and conditions governing the Included Features or inform\n\
 you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
 \n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.html)\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
 \n\
 IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
 is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
 govern that particular Content.\n\
 \n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+          extending or updating the functionality of an Eclipse-based product.\n\
+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+          with the Specification. Such Installable Software Agreement must inform the user of the\n\
+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+          indication of agreement by the user, the provisioning Technology will complete installation\n\
+          of the Installable Software.\n\
+\n\
 Cryptography\n\
 \n\
 Content may contain encryption software. The country in which you are\n\
 currently may have restrictions on the import, possession, and use,\n\
 and/or re-export to another country, of encryption software. BEFORE\n\
 using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
 \n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
 ########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.xsl.feature/sourceTemplateFeature/license.html b/features/org.eclipse.wst.xsl.feature/sourceTemplateFeature/license.html
index fec4a48..c184ca3 100644
--- a/features/org.eclipse.wst.xsl.feature/sourceTemplateFeature/license.html
+++ b/features/org.eclipse.wst.xsl.feature/sourceTemplateFeature/license.html
@@ -1,13 +1,14 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
 </head>
 
-<body lang="EN-US" link=blue vlink=purple>
+<body lang="EN-US">
 <h2>Eclipse Foundation Software User Agreement</h2>
-<p>June 06, 2007</p>
+<p>April 14, 2010</p>
 
 <h3>Usage Of Content</h3>
 
@@ -17,37 +18,37 @@
    OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
    NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
    CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
+
+<h3>Applicable Licenses</h3>
+
 <p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
    (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
    For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
 
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-   
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
 <ul>
-	<li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-	<li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-	<li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
       and/or Fragments associated with that Feature.</li>
-	<li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>   
- 
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
 <p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
 Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
 including, but not limited to the following locations:</p>
 
 <ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Inside Plug-ins and Fragments packaged as JARs</li>
-	<li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
 </ul>
-		
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
 installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
 inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
 Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
@@ -57,26 +58,50 @@
 OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
 
 <ul>
-	<li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-  <LI>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.html)</A>
-  </LI>
-</UL>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
 
 <p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
 contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
 
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
 <h3>Cryptography</h3>
 
 <p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
    another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
    possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-   
-<small>Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.</small>   
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
 </body>
 </html>
diff --git a/features/org.eclipse.wst.xsl.feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.wst.xsl.feature/sourceTemplatePlugin/plugin.properties
index c2341ca..1dc5ba3 100644
--- a/features/org.eclipse.wst.xsl.feature/sourceTemplatePlugin/plugin.properties
+++ b/features/org.eclipse.wst.xsl.feature/sourceTemplatePlugin/plugin.properties
@@ -1,2 +1,2 @@
 pluginName=WTP XSL Source
-providerName=Eclipse.org
+providerName=Eclipse Web Tools Platform
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/feature.properties b/features/org.eclipse.wst.xsl_sdk.feature/feature.properties
index 8ece499..cf86bc4 100644
--- a/features/org.eclipse.wst.xsl_sdk.feature/feature.properties
+++ b/features/org.eclipse.wst.xsl_sdk.feature/feature.properties
@@ -10,8 +10,6 @@
 # "providerName" property - name of the company that provides the feature
 providerName=Eclipse.org
 
-# "updateSiteName" property - label for the update site
-updateSiteName=The Eclipse Web Tools Platform (WTP) Project update site
 
 # "description" property - description of the feature
 description=XSLT Editor, validator, launching and debugging support
@@ -38,8 +36,8 @@
 # "license" property - text of the "Feature Update License"
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
-ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
-June 06, 2007\n\
+Eclipse Foundation Software User Agreement\n\
+April 14, 2010\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -47,42 +45,38 @@
 OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
 USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
 AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
 AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
 AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
 TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
 OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
 BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
 \n\
 Applicable Licenses\n\
 \n\
-Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
-is provided to you under the terms and conditions of the Eclipse Public\n\
-License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
 For purposes of the EPL, "Program" will mean the Content.\n\
 \n\
 Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
 as downloadable archives ("Downloads").\n\
 \n\
-   - Content may be structured and packaged into modules to facilitate delivering,\n\
-     extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
-     plug-in fragments ("Fragments"), and features ("Features").\n\
-   - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
-     in a directory named "plugins".\n\
-   - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
-     Each Feature may be packaged as a sub-directory in a directory named "features".\n\
-     Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
-     numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
-   - Features may also include other Features ("Included Features"). Within a Feature, files\n\
-     named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
+       - Content may be structured and packaged into modules to facilitate delivering,\n\
+         extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+         plug-in fragments ("Fragments"), and features ("Features").\n\
+       - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+         in a directory named "plugins".\n\
+       - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+         Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+         Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+         numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+       - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+         named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
 \n\
 The terms and conditions governing Plug-ins and Fragments should be\n\
 contained in files named "about.html" ("Abouts"). The terms and\n\
@@ -91,48 +85,77 @@
 Licenses may be located in any directory of a Download or Module\n\
 including, but not limited to the following locations:\n\
 \n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Inside Plug-ins and Fragments packaged as JARs\n\
-   - Sub-directories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
+       - The top-level (root) directory\n\
+       - Plug-in and Fragment directories\n\
+       - Inside Plug-ins and Fragments packaged as JARs\n\
+       - Sub-directories of the directory named "src" of certain Plug-ins\n\
+       - Feature directories\n\
 \n\
 Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
 Included Features, the Feature Update License should either provide you\n\
 with the terms and conditions governing the Included Features or inform\n\
 you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
 \n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
-    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-    - Common Development and Distribution License (CDDL) Version 1.0 (available at http://www.sun.com/cddl/cddl.html)\n\
+       - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+       - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+       - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+       - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+       - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
 \n\
 IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
 is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
 govern that particular Content.\n\
 \n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+       1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+          the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+          extending or updating the functionality of an Eclipse-based product.\n\
+       2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+          Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+       3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+          govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+          Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+          with the Specification. Such Installable Software Agreement must inform the user of the\n\
+          terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+          the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+          indication of agreement by the user, the provisioning Technology will complete installation\n\
+          of the Installable Software.\n\
+\n\
 Cryptography\n\
 \n\
 Content may contain encryption software. The country in which you are\n\
 currently may have restrictions on the import, possession, and use,\n\
 and/or re-export to another country, of encryption software. BEFORE\n\
 using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
 \n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
 ########### end of license property ##########################################
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/feature.xml b/features/org.eclipse.wst.xsl_sdk.feature/feature.xml
index a8de780..e333cbc 100644
--- a/features/org.eclipse.wst.xsl_sdk.feature/feature.xml
+++ b/features/org.eclipse.wst.xsl_sdk.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.wst.xsl_sdk.feature"
       label="%featureName"
-      version="1.0.0.qualifier"
+      version="1.1.0.qualifier"
       provider-name="%providerName">
 
    <description>
@@ -17,10 +17,6 @@
       %license
    </license>
 
-   <url>
-      <update label="%updateSiteName" url="http://download.eclipse.org/webtools/updates/"/>
-      <discovery label="Web Tools Platform (WTP) Updates" url="http://download.eclipse.org/webtools/updates"/>
-   </url>
 
    <includes
          id="org.eclipse.wst.xsl.feature"
@@ -30,6 +26,10 @@
          id="org.eclipse.wst.xsl.feature.source"
          version="0.0.0"/>
 
+   <includes
+         id="org.eclipse.wst.xml.xpath2.processor.feature"
+         version="0.0.0"/>
+
    <plugin
          id="org.eclipse.wst.xsl.sdk.documentation"
          download-size="0"
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/license.html b/features/org.eclipse.wst.xsl_sdk.feature/license.html
index 303e665..c184ca3 100644
--- a/features/org.eclipse.wst.xsl_sdk.feature/license.html
+++ b/features/org.eclipse.wst.xsl_sdk.feature/license.html
@@ -1,96 +1,107 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-<!-- saved from url=(0044)http://www.eclipse.org/legal/epl/notice.html -->
-<HTML><HEAD><TITLE>Eclipse.org Software User Agreement</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="MSHTML 6.00.2800.1479" name=GENERATOR></HEAD>
-<BODY lang=EN-US vLink=purple link=blue>
-<H2>Eclipse Foundation Software User Agreement</H2>
-<P>June 06, 2007</P>
-<H3>Usage Of Content</H3>
-<P>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION 
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF 
-THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE 
-TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED 
-BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED 
-BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE 
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE 
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY 
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU 
-MAY NOT USE THE CONTENT.</P>
-<H3>Applicable Licenses</H3>
-<P>Unless otherwise indicated, all Content made available by the Eclipse 
-Foundation is provided to you under the terms and conditions of the Eclipse 
-Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this 
-Content and is also available at <A 
-href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</A>. 
-For purposes of the EPL, "Program" will mean the Content.</P>
-<P>Content includes, but is not limited to, source code, object code, 
-documentation and other files maintained in the Eclipse.org CVS repository 
-("Repository") in CVS modules ("Modules") and made available as downloadable 
-archives ("Downloads").</P>
-<P>Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments 
-("Fragments"), and features ("Features"). A Feature is a bundle of one or more 
-Plug-ins and/or Fragments and associated material. Files named "feature.xml" may 
-contain a list of the names and version numbers of the Plug-ins and/or Fragments 
-associated with a Feature. Plug-ins and Fragments are located in directories 
-named "plugins" and Features are located in directories named "features".</P>
-<P>Features may also include other Features ("Included Features"). Files named 
-"feature.xml" may contain a list of the names and version numbers of Included 
-Features.</P>
-<P>The terms and conditions governing Plug-ins and Fragments should be contained 
-in files named "about.html" ("Abouts"). The terms and conditions governing 
-Features and Included Features should be contained in files named "license.html" 
-("Feature Licenses"). Abouts and Feature Licenses may be located in any 
-directory of a Download or Module including, but not limited to the following 
-locations:</P>
-<UL>
-  <LI>The top-level (root) directory 
-  <LI>Plug-in and Fragment directories 
-  <LI>Subdirectories of the directory named "src" of certain Plug-ins 
-  <LI>Feature directories </LI></UL>
-<P>Note: if a Feature made available by the Eclipse Foundation is installed 
-using the Eclipse Update Manager, you must agree to a license ("Feature Update 
-License") during the installation process. If the Feature contains Included 
-Features, the Feature Update License should either provide you with the terms 
-and conditions governing the Included Features or inform you where you can 
-locate them. Feature Update Licenses may be found in the "license" property of 
-files named "feature.properties". Such Abouts, Feature Licenses and Feature 
-Update Licenses contain the terms and conditions (or references to such terms 
-and conditions) that govern your use of the associated Content in that 
-directory.</P>
-<P>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL 
-OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE 
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</P>
-<UL>
-  <LI>Common Public License Version 1.0 (available at <A 
-  href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</A>)
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
 
-  <LI>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>)
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 14, 2010</p>
 
-  <LI>Apache Software License 2.0 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</A>)
+<h3>Usage Of Content</h3>
 
-  <LI>IBM Public License 1.0 (available at <A 
-  href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</A>)
-  <LI>Metro Link Public License 1.00 (available at <A 
-  href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</A>) 
-  
-  <LI>Mozilla Public License Version 1.1 (available at <A 
-  href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</A>) </LI>
-  
-  <li>Common Development and Distribution License (CDDL) Version 1.0 (available at <A 
-  href="http://www.sun.com/cddl/cddl.html">http://www.sun.com/cddl/cddl.html)</A>
-  </LI>
-</UL>
-<P>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR 
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License is 
-provided, please contact the Eclipse Foundation to determine what terms and 
-conditions govern that particular Content.</P>
-<H3>Cryptography</H3>
-<P>Content may contain encryption software. The country in which you are 
-currently may have restrictions on the import, possession, and use, and/or 
-re-export to another country, of encryption software. BEFORE using any 
-encryption software, please check the country's laws, regulations and policies 
-concerning the import, possession, or use, and re-export of encryption software, 
-to see if this is permitted.</P></BODY></HTML>
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>