This commit was manufactured by cvs2svn to create tag 'v200801161601'.
diff --git a/bundles/org.eclipse.wst.xsl.core/.classpath b/bundles/org.eclipse.wst.xsl.core/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/bundles/org.eclipse.wst.xsl.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?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.core/.project b/bundles/org.eclipse.wst.xsl.core/.project
deleted file mode 100644
index 5535611..0000000
--- a/bundles/org.eclipse.wst.xsl.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xsl.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 77a5f38..0000000
--- a/bundles/org.eclipse.wst.xsl.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.xsl.core;singleton:=true
-Bundle-Version: 0.5.0.qualifier
-Bundle-Activator: org.eclipse.wst.xsl.core.XSLCorePlugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.wst.common.uriresolver,
- org.eclipse.wst.xml.core,
- org.eclipse.core.resources,
- org.eclipse.wst.sse.core
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ClassPath: .
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
diff --git a/bundles/org.eclipse.wst.xsl.core/build.properties b/bundles/org.eclipse.wst.xsl.core/build.properties
deleted file mode 100644
index a67d541..0000000
--- a/bundles/org.eclipse.wst.xsl.core/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               plugin.properties,\
-               xslt-schemas/
diff --git a/bundles/org.eclipse.wst.xsl.core/plugin.properties b/bundles/org.eclipse.wst.xsl.core/plugin.properties
deleted file mode 100644
index 63d8400..0000000
--- a/bundles/org.eclipse.wst.xsl.core/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Properties file for org.eclipse.wst.xsl.launching
-Bundle-Name.0 = XSL Core Plug-in (Incubating)
-Bundle-Vendor.0 =Eclipse.org
-XSL.ContentType.Name=XSL Template
diff --git a/bundles/org.eclipse.wst.xsl.core/plugin.xml b/bundles/org.eclipse.wst.xsl.core/plugin.xml
deleted file mode 100644
index e6d6832..0000000
--- a/bundles/org.eclipse.wst.xsl.core/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-	<!-- Team provider info -->
-
-	<extension point="org.eclipse.team.core.fileTypes">
-		<fileTypes type="text" extension="xsl" />
-		<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>
-	</extension>
-	
-	<!-- The magic which detects XSLT 1.0 or 2.0 stylesheets and supplies the correct XSD -->	
- 	<extension
-       	point="org.eclipse.wst.common.uriresolver.resolverExtensions">
-    	<resolverExtension
-          	class="org.eclipse.wst.xsl.core.resolver.ResolverExtension"
-        	  stage="prenormalization">
-    	</resolverExtension>
-	</extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/Messages.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/Messages.java
deleted file mode 100644
index e2b74a0..0000000
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/Messages.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- * Jesper Steen Møller - adapted from org.eclipse.core.internal.content
- **********************************************************************/
-package org.eclipse.wst.xsl.core;
-
-import org.eclipse.osgi.util.NLS;
-
-// Runtime plugin message catalog
-public class Messages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.wst.xsl.core.messages"; //$NON-NLS-1$
-
-	// Content type manager
-	public static String XSLCorePlugin_parserConfiguration;
-
-	public static String XSLCorePlugin_badInitializationData;
-
-	public static String XSLCorePlugin_coreError;
-
-	static {
-		// load message values from bundle file
-		reloadMessages();
-	}
-
-	public static void reloadMessages() {
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/XSLCorePlugin.java b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/XSLCorePlugin.java
deleted file mode 100644
index d2026af..0000000
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/XSLCorePlugin.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Jesper Steen Møller and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Møller - XSL core plugin
- *******************************************************************************/
-
-package org.eclipse.wst.xsl.core;
-
-import javax.xml.parsers.SAXParserFactory;
-
-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
- */
-public class XSLCorePlugin extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.core"; //$NON-NLS-1$
-
-	public static final String XSLT_NS = "http://www.w3.org/1999/XSL/Transform"; //$NON-NLS-1$
-	
-	// The shared instance
-	private static XSLCorePlugin plugin;
-	
-	private ServiceTracker parserTracker = null;
-
-	private BundleContext bundleContext;
-
-	/**
-	 * The constructor
-	 */
-	public XSLCorePlugin() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		bundleContext = 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 XSLCorePlugin getDefault() {
-		return plugin;
-	}
-	
-	/*
-	 * Return the registered SAX parser factory or null if one
-	 * does not exist.
-	 */
-	public SAXParserFactory getFactory() {
-		if (parserTracker == null) {
-			parserTracker = new ServiceTracker(bundleContext, SAXParserFactory.class.getName(), null);
-			parserTracker.open();
-		}
-		SAXParserFactory theFactory = (SAXParserFactory) parserTracker.getService();
-		if (theFactory != null)
-			theFactory.setNamespaceAware(true);
-		return theFactory;
-	}
-	
-	/**
-	 * Logs the specified status with this plug-in's log.
-	 * 
-	 * @param status status to log
-	 */
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
-
-	/**
-	 * Logs the specified exception.
-	 * 
-	 * @param e throwable to log 
-	 */
-	public static void log(Throwable e) {
-		if (e instanceof CoreException) {
-			log(((CoreException)e).getStatus());
-		} else {
-			log(newErrorStatus(Messages.XSLCorePlugin_coreError, e));
-		}
-	}
-	
-	/**
-	 * Returns a new error status for this plug-in with the given message
-	 * @param message the message to be included in the status
-	 * @param exception the exception to be included in the status or <code>null</code> if none
-	 * @return a new error status
-	 */
-	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/messages.properties b/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/messages.properties
deleted file mode 100644
index 0311938..0000000
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/messages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005, 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-#     Jesper Steen Møller - adapted from org.eclipse.core.internal.content 
-###############################################################################
-
-### Resolver problems
-XSLCorePlugin_badInitializationData = Invalid initialization data for "{0}".
-XSLCorePlugin_parserConfiguration = XSL parser configuration error during content description.
-XSLCorePlugin_coreError=Error logged from XSL core plug-in\: 
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
deleted file mode 100644
index 1fbf0e2..0000000
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/ResolverExtension.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Jesper Steen M�ller and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moeller - XSL core plugin
- *******************************************************************************/
-
-package org.eclipse.wst.xsl.core.resolver;
-
-import java.io.IOException;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.common.uriresolver.internal.provisional.URIResolverExtension;
-import org.eclipse.wst.sse.core.StructuredModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IModelManager;
-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
-import org.eclipse.wst.xml.core.internal.provisional.document.IDOMModel;
-import org.eclipse.wst.xsl.core.Messages;
-import org.eclipse.wst.xsl.core.XSLCorePlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-public class ResolverExtension implements URIResolverExtension {
-	
-	private static final Double DEFAULT_XSLT_VERSION = 1.0;
-
-	private static final String SCHEMA_BASE_URI = "platform:/plugin/"  + XSLCorePlugin.PLUGIN_ID + "/xslt-schemas"; //$NON-NLS-1$ //$NON-NLS-2$
-	private static final String XSLT_1_0_PATH = SCHEMA_BASE_URI + "/xslt-1.0.xsd"; //$NON-NLS-1$
-	private static final String XSLT_2_0_PATH = SCHEMA_BASE_URI + "/xslt-2.0.xsd"; //$NON-NLS-1$
-
-	private static final String XSLT_STYLESHEET = "stylesheet"; //$NON-NLS-1$
-	private static final String XSLT_TEMPLATE = "template"; //$NON-NLS-1$
-	private static final String XSLT_VERSION = "version"; //$NON-NLS-1$
-	
-	public ResolverExtension() {		
-	}
-
-	public String resolve(IFile file, String baseLocation, String publicId,
-			String systemId) {
-
-		// Is someone looking for "our" schema?
-		if (! XSLCorePlugin.XSLT_NS.equals(publicId)) {
-			// Not this time, return right away
-			return null;
-		}
-
-		String version = null;
-		
-		version = peekVersionAttributeFromSSE(file);
-		if (version == null)
-			version = peekVersionFromFile(file, baseLocation);
-		
-		if (version == null)
-			return null;
-		
-		Double versionNumber = null;
-		try {
-			versionNumber = Double.valueOf(version);
-		} catch (Throwable t) {
-			// Not interested
-		}
-		
-		if (versionNumber == null) {
-			versionNumber = DEFAULT_XSLT_VERSION;
-		}
-		
-		// We carelessly ditch the fraction part
-		int intVersion = versionNumber.intValue();
-		if (intVersion == 1) {
-			return XSLT_1_0_PATH;
-		} else if (intVersion == 2) {
-			return XSLT_2_0_PATH;
-		}
-		else return null;
-	}
-
-	private String peekVersionFromFile(IFile file, String baseLocation) {
-		XSLVersionHandler handler = new XSLVersionHandler();
-		try {
-			handler.parseContents(file != null ? createInputSource(file) : createInputSource(baseLocation));
-		} catch (SAXException se) {
-			XSLCorePlugin.log(se);
-			// drop through, since this is almost to be expected
-		} catch (IOException ioe) {
-			XSLCorePlugin.log(new CoreException(XSLCorePlugin.newErrorStatus("Can't parse XSL document", ioe))); //$NON-NLS-1$
-			// drop through, since this is not really a show-stopper
-		} catch (ParserConfigurationException pce) {
-			// some bad thing happened - force this describer to be disabled
-			String message = Messages.XSLCorePlugin_parserConfiguration;
-			XSLCorePlugin.log(new Status(IStatus.ERROR, XSLCorePlugin.PLUGIN_ID, 0, message, pce));
-			throw new RuntimeException(message);
-			// drop through, since this is not really a show-stopper
-		} catch (CoreException ce) {
-			XSLCorePlugin.log(ce);
-			// drop through, since this is not really a show-stopper
-		}
-
-		String versionX = handler.getVersionAttribute();
-		return versionX;
-	}
-
-	private String peekVersionAttributeFromSSE(IFile file) {
-		IModelManager manager = StructuredModelManager.getModelManager();
-
-		if (manager != null) {
-			String id = manager.calculateId(file);
-			IStructuredModel model = manager.getExistingModelForRead(id);
-			if (model instanceof IDOMModel) {
-				Document doc = ((IDOMModel)model).getDocument();
-				if (doc != null && doc.getDocumentElement() != null) {
-					Element documentElement = doc.getDocumentElement();
-					if (XSLT_STYLESHEET.equals(documentElement.getLocalName()) ||
-						XSLT_TEMPLATE.equals(documentElement.getLocalName())) {
-						return documentElement.getAttribute(XSLT_VERSION);
-					} else return ""; //$NON-NLS-1$
-				}
-				
-			}
-		}
-		return null;
-	}
-
-	private InputSource createInputSource(String systemId) throws CoreException {
-		return new InputSource(systemId);
-	}
-
-	private InputSource createInputSource(IFile file) throws CoreException {
-		InputSource src = new InputSource(file.getContents());
-		src.setSystemId(file.getLocationURI().toString());
-		return src;
-	}
-}
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
deleted file mode 100644
index 4fd8b52..0000000
--- a/bundles/org.eclipse.wst.xsl.core/src/org/eclipse/wst/xsl/core/resolver/XSLVersionHandler.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2005, 2008 IBM Corporation and others. All rights reserved.   This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors: 
- * IBM - Initial API and implementation
- * Jesper Steen Møller - adapted from org.eclipse.core.internal.content
- **********************************************************************/
-
-package org.eclipse.wst.xsl.core.resolver;
-
-import java.io.IOException;
-import java.io.StringReader;
-import javax.xml.parsers.*;
-
-import org.eclipse.wst.xsl.core.XSLCorePlugin;
-import org.xml.sax.*;
-import org.xml.sax.ext.LexicalHandler;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * A simple XML parser to find the XSL version of a given XML file, expectedly a XSLT stylesheet.
- */
-public final class XSLVersionHandler extends DefaultHandler implements LexicalHandler, ErrorHandler {
-	/**
-	 * An exception indicating that the parsing should stop. This is usually
-	 * triggered when the top-level element has been found.
-	 * 
-	 * @since 3.0
-	 */
-	private class StopParsingException extends SAXException {
-		/**
-		 * All serializable objects should have a stable serialVersionUID
-		 */
-		private static final long serialVersionUID = 1L;
-
-		/**
-		 * Constructs an instance of <code>StopParsingException</code> with a
-		 * <code>null</code> detail message.
-		 */
-		public StopParsingException() {
-			super((String) null);
-		}
-	}
-
-	private static final String XSLT_STYLESHEET = "stylesheet"; //$NON-NLS-1$
-
-	private static final String XSLT_TEMPLATE = "template"; //$NON-NLS-1$
-
-	private static final String XSLT_VERSION = "version"; //$NON-NLS-1$
-
-	/**
-	 * This is the value of the version attribute in the XSLT file.
-	 * This member variable is <code>null</code> unless the file has been
-	 * parsed successful to the point of finding the top-level element,
-	 * and locating the 'version' attribute there.
-	 */
-	private String versionAttribute = null;
-
-	public XSLVersionHandler() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.ext.LexicalHandler#comment(char[], int, int)
-	 */
-	public final void comment(final char[] ch, final int start, final int length) {
-		// Not interested.
-	}
-
-	/**
-	 * Creates a new SAX parser for use within this instance.
-	 * 
-	 * @return The newly created parser.
-	 * 
-	 * @throws ParserConfigurationException
-	 *             If a parser of the given configuration cannot be created.
-	 * @throws SAXException
-	 *             If something in general goes wrong when creating the parser.
-	 * @throws SAXNotRecognizedException
-	 *             If the <code>XMLReader</code> does not recognize the
-	 *             lexical handler configuration option.
-	 * @throws SAXNotSupportedException
-	 *             If the <code>XMLReader</code> does not support the lexical
-	 *             handler configuration option.
-	 */
-	private final SAXParser createParser(SAXParserFactory parserFactory) throws ParserConfigurationException, SAXException, SAXNotRecognizedException, SAXNotSupportedException {
-		// Initialize the parser.
-		final SAXParser parser = 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 {
-			//	be sure validation is "off" or the feature to ignore DTD's will not apply
-			reader.setFeature("http://xml.org/sax/features/validation", false); //$NON-NLS-1$
-			reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); //$NON-NLS-1$
-		} catch (SAXNotRecognizedException e) {
-			// not a big deal if the parser does not recognize the features
-		} catch (SAXNotSupportedException e) {
-			// not a big deal if the parser does not support the features
-		}
-		return parser;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.ext.LexicalHandler#endCDATA()
-	 */
-	public final void endCDATA() {
-		// Not interested.
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.ext.LexicalHandler#endDTD()
-	 */
-	public final void endDTD() {
-		// Not interested.
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.ext.LexicalHandler#endEntity(java.lang.String)
-	 */
-	public final void endEntity(final String name) {
-		// Not interested.
-	}
-
-	public String getVersionAttribute() {
-		return versionAttribute;
-	}
-
-	public boolean parseContents(InputSource contents) throws IOException, ParserConfigurationException, SAXException {
-		// Parse the file into we have what we need (or an error occurs).
-		try {
-			SAXParserFactory factory = XSLCorePlugin.getDefault().getFactory();
-			if (factory == null)
-				return false;
-			final SAXParser parser = createParser(factory);
-			// to support external entities specified as relative URIs (see bug 63298)
-			parser.parse(contents, this);
-		} catch (StopParsingException e) {
-			// Abort the parsing normally. Fall through...
-		}
-		return true;
-	}
-
-	/*
-	 * Resolve external entity definitions to an empty string.  This is to speed
-	 * up processing of files with external DTDs.  Not resolving the contents 
-	 * of the DTD is ok, as only the System ID of the DTD declaration is used.
-	 * @see org.xml.sax.helpers.DefaultHandler#resolveEntity(java.lang.String, java.lang.String)
-	 */
-	public InputSource resolveEntity(String publicId, String systemId) throws SAXException {
-		return new InputSource(new StringReader("")); //$NON-NLS-1$
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.ext.LexicalHandler#startCDATA()
-	 */
-	public final void startCDATA() {
-		// Not interested.
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.ext.LexicalHandler#startDTD(java.lang.String,
-	 *      java.lang.String, java.lang.String)
-	 */
-	public final void startDTD(final String name, final String publicId, final String systemId) throws SAXException {
-		// Not interested.
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.ContentHandler#startElement(java.lang.String,
-	 *      java.lang.String, java.lang.String, org.xml.sax.Attributes)
-	 */
-	public final void startElement(final String uri, final String elementName, final String qualifiedName, final Attributes attributes) throws SAXException {
-		if (uri.equals(XSLCorePlugin.XSLT_NS) && (XSLT_TEMPLATE.equals(elementName) || XSLT_STYLESHEET.equals(elementName))) {
-			versionAttribute = attributes.getValue(XSLT_VERSION);
-		} else {
-			versionAttribute = "";
-		}
-		throw new StopParsingException();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.ext.LexicalHandler#startEntity(java.lang.String)
-	 */
-	public final void startEntity(final String name) {
-		// Not interested.
-	}
-	
-	@Override
-	public void warning(SAXParseException e) throws SAXException {
-		// Not interested.
-	}
-	
-	@Override
-	public void error(SAXParseException e) throws SAXException {
-		// Not interested.
-	}
-	
-	@Override
-	public void fatalError(SAXParseException e) throws SAXException {
-		// Not interested.
-	}
-}
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
deleted file mode 100644
index 506f7cb..0000000
--- a/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-1.0.xsd
+++ /dev/null
@@ -1,1697 +0,0 @@
-<?xml version="1.0"?>
-<!--
-*******************************************************************************
- * Copyright (c) 2001, 2007 - W3C, 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 - 20071228 - STAR - Updated to XML Schemas 2001 1.0
- *         Note this schemas is a modified version of the schema for XSLT 2.0, it has
- *         been stripped of all XSLT 2.0 additions, to bring it in line with the XSLT 1.0
- *         specification.
- *         The original version may be found at http://www.w3.org/2007/schema-for-xslt20.xsd
- *         The original W3C copyright notice is included:
- *******************************************************************************
- *******************************************************************************
- * W3C® SOFTWARE NOTICE AND LICENSE
- * http://www.w3.org/Consortium/Legal/copyright-software-19980720
- *
- * Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of
- * Technology, Institut National de Recherche en Informatique et en Automatique,
- * Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
- *
- * This W3C work (including software, documents, or other related items) is being
- * provided by the copyright holders under the following license. By obtaining,
- * using and/or copying this work, you (the licensee) agree that you have read,
- * understood, and will comply with the following terms and conditions:
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation, with or without modification,  for any purpose and without fee
- * or royalty is hereby granted, provided that you include the following on ALL copies
- * of the software and documentation or portions thereof, including modifications, that
- * you make:
- *
- *  1. The full text of this NOTICE in a location viewable to users of the redistributed
- *     or derivative work.
- *  2. Any pre-existing intellectual property disclaimers, notices, or terms and
- *     conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
- *  3. Notice of any changes or modifications to the W3C files, including the date changes
- *     were made. (We recommend you provide URIs to the location from which the code is
- *     derived.)
- *
- * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO 
- * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, 
- * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF
- * THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
- * TRADEMARKS OR OTHER RIGHTS.
- *
- * COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL
- * DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
- *
- * The name and trademarks of copyright holders may NOT be used in advertising or publicity
- * pertaining to the software without specific, written prior permission. Title to copyright
- * in this software and any associated documentation will at all times remain with copyright
- * holders.
- ******************************************************************************************** 
- -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-           targetNamespace="http://www.w3.org/1999/XSL/Transform" 
-           elementFormDefault="qualified" >
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-  
-   </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
- 
-<!--
-The declaration of xml:space and xml:lang may need to be commented out because
-of problems processing the schema using various tools
--->
-      
-<xs:import namespace="http://www.w3.org/XML/1998/namespace" 
-  schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-    PART A: definitions of complex types and model groups used as the basis 
-            for element definitions
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:complexType name="generic-element-type" mixed="true">
-  <xs:attribute name="default-collation" type="xsl:uri-list"/>
-
-  <xs:attribute name="exclude-result-prefixes" type="xsl:prefix-list-or-all"/>
-  <xs:attribute name="extension-element-prefixes" type="xsl:prefix-list"/>
-  <xs:attribute name="use-when" type="xsl:expression"/>
-  <xs:attribute name="xpath-default-namespace" type="xs:anyURI"/>
-  <xs:anyAttribute namespace="##other" processContents="lax"/>
-</xs:complexType>
-
-<xs:complexType name="versioned-element-type" mixed="true">
-  <xs:complexContent>
-    <xs:extension base="xsl:generic-element-type">    
-      <xs:attribute name="version" type="xs:decimal" use="optional"/>
-
-    </xs:extension>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:complexType name="element-only-versioned-element-type" mixed="false">
-  <xs:complexContent>
-    <xs:restriction base="xsl:versioned-element-type">
-      <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-  </xs:complexContent>
-
-</xs:complexType>
-
-<xs:complexType name="sequence-constructor">
-  <xs:complexContent mixed="true">
-    <xs:extension base="xsl:versioned-element-type">    
-      <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:extension>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:group name="sequence-constructor-group">
-  <xs:choice>
-
-    <xs:element ref="xsl:variable"/>
-    <xs:element ref="xsl:instruction"/>
-    <xs:group ref="xsl:result-elements"/>
-  </xs:choice>
-</xs:group>
-
-<xs:element name="declaration" type="xsl:generic-element-type" abstract="true"/>
-
-<xs:element name="instruction" type="xsl:versioned-element-type" abstract="true"/>
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-
-    PART B: definitions of individual XSLT elements    
-    Elements are listed in alphabetical order.    
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:element name="apply-imports" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        This command applies template rule from an imported style sheet.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type"/>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="apply-templates" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Applies template rules based on a given XPath selection criteria.  If no template
-        is found the built in templates are used.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="xsl:sort"/>
-          <xs:element ref="xsl:with-param"/>
-        </xs:choice>
-        <xs:attribute name="select" type="xsl:expression" default="child::node()">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Specifies the XPath criteria to be used to apply the templates.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="mode" type="xsl:mode">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Specifies the type of template to be used if there is more than
-                 one way in which to process the given criteria.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="attribute" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Defines an attribute that will be put in the result set.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required. The name of the attribute to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="namespace" type="xsl:avt">
-              <xs:annotation>
-                 <xs:documentation source="http://www.w3.org/TR/xslt">
-                    Optional. The namespace for the attribute.
-                 </xs:documentation>
-              </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>        
-
-<xs:element name="attribute-set" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Defines a group of attributes that will be created and can be reused
-         by other portions of the stylesheet during processing.  These attributes
-         will appear on the resulting document when used.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="xsl:attribute"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  Name of the attribute set.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default="">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  A list of attributes-sets separated by spaces to be used in this
-                  attribute set.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="call-template" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Specifies the name of a template to be called. A called template
-        is only executed when it is called.  It is not executed directly by
-        an apply-templates command.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:with-param" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The name of the template to be called.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="choose" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Choose is the beginning of a When/Otherwise combination.  It is
-         the way to implement case selection of If/Then/ElseIf type logical
-         processing.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:when" maxOccurs="unbounded"/>
-          <xs:element ref="xsl:otherwise" minOccurs="0"/>
-        </xs:sequence>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="comment" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Creates a comment node in the result document.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor"/>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="copy" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Copy creates a duplicate of the current node being processed.  It
-         does not copy the attributes or children nodes.  See copy-of for
-         copying attributes and children nodes.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default="">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  A space separated list of attributes sets to apply to the
-                 result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="copy-of" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Creates a copy-of the current node and all attributes, and children nodes.
-         It copies the nodes specified by the XPath selection criteria.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:attribute name="select" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  XPath expressions that select the nodes to be copied.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="decimal-format" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Defines the output format to be used when converting numbers into strings when
-         used with the XPath function format-number().
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="name" type="xsl:QName">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The unique name for this format.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="decimal-separator" type="xsl:char" default=".">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The character to use to represent a decimal point.
-                  The default value is a period.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="grouping-separator" type="xsl:char" default=",">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to seperate thousands.  The
-                  default is a comma.              
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="infinity" type="xs:string" default="Infinity">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The string to be used to represent infinity. The default
-                  is Infinity.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="minus-sign" type="xsl:char" default="-">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to represent negative numbers.
-                  The default is the minus sign.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="NaN" type="xs:string" default="NaN">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The string to be used when the input is Not a Number.
-                  The default is NaN.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="percent" type="xsl:char" default="%">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to represent a percent.
-                  The default is a percent sign.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="per-mille" type="xsl:char" default="&#x2030;">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The character to be used to represet per thousand.
-                  The default is &#x2030;
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="zero-digit" type="xsl:char" default="0">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to represent the digit zero.
-                  The default is the number zero.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="digit" type="xsl:char" default="#">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                   Optional. The character to be used to indicated where a digit
-                   is required.  The default values is # character.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="pattern-separator" type="xsl:char" default=";">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                   Optional. The character to be used to separate positive and
-                   negative sub-patterns in a pattern.  The default is a semi-colon.                   
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="element" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Creates an element in the result document.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType mixed="true">
-    <xs:complexContent>
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The name of the element to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="namespace" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                   Optional. The namespace the element belongs.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default="">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                   Optional.  A space separated list of attribute-set names to 
-                   be included on the element.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="fallback" substitutionGroup="xsl:instruction" type="xsl:sequence-constructor">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-          Specifies alternate code to be run if the XSLT processor doesn't understand
-          a particular xsl element.
-     </xs:documentation>
-  </xs:annotation>
-</xs:element>
-
-<xs:element name="for-each" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         A looping command that processes each node returned from the
-         XPath selection criteria.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:sort" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="select" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                    Required.  The XPath selection criteria to be used to retrieve the
-                    node set to be processed by the loop.              
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="if" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         A logical construct, that will only be applied when the XPath expression
-         test returns true.  It does not support a Else statement, see Choose
-         for implementing If/Then/ElseIf logic.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="test" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                    Required.  The XPath expression to test the variable or node against.
-                    The statements nested will only be executed if the test returns
-                    true.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="import">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Allows the inclusion of one stylesheet into another.  If there are
-        templates that are the same in the parent stylesheet that are in the
-        stylesheet being imported, the parent stylesheet's templates will 
-        take precedence.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="href" type="xs:anyURI" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The URI for the stylesheet.  This is either a relative
-                  or physical URI.  If it is relative, it is relative to the location
-                  of the stylesheet.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-
-<xs:element name="include" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Include brings in another stylesheet into the current one.  Unlike
-         the Import statement, the stylesheet templates have the same precedence
-         as the one being included in to.
-     </xs:documentation>
-  </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="xsl:element-only-versioned-element-type">
-          <xs:attribute name="href" type="xs:anyURI" use="required">
-              <xs:annotation>
-                 <xs:documentation source="http://www.w3.org/TR/xslt">
-                     Required.  The URI for the stylesheet.  This is either a relative
-                     or physical URI.  If it is relative, it is relative to the location
-                     of the stylesheet.
-                 </xs:documentation>
-              </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="key" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        A key is a way to index a set of nodes to be retrieved later by the XPath
-        key() function.  It allows faster access to a series of nodes based off of a
-        unique key with in a list of nodes.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The name of the key to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="match" type="xsl:pattern" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Defines the XPath expression to which the nodes will
-                  be applied.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="use" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                    Required.  The value of the key for each of the nodes.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-</xs:element>
-
-<xs:element name="message" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Writes a message to the output, usually stdout or stderro.  Typically
-         used to report errors during processing.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="terminate" type="xsl:avt" default="no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Indicates whether processing should be ended after
-                  producing the message.  The default value is no.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="namespace-alias" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Allows replacing of a particular namespace from the style sheet to a different
-         namespace when writing the result document.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="stylesheet-prefix" type="xsl:prefix-or-default" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  Specifies the name of the prefix you want to change.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="result-prefix" type="xsl:prefix-or-default" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  Specifies the name of the prefix the result is to use.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="number" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Used to determine the integer position of the current node.  Also used
-        in formatting a number.     
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:attribute name="value" type="xsl:expression">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  A number provided by the implementor instead of
-                  a system generated number.  The position() xpath function can
-                  be used as well.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="level" type="xsl:level" default="single">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Specifies how the sequence number is assigned.  Valid values
-                 are single (default), multiple, and any.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="count" type="xsl:pattern">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  An XPath expression that indicates what nodes are to be
-                 counted.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="from" type="xsl:pattern">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  An XPath expression that indicates where counting will start.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="format" type="xsl:avt" default="1">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  The format string in which the number is to be formatted.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="lang" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  The language code used to indicate what spoken language is
-                 to be used for the format string.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="letter-value" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Specifies whether the number is alphabetical or traditional.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="grouping-separator" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to seperate a group of numbers.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="grouping-size" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. A number indicating the number of digits in a group.  The
-                  default is 3.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="otherwise" type="xsl:sequence-constructor">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Otherwise is used to indicate the default action when none of the 
-         When tests are true, in a Choose statement.
-     </xs:documentation>
-   </xs:annotation>
-</xs:element>
-
-<xs:element name="output" substitutionGroup="xsl:declaration">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Specifies the format for the result document.
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:generic-element-type">
-        <xs:attribute name="method" type="xsl:method">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Valid values are xml, html, and text.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="cdata-section-elements" type="xsl:QNames">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. A space separated list of elements whose content should
-                 be wrapped with CDATA.                
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="doctype-public" type="xs:string">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Sets the value of the Public doctype attribute.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="doctype-system" type="xs:string">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Sets the value of the System doctype attribute.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="encoding" type="xs:string">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Specifies the type of encoding to use.  i.e. UTF-8, UTF-16, etc.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="indent" type="xsl:yes-or-no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Should the result document be pretty-printed.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="media-type" type="xs:string">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The mime type of the result document.  i.e. text/xml
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="omit-xml-declaration" type="xsl:yes-or-no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Whether the xml declation should be created in the 
-                  result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="standalone" type="xsl:yes-or-no-or-omit">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Indicates if a standalone declartion should occcur in the
-                 result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="version" type="xs:NMTOKEN">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Sets the W3C version number to be used with the
-                 result document.  Only used for HTML or XML output.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="param">
-     <xs:annotation>
-        <xs:documentation source="http://www.w3.org/TR/xslt">
-            Used to declare a local or global parameter.
-        </xs:documentation>
-     </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The name of the parameter to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="select" type="xsl:expression">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  An XPath expression to be used to populate the parameter
-                  if nothing is passed to it.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-
-<xs:element name="preserve-space" substitutionGroup="xsl:declaration">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Indicates the elements that are to have white space preserved when
-         creating the result document.
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="elements" type="xsl:nametests" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  A space seperated list of elements in which
-                  white space is significant and should be preserved when
-                  creating the result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="processing-instruction" substitutionGroup="xsl:instruction">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Creates a processing instruction in the result document.
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The name of the processing instruction to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="sort">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Sorts the output of the node set.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="select" type="xsl:expression">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Specifies the XPath expression to be used to create the nodeset
-                 to be sorted.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>  
-        <xs:attribute name="lang" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The language code to be used for sorting.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>        
-        <xs:attribute name="data-type" type="xsl:avt" default="text">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The type of data that is being sorted. The default
-                  is text.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>        
-        <xs:attribute name="order" type="xsl:avt" default="ascending">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The order in which the data is to be sorted.  The
-                  default is ascending.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>        
-        <xs:attribute name="case-order" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Specifies if upper or lowercase letters are to 
-                  be sorted first.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="strip-space" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Defines which elements are to have white space stripped when
-        writing the result document.     
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="elements" type="xsl:nametests" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  A space separeated list of elements are to have
-                 white space removed when writing the result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="stylesheet" substitutionGroup="xsl:transform">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         The root element of a style sheet.  Also see the transform element.
-         Either stylesheet or transform can be used.  Typically stylsheet is
-         used.
-     </xs:documentation>
-  </xs:annotation>
-</xs:element>
-
-<xs:element name="template" substitutionGroup="xsl:declaration">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        A template contains processing instructions and commands for nodes in the
-        input document that match the specified XPath expression.
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="match" type="xsl:pattern">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. An XPath expression or expressions that this template will
-                 be applied to.  Note if this is omitted, then a name attribute must
-                 be used.  Either a namoe or a match are to be used, but not both.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="priority" type="xs:decimal">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Indicates the numeric priortity for processing the
-                  template.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="mode" type="xsl:modes">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The name of the mode for this template.  Used to match
-                  up with the apply-templates mode attribute.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="name" type="xsl:QName">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The name of a called template.  Note that if name is
-                  not used, then match must be used.  You can have one or the other
-                  but not both.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:complexType name="text-element-base-type">
-  <xs:simpleContent>
-    <xs:restriction base="xsl:versioned-element-type">
-
-      <xs:simpleType>
-        <xs:restriction base="xs:string"/>
-      </xs:simpleType>
-      <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-  </xs:simpleContent>
-</xs:complexType>
-
-<xs:element name="text" substitutionGroup="xsl:instruction">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Writes text data to the output.  i.e. #PCData
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:simpleContent>
-      <xs:extension base="xsl:text-element-base-type">
-        <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Indicates if non friendly html and xml content should be converted
-                 to their entity types.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:complexType name="transform-element-base-type">
-  <xs:complexContent>
-    <xs:restriction base="xsl:element-only-versioned-element-type">
-      <xs:attribute name="version" type="xs:decimal" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The version number corresponding the the
-                 XSLT specification being used.  For XSLT 1.0, this will
-                 be 1.0.
-              </xs:documentation>
-           </xs:annotation>
-      </xs:attribute>
-      <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:element name="transform">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         The root element of a style sheet.  Also see the stylesheet element.
-         Either stylesheet or transform can be used.  Typically stylsheet is
-         used.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:transform-element-base-type">
-        <xs:sequence>
-          <xs:element ref="xsl:import" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:choice minOccurs="0" maxOccurs="unbounded">
-            <xs:element ref="xsl:declaration"/>
-            <xs:element ref="xsl:variable"/>
-            <xs:element ref="xsl:param"/>              
-            <xs:any namespace="##other" processContents="lax"/> <!-- weaker than XSLT 1.0 -->
-          </xs:choice>
-        </xs:sequence>
-        <xs:attribute name="id" type="xs:ID">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  A unique ID for the stylesheet.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="value-of" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Used to pull the data value from the selected node or XPath expression.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="select" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The XPath expression or current node to be used
-                 to pull the data from.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. Whether non-xml friendly data should be entity escaped.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="variable">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Declares a local or global variable to be used during processing.
-        The contents of variable can be populated by either a series of
-        XSLT commands or XPath expressions.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The name of the variable.  This is how the
-                 variable is accessed later in the stylesheet.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="select" type="xsl:expression" use="optional">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The XPath expression in which the variable is
-                  populated from.  This specifies where the variable is to get
-                  it's data value from.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="when">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         A conditional statement similiar to an if statement, used to test
-         if a particular expression is true or false.  Use with the Choose and
-         Other wise elements.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="test" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 An XPath expression that tests to true or false.  If true
-                 the statements within are executed.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="with-param">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Defines the value of a parameter to be passed to a called template.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The name of the parameter to be set.  This
-                  must exist in the template that is being called.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="select" type="xsl:expression">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  An XPath expression that is used to set
-                  the value for the parameter being passed to a template.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-    PART C: definition of literal result elements
-    
-    There are three ways to define the literal result elements
-    permissible in a stylesheet.
-    
-    (a) do nothing. This allows any element to be used as a literal
-        result element, provided it is not in the XSLT namespace
-    
-    (b) declare all permitted literal result elements as members
-        of the xsl:literal-result-element substitution group
-        
-    (c) redefine the model group xsl:result-elements to accommodate
-        all permitted literal result elements.
-        
-    Literal result elements are allowed to take certain attributes
-    in the XSLT namespace. These are defined in the attribute group
-    literal-result-element-attributes, which can be included in the
-    definition of any literal result element.
-    
-  </xs:documentation>
-
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:element name="literal-result-element" abstract="true" type="xs:anyType"/>
-
-<xs:attributeGroup name="literal-result-element-attributes">
-  <xs:attribute name="default-collation" form="qualified" type="xsl:uri-list"/>
-  <xs:attribute name="extension-element-prefixes" form="qualified" type="xsl:prefixes"/>
-  <xs:attribute name="exclude-result-prefixes" form="qualified" type="xsl:prefixes"/>
-  <xs:attribute name="xpath-default-namespace" form="qualified" type="xs:anyURI"/>    
-  <xs:attribute name="inherit-namespaces" form="qualified" type="xsl:yes-or-no" default="yes"/>
-  <xs:attribute name="use-attribute-sets" form="qualified" type="xsl:QNames" default=""/>
-
-  <xs:attribute name="use-when" form="qualified" type="xsl:expression"/>
-  <xs:attribute name="version" form="qualified" type="xs:decimal"/>
-  <xs:attribute name="type" form="qualified" type="xsl:QName"/>
-  <xs:attribute name="validation" form="qualified" type="xsl:validation-type"/>
-</xs:attributeGroup>
-
-<xs:group name="result-elements">
-  <xs:choice>
-    <xs:element ref="xsl:literal-result-element"/>
-    <xs:any namespace="##other" processContents="lax"/>
-
-    <xs:any namespace="##local" processContents="lax"/>
-  </xs:choice>
-</xs:group>
-
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-    PART D: definitions of simple types used in stylesheet attributes 
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:simpleType name="avt">
-  <xs:annotation>
-    <xs:documentation>
-      This type is used for all attributes that allow an attribute value template.
-      The general rules for the syntax of attribute value templates, and the specific
-      rules for each such attribute, are described in the XSLT 2.0 Recommendation.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:string"/>
-</xs:simpleType>
-
-<xs:simpleType name="char">
-  <xs:annotation>
-
-    <xs:documentation>
-      A string containing exactly one character.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:string">
-    <xs:length value="1"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="expression">
-  <xs:annotation>
-
-    <xs:documentation>
-      An XPath 2.0 expression.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:pattern value=".+"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="input-type-annotations-type">
-  <xs:annotation>
-
-    <xs:documentation>
-      Describes how type annotations in source documents are handled.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="preserve"/>
-    <xs:enumeration value="strip"/>   
-    <xs:enumeration value="unspecified"/>        
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="level">
-  <xs:annotation>
-    <xs:documentation>
-      The level attribute of xsl:number: 
-      one of single, multiple, or any.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:NCName">
-    <xs:enumeration value="single"/>
-    <xs:enumeration value="multiple"/>
-    <xs:enumeration value="any"/>
-
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="mode">
-  <xs:annotation>
-    <xs:documentation>
-      The mode attribute of xsl:apply-templates: 
-      either a QName, or #current, or #default.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union memberTypes="xsl:QName">
-    <xs:simpleType>
-
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#default"/>
-        <xs:enumeration value="#current"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="modes">
-  <xs:annotation>
-
-    <xs:documentation>
-      The mode attribute of xsl:template: 
-      either a list, each member being either a QName or #default;
-      or the value #all
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union>
-    <xs:simpleType>
-      <xs:list>
-        <xs:simpleType>
-          <xs:union memberTypes="xsl:QName">
-
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="#default"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:union>
-        </xs:simpleType>
-      </xs:list>
-    </xs:simpleType>
-
-    <xs:simpleType>
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#all"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="nametests">
-  <xs:annotation>
-
-    <xs:documentation>
-      A list of NameTests, as defined in the XPath 2.0 Recommendation.
-      Each NameTest is either a QName, or "*", or "prefix:*", or "*:localname"
-    </xs:documentation>
-  </xs:annotation>
-  <xs:list>
-    <xs:simpleType>
-      <xs:union memberTypes="xsl:QName">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-
-            <xs:enumeration value="*"/>
-          </xs:restriction>
-        </xs:simpleType>
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:pattern value="\i\c*:\*"/>
-            <xs:pattern value="\*:\i\c*"/>            
-          </xs:restriction>
-        </xs:simpleType>
-
-      </xs:union>
-    </xs:simpleType>
-  </xs:list>
-</xs:simpleType>
-
-<xs:simpleType name="prefixes">
-  <xs:list itemType="xs:NCName"/>
-</xs:simpleType>
-
-<xs:simpleType name="prefix-list-or-all">
-  <xs:union memberTypes="xsl:prefix-list">
-    <xs:simpleType>
-
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#all"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-      
-<xs:simpleType name="prefix-list">
-  <xs:list itemType="xsl:prefix-or-default"/>
-</xs:simpleType>
-
-<xs:simpleType name="method">
-  <xs:annotation>
-    <xs:documentation>
-      The method attribute of xsl:output:
-      Either one of the recognized names "xml", "xhtml", "html", "text",
-      or a QName that must include a prefix.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union>
-    <xs:simpleType>
-      <xs:restriction base="xs:NCName">
-        <xs:enumeration value="xml"/>
-
-        <xs:enumeration value="xhtml"/>
-        <xs:enumeration value="html"/>
-        <xs:enumeration value="text"/>
-      </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType>
-      <xs:restriction base="xsl:QName">
-        <xs:pattern value="\c*:\c*"/>
-      </xs:restriction>
-
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="pattern">
-  <xs:annotation>
-    <xs:documentation>
-      A match pattern as defined in the XSLT 2.0 Recommendation.
-      The syntax for patterns is a restricted form of the syntax for
-      XPath 2.0 expressions.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xsl:expression"/>
-
-</xs:simpleType>
-
-<xs:simpleType name="prefix-or-default">
-  <xs:annotation>
-    <xs:documentation>
-      Either a namespace prefix, or #default.
-      Used in the xsl:namespace-alias element.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union memberTypes="xs:NCName">
-    <xs:simpleType>
-      <xs:restriction base="xs:token">
-
-        <xs:enumeration value="#default"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="QNames">
-  <xs:annotation>
-    <xs:documentation>
-      A list of QNames.
-      Used in the [xsl:]use-attribute-sets attribute of various elements,
-      and in the cdata-section-elements attribute of xsl:output
-    </xs:documentation>
-
-  </xs:annotation>
-  <xs:list itemType="xsl:QName"/>          
-</xs:simpleType>
-
-<xs:simpleType name="QName">
-  <xs:annotation>
-    <xs:documentation>
-      A QName.
-      This schema does not use the built-in type xs:QName, but rather defines its own
-      QName type. Although xs:QName would define the correct validation on these attributes,
-      a schema processor would expand unprefixed QNames incorrectly when constructing the PSVI,
-      because (as defined in XML Schema errata) an unprefixed xs:QName is assumed to be in
-      the default namespace, which is not the correct assumption for XSLT.
-      The data type is defined as a restriction of the built-in type Name, restricted
-      so that it can only contain one colon which must not be the first or last character.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:Name">
-
-    <xs:pattern value="([^:]+:)?[^:]+"/>      
-  </xs:restriction>        
-</xs:simpleType>
-
-<xs:simpleType name="sequence-type">
-  <xs:annotation>
-    <xs:documentation>
-      The description of a data type, conforming to the
-      SequenceType production defined in the XPath 2.0 Recommendation
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-
-    <xs:pattern value=".+"/>      
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="uri-list">
-  <xs:list itemType="xs:anyURI"/>
-</xs:simpleType>
-
-<xs:simpleType name="validation-strip-or-preserve">
-  <xs:annotation>
-    <xs:documentation>
-      Describes different ways of type-annotating an element or attribute.
-    </xs:documentation>
-
-  </xs:annotation>
-  <xs:restriction base="xsl:validation-type">
-    <xs:enumeration value="preserve"/>
-    <xs:enumeration value="strip"/>    
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="validation-type">
-  <xs:annotation>
-    <xs:documentation>
-      Describes different ways of type-annotating an element or attribute.
-    </xs:documentation>
-
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="strict"/>
-    <xs:enumeration value="lax"/>
-    <xs:enumeration value="preserve"/>
-    <xs:enumeration value="strip"/>    
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="yes-or-no">
-  <xs:annotation>
-
-    <xs:documentation>
-      One of the values "yes" or "no".
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="yes"/>
-    <xs:enumeration value="no"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="yes-or-no-or-omit">
-  <xs:annotation>
-    <xs:documentation>
-      One of the values "yes" or "no" or "omit".
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="yes"/>
-    <xs:enumeration value="no"/>
-    <xs:enumeration value="omit"/>
-
-  </xs:restriction>
-</xs:simpleType>
-
-</xs:schema>
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
deleted file mode 100644
index 05752eb..0000000
--- a/bundles/org.eclipse.wst.xsl.core/xslt-schemas/xslt-2.0.xsd
+++ /dev/null
@@ -1,1119 +0,0 @@
-<?xml version="1.0"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/XSL/Transform" elementFormDefault="qualified" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-  
-    This is a schema for XSLT 2.0 stylesheets.
-    
-    It defines all the elements that appear in the XSLT namespace; it also
-    provides hooks that allow the inclusion of user-defined literal result elements,
-    extension instructions, and top-level data elements.
-    
-    The schema is derived (with kind permission) from a schema for XSLT 1.0 stylesheets
-    produced by Asir S Vedamuthu of WebMethods Inc.
-    
-    This schema is available for use under the conditions of the W3C Software License
-    published at http://www.w3.org/Consortium/Legal/copyright-software-19980720
-    
-    The schema is organized as follows:
-    
-    PART A: definitions of complex types and model groups used as the basis 
-            for element definitions
-    PART B: definitions of individual XSLT elements
-    PART C: definitions for literal result elements
-    PART D: definitions of simple types used in attribute definitions
-    
-    This schema does not attempt to define all the constraints that apply to a valid
-    XSLT 2.0 stylesheet module. It is the intention that all valid stylesheet modules 
-    should conform to this schema; however, the schema is non-normative and in the event 
-    of any conflict, the text of the Recommendation takes precedence.
-
-    This schema does not implement the special rules that apply when a stylesheet
-    has sections that use forwards-compatible-mode. In this mode, setting version="3.0"
-    allows elements from the XSLT namespace to be used that are not defined in XSLT 2.0.
-
-    Simplified stylesheets (those with a literal result element as the outermost element)
-    will validate against this schema only if validation starts in lax mode.
-    
-    This version is dated 2005-02-11
-    Authors: Michael H Kay, Saxonica Limited
-             Jeni Tennison, Jeni Tennison Consulting Ltd.
-    
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
- 
-<!--
-The declaration of xml:space and xml:lang may need to be commented out because
-of problems processing the schema using various tools
--->
-      
-<xs:import namespace="http://www.w3.org/XML/1998/namespace" 
-  schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-
-<!-- 
-    An XSLT stylesheet may contain an in-line schema within an xsl:import-schema element,
-    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:annotation>
-  <xs:documentation>
-    PART A: definitions of complex types and model groups used as the basis 
-            for element definitions
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:complexType name="generic-element-type" mixed="true">
-  <xs:attribute name="default-collation" type="xsl:uri-list"/>
-  <xs:attribute name="exclude-result-prefixes" type="xsl:prefix-list-or-all"/>
-  <xs:attribute name="extension-element-prefixes" type="xsl:prefix-list"/>
-  <xs:attribute name="use-when" type="xsl:expression"/>
-  <xs:attribute name="xpath-default-namespace" type="xs:anyURI"/>
-  <xs:anyAttribute namespace="##other" processContents="lax"/>
-</xs:complexType>
-
-<xs:complexType name="versioned-element-type" mixed="true">
-  <xs:complexContent>
-    <xs:extension base="xsl:generic-element-type">    
-      <xs:attribute name="version" type="xs:decimal" use="optional"/>
-    </xs:extension>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:complexType name="element-only-versioned-element-type" mixed="false">
-  <xs:complexContent>
-    <xs:restriction base="xsl:versioned-element-type">
-      <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:complexType name="sequence-constructor">
-  <xs:complexContent mixed="true">
-    <xs:extension base="xsl:versioned-element-type">    
-      <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:extension>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:group name="sequence-constructor-group">
-  <xs:choice>
-    <xs:element ref="xsl:variable"/>
-    <xs:element ref="xsl:instruction"/>
-    <xs:group ref="xsl:result-elements"/>
-  </xs:choice>
-</xs:group>
-
-<xs:element name="declaration" type="xsl:generic-element-type" abstract="true"/>
-
-<xs:element name="instruction" type="xsl:versioned-element-type" abstract="true"/>
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-    PART B: definitions of individual XSLT elements    
-    Elements are listed in alphabetical order.    
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:element name="analyze-string" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:matching-substring" minOccurs="0"/>
-          <xs:element ref="xsl:non-matching-substring" minOccurs="0"/>
-          <xs:element ref="xsl:fallback" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="select" type="xsl:expression" use="required"/>
-        <xs:attribute name="regex" type="xsl:avt" use="required"/>
-        <xs:attribute name="flags" type="xsl:avt" default=""/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="apply-imports" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:with-param" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="apply-templates" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="xsl:sort"/>
-          <xs:element ref="xsl:with-param"/>
-        </xs:choice>
-        <xs:attribute name="select" type="xsl:expression" default="child::node()"/>
-        <xs:attribute name="mode" type="xsl:mode"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="attribute" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required"/>
-        <xs:attribute name="namespace" type="xsl:avt"/>
-        <xs:attribute name="select" type="xsl:expression"/>
-        <xs:attribute name="separator" type="xsl:avt"/>   
-        <xs:attribute name="type" type="xsl:QName"/>
-        <xs:attribute name="validation" type="xsl:validation-type"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>        
-
-<xs:element name="attribute-set" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="xsl:attribute"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="xsl:QName" use="required"/>
-        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default=""/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="call-template" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:with-param" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="xsl:QName" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="character-map" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:output-character" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="xsl:QName" use="required"/>
-        <xs:attribute name="use-character-maps" type="xsl:QNames" default=""/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="choose" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:when" maxOccurs="unbounded"/>
-          <xs:element ref="xsl:otherwise" minOccurs="0"/>
-        </xs:sequence>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="comment" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="select" type="xsl:expression"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="copy" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="copy-namespaces" type="xsl:yes-or-no" default="yes"/>
-        <xs:attribute name="inherit-namespaces" type="xsl:yes-or-no" default="yes"/>
-        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default=""/>
-        <xs:attribute name="type" type="xsl:QName"/>
-        <xs:attribute name="validation" type="xsl:validation-type"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="copy-of" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:attribute name="select" type="xsl:expression" use="required"/>
-        <xs:attribute name="copy-namespaces" type="xsl:yes-or-no" default="yes"/>
-        <xs:attribute name="type" type="xsl:QName"/>
-        <xs:attribute name="validation" type="xsl:validation-type"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="decimal-format" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="name" type="xsl:QName"/>
-        <xs:attribute name="decimal-separator" type="xsl:char" default="."/>
-        <xs:attribute name="grouping-separator" type="xsl:char" default=","/>
-        <xs:attribute name="infinity" type="xs:string" default="Infinity"/>
-        <xs:attribute name="minus-sign" type="xsl:char" default="-"/>
-        <xs:attribute name="NaN" type="xs:string" default="NaN"/>
-        <xs:attribute name="percent" type="xsl:char" default="%"/>
-        <xs:attribute name="per-mille" type="xsl:char" default="&#x2030;"/>
-        <xs:attribute name="zero-digit" type="xsl:char" default="0"/>
-        <xs:attribute name="digit" type="xsl:char" default="#"/>
-        <xs:attribute name="pattern-separator" type="xsl:char" default=";"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="element" substitutionGroup="xsl:instruction">
-  <xs:complexType mixed="true">
-    <xs:complexContent>
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required"/>
-        <xs:attribute name="namespace" type="xsl:avt"/>
-        <xs:attribute name="inherit-namespaces" type="xsl:yes-or-no" default="yes"/>
-        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default=""/>
-        <xs:attribute name="type" type="xsl:QName"/>
-        <xs:attribute name="validation" type="xsl:validation-type"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="fallback" substitutionGroup="xsl:instruction" type="xsl:sequence-constructor"/>
-
-<xs:element name="for-each" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:sort" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="select" type="xsl:expression" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="for-each-group" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:sort" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="select" type="xsl:expression" use="required"/>
-        <xs:attribute name="group-by" type="xsl:expression"/>
-        <xs:attribute name="group-adjacent" type="xsl:expression"/>            
-        <xs:attribute name="group-starting-with" type="xsl:pattern"/>            
-        <xs:attribute name="group-ending-with" type="xsl:pattern"/>            
-        <xs:attribute name="collation" type="xs:anyURI"/>            
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="function" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="xsl:QName" use="required"/>
-        <xs:attribute name="override" type="xsl:yes-or-no" default="yes"/>
-        <xs:attribute name="as" type="xsl:sequence-type" default="item()*"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="if" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="test" type="xsl:expression" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="import">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="href" type="xs:anyURI" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="import-schema" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xs:schema" minOccurs="0" maxOccurs="1"/>
-        </xs:sequence>
-        <xs:attribute name="namespace" type="xs:anyURI"/>
-        <xs:attribute name="schema-location" type="xs:anyURI"/>                  
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="include" substitutionGroup="xsl:declaration">
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="xsl:element-only-versioned-element-type">
-          <xs:attribute name="href" type="xs:anyURI" use="required"/>
-        </xs:extension>
-      </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="key" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required"/>
-        <xs:attribute name="match" type="xsl:pattern" use="required"/>
-        <xs:attribute name="use" type="xsl:expression"/>
-        <xs:attribute name="collation" type="xs:anyURI"/>               
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="matching-substring" type="xsl:sequence-constructor"/>
-
-<xs:element name="message" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="select" type="xsl:expression"/>
-        <xs:attribute name="terminate" type="xsl:avt" default="no"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="namespace" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required"/>
-        <xs:attribute name="select" type="xsl:expression"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="namespace-alias" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="stylesheet-prefix" type="xsl:prefix-or-default" use="required"/>
-        <xs:attribute name="result-prefix" type="xsl:prefix-or-default" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="next-match" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="xsl:with-param"/>
-          <xs:element ref="xsl:fallback"/>
-        </xs:choice>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="non-matching-substring" type="xsl:sequence-constructor"/>
-
-<xs:element name="number" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:attribute name="value" type="xsl:expression"/>
-        <xs:attribute name="select" type="xsl:expression"/>
-        <xs:attribute name="level" type="xsl:level" default="single"/>
-        <xs:attribute name="count" type="xsl:pattern"/>
-        <xs:attribute name="from" type="xsl:pattern"/>
-        <xs:attribute name="format" type="xsl:avt" default="1"/>
-        <xs:attribute name="lang" type="xsl:avt"/>
-        <xs:attribute name="letter-value" type="xsl:avt"/>
-        <xs:attribute name="ordinal" type="xsl:avt"/>        
-        <xs:attribute name="grouping-separator" type="xsl:avt"/>
-        <xs:attribute name="grouping-size" type="xsl:avt"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="otherwise" type="xsl:sequence-constructor"/>
-
-<xs:element name="output" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:generic-element-type">
-        <xs:attribute name="name" type="xsl:QName"/>
-        <xs:attribute name="method" type="xsl:method"/>
-        <xs:attribute name="byte-order-mark" type="xsl:yes-or-no"/>
-        <xs:attribute name="cdata-section-elements" type="xsl:QNames"/>
-        <xs:attribute name="doctype-public" type="xs:string"/>
-        <xs:attribute name="doctype-system" type="xs:string"/>
-        <xs:attribute name="encoding" type="xs:string"/>
-        <xs:attribute name="escape-uri-attributes" type="xsl:yes-or-no"/>
-        <xs:attribute name="include-content-type" type="xsl:yes-or-no"/>
-        <xs:attribute name="indent" type="xsl:yes-or-no"/>
-        <xs:attribute name="media-type" type="xs:string"/>
-        <xs:attribute name="normalization-form" type="xs:NMTOKEN"/>
-        <xs:attribute name="omit-xml-declaration" type="xsl:yes-or-no"/>
-        <xs:attribute name="standalone" type="xsl:yes-or-no-or-omit"/>
-        <xs:attribute name="undeclare-prefixes" type="xsl:yes-or-no"/>
-        <xs:attribute name="use-character-maps" type="xsl:QNames"/>
-        <xs:attribute name="version" type="xs:NMTOKEN"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="output-character">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="character" type="xsl:char" use="required"/>
-        <xs:attribute name="string" type="xs:string" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="param">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required"/>
-        <xs:attribute name="select" type="xsl:expression"/>
-        <xs:attribute name="as" type="xsl:sequence-type"/>
-        <xs:attribute name="required" type="xsl:yes-or-no"/>
-        <xs:attribute name="tunnel" type="xsl:yes-or-no"/>        
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="perform-sort" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:sort" minOccurs="1" maxOccurs="unbounded"/>
-          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="select" type="xsl:expression"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="preserve-space" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="elements" type="xsl:nametests" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="processing-instruction" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required"/>
-        <xs:attribute name="select" type="xsl:expression"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="result-document" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="format" type="xsl:QName"/>
-        <xs:attribute name="href" type="xsl:avt"/>
-        <xs:attribute name="type" type="xsl:QName"/>
-        <xs:attribute name="validation" type="xsl:validation-type"/>
-        <xs:attribute name="method" type="xsl:avt"/>
-        <xs:attribute name="byte-order-mark" type="xsl:avt"/>
-        <xs:attribute name="cdata-section-elements" type="xsl:avt"/>
-        <xs:attribute name="doctype-public" type="xsl:avt"/>
-        <xs:attribute name="doctype-system" type="xsl:avt"/>
-        <xs:attribute name="encoding" type="xsl:avt"/>
-        <xs:attribute name="escape-uri-attributes" type="xsl:avt"/>
-        <xs:attribute name="include-content-type" type="xsl:avt"/>
-        <xs:attribute name="indent" type="xsl:avt"/>
-        <xs:attribute name="media-type" type="xsl:avt"/>
-        <xs:attribute name="normalization-form" type="xsl:avt"/>
-        <xs:attribute name="omit-xml-declaration" type="xsl:avt"/>
-        <xs:attribute name="standalone" type="xsl:avt"/>
-        <xs:attribute name="undeclare-prefixes" type="xsl:avt"/>
-        <xs:attribute name="use-character-maps" type="xsl:QNames"/>
-        <xs:attribute name="output-version" type="xsl:avt"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="sequence" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="select" type="xsl:expression"/>
-        <xs:attribute name="as" type="xsl:sequence-type"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="sort">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="select" type="xsl:expression"/>  
-        <xs:attribute name="lang" type="xsl:avt"/>        
-        <xs:attribute name="data-type" type="xsl:avt" default="text"/>        
-        <xs:attribute name="order" type="xsl:avt" default="ascending"/>        
-        <xs:attribute name="case-order" type="xsl:avt"/>
-        <xs:attribute name="collation" type="xsl:avt"/>
-        <xs:attribute name="stable" type="xsl:yes-or-no"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="strip-space" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="elements" type="xsl:nametests" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="stylesheet" substitutionGroup="xsl:transform"/>
-
-<xs:element name="template" substitutionGroup="xsl:declaration">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="match" type="xsl:pattern"/>
-        <xs:attribute name="priority" type="xs:decimal"/>
-        <xs:attribute name="mode" type="xsl:modes"/>
-        <xs:attribute name="name" type="xsl:QName"/>
-        <xs:attribute name="as" type="xsl:sequence-type" default="item()*"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:complexType name="text-element-base-type">
-  <xs:simpleContent>
-    <xs:restriction base="xsl:versioned-element-type">
-      <xs:simpleType>
-        <xs:restriction base="xs:string"/>
-      </xs:simpleType>
-      <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-  </xs:simpleContent>
-</xs:complexType>
-
-<xs:element name="text" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:simpleContent>
-      <xs:extension base="xsl:text-element-base-type">
-        <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no"/>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:complexType name="transform-element-base-type">
-  <xs:complexContent>
-    <xs:restriction base="xsl:element-only-versioned-element-type">
-      <xs:attribute name="version" type="xs:decimal" use="required"/>
-      <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:element name="transform">
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:transform-element-base-type">
-        <xs:sequence>
-          <xs:element ref="xsl:import" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:choice minOccurs="0" maxOccurs="unbounded">
-            <xs:element ref="xsl:declaration"/>
-            <xs:element ref="xsl:variable"/>
-            <xs:element ref="xsl:param"/>              
-            <xs:any namespace="##other" processContents="lax"/> <!-- weaker than XSLT 1.0 -->
-          </xs:choice>
-        </xs:sequence>
-        <xs:attribute name="id" type="xs:ID"/>
-        <xs:attribute name="default-validation" type="xsl:validation-strip-or-preserve" default="strip"/>
-        <xs:attribute name="input-type-annotations" type="xsl:input-type-annotations-type" default="unspecified"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="value-of" substitutionGroup="xsl:instruction">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="select" type="xsl:expression"/>
-        <xs:attribute name="separator" type="xsl:avt"/>            
-        <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="variable">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required"/>
-        <xs:attribute name="select" type="xsl:expression" use="optional"/>
-        <xs:attribute name="as" type="xsl:sequence-type" use="optional"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="when">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="test" type="xsl:expression" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="with-param">
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required"/>
-        <xs:attribute name="select" type="xsl:expression"/>
-        <xs:attribute name="as" type="xsl:sequence-type"/>
-        <xs:attribute name="tunnel" type="xsl:yes-or-no"/>   
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-    PART C: definition of literal result elements
-    
-    There are three ways to define the literal result elements
-    permissible in a stylesheet.
-    
-    (a) do nothing. This allows any element to be used as a literal
-        result element, provided it is not in the XSLT namespace
-    
-    (b) declare all permitted literal result elements as members
-        of the xsl:literal-result-element substitution group
-        
-    (c) redefine the model group xsl:result-elements to accommodate
-        all permitted literal result elements.
-        
-    Literal result elements are allowed to take certain attributes
-    in the XSLT namespace. These are defined in the attribute group
-    literal-result-element-attributes, which can be included in the
-    definition of any literal result element.
-    
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:element name="literal-result-element" abstract="true" type="xs:anyType"/>
-
-<xs:attributeGroup name="literal-result-element-attributes">
-  <xs:attribute name="default-collation" form="qualified" type="xsl:uri-list"/>
-  <xs:attribute name="extension-element-prefixes" form="qualified" type="xsl:prefixes"/>
-  <xs:attribute name="exclude-result-prefixes" form="qualified" type="xsl:prefixes"/>
-  <xs:attribute name="xpath-default-namespace" form="qualified" type="xs:anyURI"/>    
-  <xs:attribute name="inherit-namespaces" form="qualified" type="xsl:yes-or-no" default="yes"/>
-  <xs:attribute name="use-attribute-sets" form="qualified" type="xsl:QNames" default=""/>
-  <xs:attribute name="use-when" form="qualified" type="xsl:expression"/>
-  <xs:attribute name="version" form="qualified" type="xs:decimal"/>
-  <xs:attribute name="type" form="qualified" type="xsl:QName"/>
-  <xs:attribute name="validation" form="qualified" type="xsl:validation-type"/>
-</xs:attributeGroup>
-
-<xs:group name="result-elements">
-  <xs:choice>
-    <xs:element ref="xsl:literal-result-element"/>
-    <xs:any namespace="##other" processContents="lax"/>
-    <xs:any namespace="##local" processContents="lax"/>
-  </xs:choice>
-</xs:group>
-
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-    PART D: definitions of simple types used in stylesheet attributes 
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:simpleType name="avt">
-  <xs:annotation>
-    <xs:documentation>
-      This type is used for all attributes that allow an attribute value template.
-      The general rules for the syntax of attribute value templates, and the specific
-      rules for each such attribute, are described in the XSLT 2.0 Recommendation.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:string"/>
-</xs:simpleType>
-
-<xs:simpleType name="char">
-  <xs:annotation>
-    <xs:documentation>
-      A string containing exactly one character.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:string">
-    <xs:length value="1"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="expression">
-  <xs:annotation>
-    <xs:documentation>
-      An XPath 2.0 expression.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:pattern value=".+"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="input-type-annotations-type">
-  <xs:annotation>
-    <xs:documentation>
-      Describes how type annotations in source documents are handled.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="preserve"/>
-    <xs:enumeration value="strip"/>   
-    <xs:enumeration value="unspecified"/>        
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="level">
-  <xs:annotation>
-    <xs:documentation>
-      The level attribute of xsl:number: 
-      one of single, multiple, or any.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:NCName">
-    <xs:enumeration value="single"/>
-    <xs:enumeration value="multiple"/>
-    <xs:enumeration value="any"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="mode">
-  <xs:annotation>
-    <xs:documentation>
-      The mode attribute of xsl:apply-templates: 
-      either a QName, or #current, or #default.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union memberTypes="xsl:QName">
-    <xs:simpleType>
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#default"/>
-        <xs:enumeration value="#current"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="modes">
-  <xs:annotation>
-    <xs:documentation>
-      The mode attribute of xsl:template: 
-      either a list, each member being either a QName or #default;
-      or the value #all
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union>
-    <xs:simpleType>
-      <xs:list>
-        <xs:simpleType>
-          <xs:union memberTypes="xsl:QName">
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="#default"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:union>
-        </xs:simpleType>
-      </xs:list>
-    </xs:simpleType>
-    <xs:simpleType>
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#all"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="nametests">
-  <xs:annotation>
-    <xs:documentation>
-      A list of NameTests, as defined in the XPath 2.0 Recommendation.
-      Each NameTest is either a QName, or "*", or "prefix:*", or "*:localname"
-    </xs:documentation>
-  </xs:annotation>
-  <xs:list>
-    <xs:simpleType>
-      <xs:union memberTypes="xsl:QName">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="*"/>
-          </xs:restriction>
-        </xs:simpleType>
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:pattern value="\i\c*:\*"/>
-            <xs:pattern value="\*:\i\c*"/>            
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:union>
-    </xs:simpleType>
-  </xs:list>
-</xs:simpleType>
-
-<xs:simpleType name="prefixes">
-  <xs:list itemType="xs:NCName"/>
-</xs:simpleType>
-
-<xs:simpleType name="prefix-list-or-all">
-  <xs:union memberTypes="xsl:prefix-list">
-    <xs:simpleType>
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#all"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-      
-<xs:simpleType name="prefix-list">
-  <xs:list itemType="xsl:prefix-or-default"/>
-</xs:simpleType>
-
-<xs:simpleType name="method">
-  <xs:annotation>
-    <xs:documentation>
-      The method attribute of xsl:output:
-      Either one of the recognized names "xml", "xhtml", "html", "text",
-      or a QName that must include a prefix.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union>
-    <xs:simpleType>
-      <xs:restriction base="xs:NCName">
-        <xs:enumeration value="xml"/>
-        <xs:enumeration value="xhtml"/>
-        <xs:enumeration value="html"/>
-        <xs:enumeration value="text"/>
-      </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType>
-      <xs:restriction base="xsl:QName">
-        <xs:pattern value="\c*:\c*"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="pattern">
-  <xs:annotation>
-    <xs:documentation>
-      A match pattern as defined in the XSLT 2.0 Recommendation.
-      The syntax for patterns is a restricted form of the syntax for
-      XPath 2.0 expressions.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xsl:expression"/>
-</xs:simpleType>
-
-<xs:simpleType name="prefix-or-default">
-  <xs:annotation>
-    <xs:documentation>
-      Either a namespace prefix, or #default.
-      Used in the xsl:namespace-alias element.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union memberTypes="xs:NCName">
-    <xs:simpleType>
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#default"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="QNames">
-  <xs:annotation>
-    <xs:documentation>
-      A list of QNames.
-      Used in the [xsl:]use-attribute-sets attribute of various elements,
-      and in the cdata-section-elements attribute of xsl:output
-    </xs:documentation>
-  </xs:annotation>
-  <xs:list itemType="xsl:QName"/>          
-</xs:simpleType>
-
-<xs:simpleType name="QName">
-  <xs:annotation>
-    <xs:documentation>
-      A QName.
-      This schema does not use the built-in type xs:QName, but rather defines its own
-      QName type. Although xs:QName would define the correct validation on these attributes,
-      a schema processor would expand unprefixed QNames incorrectly when constructing the PSVI,
-      because (as defined in XML Schema errata) an unprefixed xs:QName is assumed to be in
-      the default namespace, which is not the correct assumption for XSLT.
-      The data type is defined as a restriction of the built-in type Name, restricted
-      so that it can only contain one colon which must not be the first or last character.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:Name">
-    <xs:pattern value="([^:]+:)?[^:]+"/>      
-  </xs:restriction>        
-</xs:simpleType>
-
-<xs:simpleType name="sequence-type">
-  <xs:annotation>
-    <xs:documentation>
-      The description of a data type, conforming to the
-      SequenceType production defined in the XPath 2.0 Recommendation
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:pattern value=".+"/>      
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="uri-list">
-  <xs:list itemType="xs:anyURI"/>
-</xs:simpleType>
-
-<xs:simpleType name="validation-strip-or-preserve">
-  <xs:annotation>
-    <xs:documentation>
-      Describes different ways of type-annotating an element or attribute.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xsl:validation-type">
-    <xs:enumeration value="preserve"/>
-    <xs:enumeration value="strip"/>    
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="validation-type">
-  <xs:annotation>
-    <xs:documentation>
-      Describes different ways of type-annotating an element or attribute.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="strict"/>
-    <xs:enumeration value="lax"/>
-    <xs:enumeration value="preserve"/>
-    <xs:enumeration value="strip"/>    
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="yes-or-no">
-  <xs:annotation>
-    <xs:documentation>
-      One of the values "yes" or "no".
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="yes"/>
-    <xs:enumeration value="no"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="yes-or-no-or-omit">
-  <xs:annotation>
-    <xs:documentation>
-      One of the values "yes" or "no" or "omit".
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="yes"/>
-    <xs:enumeration value="no"/>
-    <xs:enumeration value="omit"/>
-  </xs:restriction>
-</xs:simpleType>
-
-</xs:schema>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/.classpath b/bundles/org.eclipse.wst.xsl.debug.ui/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.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="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/.cvsignore b/bundles/org.eclipse.wst.xsl.debug.ui/.cvsignore
deleted file mode 100644
index ac6029b..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-javaCompiler...args
-build.xml
-@dot
-temp.folder
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/.project b/bundles/org.eclipse.wst.xsl.debug.ui/.project
deleted file mode 100644
index cf9d0b2..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xsl.debug.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 0a7bb6d..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jan 03 22:24:01 EST 2008
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
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
deleted file mode 100644
index 863067b..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Fri Jan 04 01:05:33 EST 2008
-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.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.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.debug.ui/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index fdd8568..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Fri Jan 04 09:04:43 EST 2008
-compilers.incompatible-environment=1
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.missing-bundle-classpath-entries=0
-compilers.p.missing-packages=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
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
deleted file mode 100644
index e69f4ba..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,26 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.xsl.debug.ui;singleton:=true
-Bundle-Version: 0.5.0.qualifier
-Bundle-Activator: org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.core.variables,
- org.eclipse.debug.core,
- org.eclipse.debug.ui,
- org.eclipse.jdt.debug.ui,
- org.eclipse.jdt.launching,
- org.eclipse.jface.text,
- org.eclipse.ui.editors,
- org.eclipse.ui.ide,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.wst.sse.ui,
- org.eclipse.wst.xsl.launching,
- org.eclipse.wst.xsl.debug,
- org.eclipse.ui.console
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/about.html b/bundles/org.eclipse.wst.xsl.debug.ui/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</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.debug.ui/build.properties b/bundles/org.eclipse.wst.xsl.debug.ui/build.properties
deleted file mode 100644
index 878da21..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               plugin.properties,\
-               icons/
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/icons/brkp_obj.gif b/bundles/org.eclipse.wst.xsl.debug.ui/icons/brkp_obj.gif
deleted file mode 100644
index a831fe7..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/icons/brkp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/icons/localvariable_obj.gif b/bundles/org.eclipse.wst.xsl.debug.ui/icons/localvariable_obj.gif
deleted file mode 100644
index 3244b26..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/icons/localvariable_obj.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/icons/sample.gif b/bundles/org.eclipse.wst.xsl.debug.ui/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/plugin.properties b/bundles/org.eclipse.wst.xsl.debug.ui/plugin.properties
deleted file mode 100644
index 9b951fb..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-#Properties file for org.eclipse.wst.xsl.debug.ui
-Bundle-Name.0 = XSL Debug UI Plug-in (Incubating)
-page.name.1 = Installed Processors
-page.name.2 = Features
-page.name.3 = Output Properties
-launchMode.description.0 = Create a configuration to debug an XSLT transformation
-launchMode.description.1 = Create a configuration to run an XSLT transformation
-context.description.0 = Context for debugging XSLT
-context.name.0 = XSLT Debugging
-shortcut.label.0 = XSL Transformation
-shortcut.label.1 = XSLT Transformation
-Bundle-Vendor.0 = Eclipse.org
-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
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/plugin.xml b/bundles/org.eclipse.wst.xsl.debug.ui/plugin.xml
deleted file mode 100644
index a15dac8..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/plugin.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-	<extension point="org.eclipse.ui.preferencePages">
-		<page
-			category="org.eclipse.wst.xsl.ui.preferences.BasePreferencePage"
-			class="org.eclipse.wst.xsl.internal.debug.ui.preferences.ProcessorsPreferencePage"
-			id="org.eclipse.wst.xsl.launching.ui.preferences.ProcessorPreferencePage"
-			name="%page.name.1">
-		</page>
-		<page
-			category="org.eclipse.wst.xsl.ui.preferences.BasePreferencePage"
-			class="org.eclipse.wst.xsl.internal.debug.ui.preferences.FeaturesPreferencePage"
-			id="org.eclipse.wst.xsl.debug.ui.page1" name="%page.name.2" />
-		<page
-			category="org.eclipse.wst.xsl.ui.preferences.BasePreferencePage"
-			class="org.eclipse.wst.xsl.internal.debug.ui.preferences.OutputPreferencePage"
-			id="org.eclipse.wst.xsl.debug.ui.output" name="%page.name.3" />
-	</extension>
-	
-	<extension point="org.eclipse.ui.perspectiveExtensions">
-		<perspectiveExtension
-			targetID="org.eclipse.wst.xml.perspective">
-			<actionSet id="org.eclipse.debug.ui.debugActionSet" />
-			<actionSet id="org.eclipse.debug.ui.launchActionSet" />
-			<actionSet id="org.eclipse.debug.ui.breakpointActionSet" />
-			<actionSet id="org.eclipse.debug.ui.profileActionSet" />
-		</perspectiveExtension>
-	</extension>
-	
-	<extension
-		point="org.eclipse.debug.ui.launchConfigurationTypeImages">
-		<launchConfigurationTypeImage icon="icons/sample.gif"
-			configTypeID="org.eclipse.wst.xsl.launching.launchConfigurationType"
-			id="org.eclipse.wst.xsl.internal.debug.ui.launchConfigurationTypeImage" />
-	</extension>
-
-	<extension
-		point="org.eclipse.debug.ui.launchConfigurationTabGroups">
-		<launchConfigurationTabGroup
-			class="org.eclipse.wst.xsl.internal.debug.ui.XSLTTabGroup"
-			id="org.eclipse.wst.xsl.internal.debug.ui.launchConfigurationTabGroup.xslt"
-			type="org.eclipse.wst.xsl.launching.launchConfigurationType">
-			<launchMode description="%launchMode.description.0"
-				mode="debug" perspective="org.eclipse.debug.ui.DebugPerspective" />
-			<launchMode description="%launchMode.description.1"
-				mode="run" perspective="org.eclipse.wst.xml.perspective" />
-		</launchConfigurationTabGroup>
-	</extension>
-	
-	<extension point="org.eclipse.ui.contexts">
-		<context description="%context.description.0"
-			id="org.eclipse.wst.xsl.debug.ui.context" name="%context.name.0"
-			parentId="org.eclipse.debug.ui.debugging">
-		</context>
-	</extension>
-
-	<extension point="org.eclipse.debug.ui.debugModelPresentations">
-		<debugModelPresentation
-			class="org.eclipse.wst.xsl.internal.debug.ui.model.XSLModelPresentation"
-			id="org.eclipse.wst.xsl.launching.XSLDebugModel">
-		</debugModelPresentation>
-	</extension>
-
-	<extension point="org.eclipse.debug.ui.launchShortcuts">
-		<shortcut
-			class="org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchShortcut"
-			id="org.eclipse.wst.xsl.debug.ui.launchshortcut"
-			label="%shortcut.label.0" modes="run, debug, profile">
-			<contextualLaunch>
-				<enablement>
-					<with variable="selection">
-						<iterate>
-							<adapt
-								type="org.eclipse.core.resources.IFile">
-								<or>
-									<test
-										property="org.eclipse.core.resources.contentTypeId"
-										value="org.eclipse.core.runtime.xml" />
-									<test
-										property="org.eclipse.core.resources.contentTypeId"
-										value="org.eclipse.wst.xml.core.xmlsource" />
-									<test
-										property="org.eclipse.core.resources.contentTypeId"
-										value="org.eclipse.wst.xml.core.xslsource" />
-								</or>
-							</adapt>
-						</iterate>
-					</with>
-				</enablement>
-			</contextualLaunch>
-		   <description
-		         description="%description.description.0"
-		         mode="run">
-		   </description>
-		   <description
-		         description="%description.description.1"
-		         mode="debug">
-		   </description>
-		   <description
-		         description="%description.description.2"
-		         mode="profile">
-		   </description>
-		</shortcut>
-	</extension>
-	
-	<extension point="org.eclipse.debug.ui.debugModelContextBindings">
-		<modelContextBinding
-			contextId="org.eclipse.wst.xsl.debug.ui.context"
-			debugModelId="org.eclipse.wst.xsl.launching.XSLDebugModel">
-		</modelContextBinding>
-	</extension>
-	
-	<extension point="org.eclipse.debug.ui.contextViewBindings">
-		<contextViewBinding autoOpen="true"
-			contextId="org.eclipse.wst.xsl.debug.ui.context"
-			viewId="org.eclipse.wst.xml.ui.xpath.view">
-		</contextViewBinding>
-	</extension>
-
-	<extension point="org.eclipse.wst.sse.ui.breakpoint">
-		<breakpointContribution
-			id="org.eclipse.wst.xsl.debug.ui.providers">
-			<provider contentTypes="org.eclipse.wst.xml.core.xslsource"
-				class="org.eclipse.wst.xsl.internal.debug.ui.breakpoint.XSLBreakpointProvider:*xsl,*xslt"
-				id="org.eclipse.wst.xsl.debug.ui.XSLBreakpointProvider" />
-		</breakpointContribution>
-	</extension>
-
-	<extension point="org.eclipse.debug.ui.consoleLineTrackers">
-		<consoleLineTracker
-			id="org.eclipse.wst.xsl.internal.debug.ui.XSLConsoleLineTracker"
-			class="org.eclipse.wst.xsl.internal.debug.ui.XSLConsoleLineTracker"
-			processType="java">
-		</consoleLineTracker>
-	</extension>
-
-</plugin>
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
deleted file mode 100644
index 51215e9..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/AbstractTableBlock.java
+++ /dev/null
@@ -1,93 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui;
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.widgets.Table;
-
-public abstract class AbstractTableBlock extends AbstractLaunchConfigurationTab
-{
-	private int fSortColumn;
-
-	protected abstract Table getTable();
-
-	protected abstract IDialogSettings getDialogSettings();
-
-	protected abstract String getQualifier();
-
-	protected void setSortColumn(int column)
-	{
-		fSortColumn = column;
-	}
-
-	/**
-	 * Persist table settings into the give dialog store, prefixed with the
-	 * given key.
-	 */
-	public void saveColumnSettings()
-	{
-		int columnCount = getTable().getColumnCount();
-		for (int i = 0; i < columnCount; i++)
-		{
-			getDialogSettings().put(getQualifier() + ".columnWidth" + i, getTable().getColumn(i).getWidth());
-		}
-		getDialogSettings().put(getQualifier() + ".sortColumn", fSortColumn);
-	}
-
-	/**
-	 * Restore table settings from the given dialog store using the given key.
-	 * 
-	 * @param widths
-	 */
-	public void restoreColumnSettings()
-	{
-		getTable().layout(true);
-		restoreColumnWidths(getDialogSettings(), getQualifier());
-		int col = 0;
-		try
-		{
-			col = getDialogSettings().getInt(getQualifier() + ".sortColumn");
-		}
-		catch (NumberFormatException e)
-		{
-			col = 1;
-		}
-		setSortColumn(col);
-	}
-
-	private void restoreColumnWidths(IDialogSettings settings, String qualifier)
-	{
-		int columnCount = getTable().getColumnCount();
-		for (int i = 0; i < columnCount; i++)
-		{
-			int width = -1;
-			try
-			{
-				width = settings.getInt(qualifier + ".columnWidth" + i);
-			}
-			catch (NumberFormatException e)
-			{
-			}
-
-			if (width > 0)
-				getTable().getColumn(i).setWidth(width);
-		}
-	}
-
-	@Override
-	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/ResourceSelectionBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/ResourceSelectionBlock.java
deleted file mode 100644
index 07d855e..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/ResourceSelectionBlock.java
+++ /dev/null
@@ -1,536 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui;
-
-import java.io.File;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.StringVariableSelectionDialog;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceComparator;
-
-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;
-	protected static final int USE_DEFAULT_RADIO = 4;
-	protected static final int USE_OTHER_RADIO = 5;
-	protected static final int DIRECTORY_DIALOG_MESSAGE = 6;
-	protected static final int WORKSPACE_DIALOG_MESSAGE = 7;
-	protected static final int VARIABLES_BUTTON = 8;
-	protected static final int FILE_SYSTEM_BUTTON = 9;
-	protected static final int WORKSPACE_BUTTON = 10;
-	protected static final int WORKSPACE_DIALOG_TITLE = 11;
-
-	protected Button fWorkspaceButton;
-	protected Button fFileSystemButton;
-	protected Button fVariablesButton;
-	protected Button useDefaultCheckButton;
-	protected Text resourceText;
-	protected WidgetListener widgetListener = new WidgetListener();
-	private ILaunchConfiguration fLaunchConfiguration;
-	protected final boolean showDefault;
-	private final int resourceType;
-	private final boolean mustExist;
-	protected boolean required;
-	protected String defaultOutputFile;
-	protected String outputFile;
-	protected String fileLabel = "File:";
-
-	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); 
-			}
-			for (int i = 0; i < selection.length; i++)
-			{
-				if (resourceType == IResource.FOLDER && !(selection[i] instanceof IFolder))
-					return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null); 
-				else if (resourceType == IResource.FILE && !(selection[i] instanceof IFile))
-					return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null); 
-			}
-			return new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null); 
-		}
-	};
-
-	class WidgetListener extends SelectionAdapter implements ModifyListener
-	{
-		public void modifyText(ModifyEvent e)
-		{
-			textModified();
-			updateLaunchConfigurationDialog();
-		}
-
-		@Override
-		public void widgetSelected(SelectionEvent e)
-		{
-			Object source = e.getSource();
-			if (source == fWorkspaceButton)
-			{
-				handleWorkspaceResourceBrowseButtonSelected();
-			}
-			else if (source == fFileSystemButton)
-			{
-				handleExternalResourceBrowseButtonSelected();
-			}
-			else if (source == fVariablesButton)
-			{
-				handleResourceVariablesButtonSelected();
-			}
-			else if (source == useDefaultCheckButton)
-			{
-				updateResourceText(useDefaultCheckButton.getSelection());
-			}
-		}
-	}
-
-	public ResourceSelectionBlock()
-	{
-		this(true);
-	}
-
-	public ResourceSelectionBlock(boolean showDefault)
-	{
-		this(IResource.FOLDER, showDefault);
-	}
-
-	public ResourceSelectionBlock(int resourceType, boolean showDefault)
-	{
-		this(resourceType, showDefault, true);
-	}
-
-	public ResourceSelectionBlock(int resourceType, boolean showDefault, boolean required)
-	{
-		this(resourceType, showDefault, required, true);
-	}
-
-	public ResourceSelectionBlock(int resourceType, boolean showDefault, boolean required, boolean mustExist)
-	{
-		super();
-		this.showDefault = showDefault;
-		this.resourceType = resourceType;
-		this.required = required;
-		this.mustExist = mustExist;
-	}
-
-	public void createControl(Composite parent)
-	{
-		Composite group = createContainer(parent);
-		setControl(group);
-		createContents(group);
-	}
-
-	protected Composite createContainer(Composite parent)
-	{
-		Group group = new Group(parent, SWT.NONE);
-		group.setText(getMessage(GROUP_NAME));
-		// TODO PlatformUI.getWorkbench().getHelpSystem().setHelp...
-		GridLayout groupLayout = new GridLayout();
-		groupLayout.numColumns = 2;
-		groupLayout.makeColumnsEqualWidth = false;
-		group.setLayout(groupLayout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(gd);
-		group.setFont(parent.getFont());
-		return group;
-	}
-
-	protected void createContents(Composite parent)
-	{
-		createCheckboxAndText(parent);
-		createButtons(parent);
-	}
-
-	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);
-			useDefaultCheckButton.addSelectionListener(widgetListener);
-		}
-
-		Composite specificFileComp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginWidth = 0;
-		if (showDefault)
-			layout.marginLeft = 20;
-		else
-			layout.marginLeft = 0;
-		layout.marginHeight = 0;
-		specificFileComp.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		specificFileComp.setLayoutData(gd);
-
-		if (showDefault)
-		{
-			Label label = new Label(specificFileComp, SWT.NONE);
-			label.setText(fileLabel);
-		}
-
-		resourceText = new Text(specificFileComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = showDefault ? 1 : 2;
-		resourceText.setLayoutData(gd);
-		resourceText.setFont(parent.getFont());
-		resourceText.addModifyListener(widgetListener);
-	}
-
-	protected void createButtons(Composite parent)
-	{
-		// filler
-		new Label(parent, SWT.NONE);
-
-		Composite buttonComp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(3, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonComp.setLayout(layout);
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gd.horizontalSpan = 1;
-		buttonComp.setLayoutData(gd);
-		buttonComp.setFont(parent.getFont());
-
-		fWorkspaceButton = createPushButton(buttonComp, getMessage(WORKSPACE_BUTTON), null);
-		fWorkspaceButton.addSelectionListener(widgetListener);
-
-		fFileSystemButton = createPushButton(buttonComp, getMessage(FILE_SYSTEM_BUTTON), null);
-		fFileSystemButton.addSelectionListener(widgetListener);
-
-		fVariablesButton = createPushButton(buttonComp, getMessage(VARIABLES_BUTTON), null);
-		fVariablesButton.addSelectionListener(widgetListener);
-	}
-
-	protected void updateResourceText(boolean useDefault)
-	{
-		if (useDefault)
-		{
-			resourceText.setText(defaultOutputFile == null ? "" : defaultOutputFile);
-		}
-		else
-		{
-			resourceText.setText(outputFile == null ? "" : outputFile);
-		}
-		resourceText.setEnabled(!useDefault);
-		fFileSystemButton.setEnabled(!useDefault);
-		fVariablesButton.setEnabled(!useDefault);
-		fWorkspaceButton.setEnabled(!useDefault);
-	}
-
-	@Override
-	public void dispose()
-	{
-	}
-
-	protected void handleExternalResourceBrowseButtonSelected()
-	{
-		String currentWorkingDir = getText();
-		String selected = null;
-		if (resourceType == IResource.FOLDER)
-		{
-			DirectoryDialog dialog = new DirectoryDialog(getShell());
-			dialog.setMessage(getMessage(DIRECTORY_DIALOG_MESSAGE));
-			if (!currentWorkingDir.trim().equals(""))
-			{
-				File path = new File(currentWorkingDir);
-				if (path.exists())
-				{
-					dialog.setFilterPath(currentWorkingDir);
-				}
-			}
-			selected = dialog.open();
-		}
-		else
-		{
-			FileDialog dialog = new FileDialog(getShell());
-			if (!currentWorkingDir.trim().equals(""))
-			{
-				File path = new File(currentWorkingDir);
-				if (path.exists())
-				{
-					dialog.setFilterPath(currentWorkingDir);
-				}
-			}
-			String[] fileExtensions = getFileExtensions();
-			if (fileExtensions != null)
-			{
-				String[] filterExtensions = new String[fileExtensions.length];
-				for (int i = 0; i < fileExtensions.length; i++)
-				{
-					String ext = fileExtensions[i];
-					filterExtensions[i] = "*." + ext;
-				}
-				dialog.setFilterExtensions(filterExtensions);
-			}
-			selected = dialog.open();
-		}
-		if (selected != null)
-		{
-			resourceText.setText(selected);
-		}
-	}
-
-	protected String[] getFileExtensions()
-	{
-		return null;
-	}
-
-	protected void handleWorkspaceResourceBrowseButtonSelected()
-	{
-		IPath path = openWorkspaceResourceDialog();
-		if (path != null)
-			setText("${workspace_loc:" + path.toString() + "}");  
-	}
-
-	protected IPath openWorkspaceResourceDialog()
-	{
-		IResource currentResource = getResource();
-		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()
-		{
-			@Override
-			public boolean select(Viewer viewer, Object parentElement, Object element)
-			{
-				if (element instanceof IContainer)
-					return true;
-				if (resourceType != IResource.FILE)
-					return false;
-				IFile file = (IFile) element;
-				String[] extensions = getFileExtensions();
-				if (extensions == null)
-					return true;
-				String fileExt = file.getFileExtension();
-				if (fileExt != null)
-				{
-					for (String ext : extensions)
-					{
-						if (fileExt.equalsIgnoreCase(ext))
-							return true;
-					}
-				}
-				return false;
-			}
-		});
-		ViewerFilter filter = getResourceFilter();
-		if (filter != null)
-			dialog.addFilter(filter);
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
-		dialog.setInitialSelection(currentResource);
-		dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
-		dialog.setAllowMultiple(false);
-
-		if (dialog.open() == Window.OK)
-		{
-			Object[] elements = dialog.getResult();
-			if (elements.length > 0)
-				return ((IResource) elements[0]).getFullPath();
-		}
-		return null;
-	}
-
-	protected ViewerFilter getResourceFilter()
-	{
-		return null;
-	}
-
-	/**
-	 * Returns the selected workspace container,or <code>null</code>
-	 */
-	protected IResource getResource()
-	{
-		String path = getText();
-		if (path.length() > 0)
-		{
-			IResource res = null;
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			if (path.startsWith("${workspace_loc:")) 
-			{
-				IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-				try
-				{
-					path = manager.performStringSubstitution(path, false);
-					if (resourceType == IResource.FOLDER)
-					{
-						IContainer[] containers = root.findContainersForLocation(new Path(path));
-						if (containers.length > 0)
-						{
-							res = containers[0];
-						}
-					}
-					else if (resourceType == IResource.FILE)
-					{
-						IFile[] files = root.findFilesForLocation(new Path(path));
-						if (files.length > 0)
-						{
-							res = files[0];
-						}
-					}
-				}
-				catch (CoreException e)
-				{
-				}
-			}
-			else
-			{
-				res = root.findMember(path);
-			}
-			return res;
-		}
-		return null;
-	}
-
-	protected void handleResourceVariablesButtonSelected()
-	{
-		StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
-		dialog.open();
-		String variableText = dialog.getVariableExpression();
-		if (variableText != null)
-		{
-			resourceText.insert(variableText);
-		}
-	}
-
-	protected abstract void setDefaultResource();
-
-	@Override
-	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)
-		{
-			IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-			try
-			{
-				manager.validateStringVariables(workingDirPath);
-				if (mustExist)
-				{
-					String path = manager.performStringSubstitution(workingDirPath);
-					validateResource(path);
-				}
-			}
-			catch (CoreException e)
-			{
-				setErrorMessage(e.getMessage());
-				return false;
-			}
-		}
-		else if (mustExist && workingDirPath.length() > 0)
-		{
-			return validateResource(workingDirPath);
-		}
-		else if (required && workingDirPath.length() == 0)
-		{
-			setErrorMessage(getMessage(ERROR_DIRECTORY_NOT_SPECIFIED));
-		}
-		return true;
-	}
-
-	protected boolean validateResource(String workingDirPath)
-	{
-		if (resourceType == IResource.FOLDER)
-		{
-			IContainer container = (IContainer) getResource();
-			if (container == null)
-			{
-				File dir = new File(workingDirPath);
-				if (dir.isDirectory())
-				{
-					return true;
-				}
-			}
-			else
-				return true;
-		}
-		else if (resourceType == IResource.FILE)
-		{
-			File file = new File(workingDirPath);
-			if (file.isFile())
-			{
-				return true;
-			}
-		}
-		setErrorMessage(getMessage(ERROR_DIRECTORY_DOES_NOT_EXIST));
-		return false;
-	}
-
-	protected abstract String getMessage(int type);
-
-	protected void textModified()
-	{
-	}
-
-	protected String getText()
-	{
-		return resourceText.getText().trim();
-	}
-
-	protected void setText(String text)
-	{
-		resourceText.setText(text);
-	}
-
-	protected void setLaunchConfiguration(ILaunchConfiguration config)
-	{
-		fLaunchConfiguration = config;
-	}
-
-	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/XSLConsoleLineTracker.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLConsoleLineTracker.java
deleted file mode 100644
index ec70794..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLConsoleLineTracker.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005-2007 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Lars Gersmann (www.orangevolt.com) 
- *     Doug Satchwell (http://www.chasetechnology.co.uk) 
- *     
- *******************************************************************************/
-
-package org.eclipse.wst.xsl.internal.debug.ui;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLDecoder;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.ui.console.IConsole;
-import org.eclipse.debug.ui.console.IConsoleLineTracker;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.swt.program.Program;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.IHyperlink;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * <p>
- * A console line tracker for XSL launches.
- * </p>
- * 
- * <p>
- * Note: It is actually configured to run for all Java launches in
- * <code>plugin.xml</code>, but it only really becomes enabled when the
- * launch configuration type is
- * <code>org.eclipse.wst.xsl.launching.launchConfigurationType</code>.
- * </p>
- */
-public class XSLConsoleLineTracker implements IConsoleLineTracker
-{
-	private IConsole console;
-	private boolean enabled;
-
-	public void dispose()
-	{
-		console = null;
-	}
-
-	public void init(IConsole console)
-	{
-		this.console = console;
-		this.enabled = false;
-		try
-		{
-			String launchTypeId = console.getProcess().getLaunch().getLaunchConfiguration().getType().getIdentifier();
-			this.enabled = "org.eclipse.wst.xsl.launching.launchConfigurationType".equals(launchTypeId);
-		}
-		catch (CoreException e)
-		{
-			// do nothing
-		}
-	}
-
-	public void lineAppended(IRegion line)
-	{
-		if (!enabled)
-			return;
-
-		int lineOffset = line.getOffset();
-		int lineLength = line.getLength();
-		try
-		{
-			String text = console.getDocument().get(lineOffset, lineLength);
-			int i;
-			if ((i = text.indexOf("file:/")) != -1 || (i = text.indexOf("http://")) != -1 //$NON-NLS-1$ //$NON-NLS-2$
-					|| (i = text.indexOf("https://")) != -1 || (i = text.indexOf("ftp://")) != -1) //$NON-NLS-1$ //$NON-NLS-2$
-			{
-				int v = i + 9;
-				StringBuffer sb = new StringBuffer(text.substring(i, v));
-				for (; v < text.length(); v++)
-				{
-					char c = text.charAt(v);
-					if (c != ' ' && c != ':' && c != ';' && c != '{' && c != '}' && c != '[' && c != ']' && c != '(' && c != ')')
-					{
-						sb.append(c);
-					}
-					else
-					{
-						break;
-					}
-				}
-
-				ExternalFileConsoleHyperLink link = new ExternalFileConsoleHyperLink(sb.toString(), -1);
-				console.addLink(link, lineOffset + i, v - i);
-			}
-		}
-		catch (BadLocationException e)
-		{
-			// do nothing
-		}
-	}
-
-	private static class ExternalFileConsoleHyperLink implements IHyperlink
-	{
-		private final int fLineNumber;
-		private final String uri;
-
-		public ExternalFileConsoleHyperLink(String uri, int lineNumber)
-		{
-			this.fLineNumber = lineNumber;
-			this.uri = uri;
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.debug.ui.console.IConsoleHyperlink#linkEntered()
-		 */
-		public void linkEntered()
-		{
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.debug.ui.console.IConsoleHyperlink#linkExited()
-		 */
-		public void linkExited()
-		{
-		}
-
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see org.eclipse.debug.ui.console.IConsoleHyperlink#linkActivated()
-		 */
-		public void linkActivated()
-		{
-			URL url = null;
-			try
-			{
-				url = new URL(uri);
-			}
-			catch (MalformedURLException e)
-			{
-				return;
-			}
-			if ("file".equals(url.getProtocol()))
-			{
-				String path = URLDecoder.decode(url.getPath());
-				Path fExternalPath = new Path(path);
-				IFile[] files = ResourcesPlugin.getWorkspace().getRoot().findFilesForLocation(fExternalPath);
-				if (files.length > 0)
-				{
-					for (int i = 0; i < files.length; i++)
-					{
-						IFile curr = files[0];
-						IEditorPart part;
-						try
-						{
-							part = IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), curr);
-							if (part != null && fLineNumber != -1)
-							{
-								if (part instanceof ITextEditor)
-								{
-									try
-									{
-										revealLine((ITextEditor) part, fLineNumber);
-									}
-									catch (BadLocationException e)
-									{
-										// ignore
-									}
-								}
-								return;
-							}
-						}
-						catch (PartInitException e)
-						{
-							// ignore
-						}
-					}
-				}
-			}
-			else
-			{
-				Program.launch(url.toExternalForm());
-			}
-		}
-
-		private void revealLine(ITextEditor editor, int lineNumber) throws BadLocationException
-		{
-			IDocument document = editor.getDocumentProvider().getDocument(editor.getEditorInput());
-			IRegion region = document.getLineInformation(lineNumber - 1);
-			editor.selectAndReveal(region.getOffset(), 0);
-		}
-	}
-}
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
deleted file mode 100644
index 0d314a2..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIConstants.java
+++ /dev/null
@@ -1,26 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui;
-
-
-public class XSLDebugUIConstants
-{
-	private static final String PREFIX = XSLDebugUIPlugin.PLUGIN_ID + '.';
-	public static final String PROCESSOR_DETAILS_DIALOG = PREFIX + "PROCESSOR_DETAILS_DIALOG";
-	public static final String PROCESSOR_OUTPUT_PROPERTIES_BLOCK = PREFIX + "PROCESSOR_OUTPUT_PROPERTIES_BLOCK";
-	public static final String MAIN_PARAMATERS_BLOCK = PREFIX + "MAIN_PARAMATERS_BLOCK";
-	public static final String MAIN_TRANSFORMS_BLOCK = PREFIX + "MAIN_TRANSFORMS_BLOCK";
-	public static final String FEATURES_BLOCK = PREFIX + "FEATURES_BLOCK";
-	public static final String OUTPUT_BLOCK = PREFIX + "OUTPUT_BLOCK";
-	public static final String FEATURES_LAUNCH_BLOCK = PREFIX + "FEATURES_LAUNCH_BLOCK";
-
-	public static final String XSL_EDITOR_ID = "org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart";
-}
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
deleted file mode 100644
index 57d8bd4..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLDebugUIPlugin.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.eclipse.wst.xsl.internal.debug.ui;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.preference.PreferenceNode;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class XSLDebugUIPlugin extends AbstractUIPlugin
-{
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.debug.ui";
-
-	// The shared instance
-	private static XSLDebugUIPlugin plugin;
-
-	public XSLDebugUIPlugin()
-	{
-		plugin = this;
-	}
-
-	@Override
-	public void start(BundleContext context) throws Exception
-	{
-		super.start(context);
-	}
-
-	@Override
-	public void stop(BundleContext context) throws Exception
-	{
-		plugin = null;
-		super.stop(context);
-	}
-
-	public static XSLDebugUIPlugin getDefault()
-	{
-		return plugin;
-	}
-
-	public static ImageDescriptor getImageDescriptor(String path)
-	{
-		return imageDescriptorFromPlugin(PLUGIN_ID, path);
-	}
-
-	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);
-			}
-		});
-	}
-
-	public static Display getStandardDisplay()
-	{
-		Display display;
-		display = Display.getCurrent();
-		if (display == null)
-			display = Display.getDefault();
-		return display;
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow()
-	{
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public static Shell getActiveWorkbenchShell()
-	{
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		if (window != null)
-		{
-			return window.getShell();
-		}
-		return null;
-	}
-
-	public static IWorkbenchPage getActivePage()
-	{
-		IWorkbenchWindow w = getActiveWorkbenchWindow();
-		if (w != null)
-		{
-			return w.getActivePage();
-		}
-		return null;
-	}
-
-	public static void log(Exception e)
-	{
-		getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, 0, "", 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
deleted file mode 100644
index 144a41a..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchConfigurationTab.java
+++ /dev/null
@@ -1,125 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-public abstract class XSLLaunchConfigurationTab extends AbstractLaunchConfigurationTab
-{
-	private ILaunchConfigurationTab[] blocks;
-
-	protected void setBlocks(ILaunchConfigurationTab[] blocks)
-	{
-		this.blocks = blocks;
-	}
-
-	public void createControl(Composite parent)
-	{
-		Composite comp = new Composite(parent, SWT.NONE);
-		comp.setFont(parent.getFont());
-		// TODO PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(),
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		comp.setLayout(layout);
-		setControl(comp);
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-		for (ILaunchConfigurationTab element : blocks)
-			element.setDefaults(configuration);
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		for (ILaunchConfigurationTab element : blocks)
-			element.initializeFrom(configuration);
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		for (ILaunchConfigurationTab element : blocks)
-			element.performApply(configuration);
-	}
-
-	@Override
-	public void setLaunchConfigurationDialog(ILaunchConfigurationDialog dialog)
-	{
-		super.setLaunchConfigurationDialog(dialog);
-		for (ILaunchConfigurationTab element : blocks)
-			element.setLaunchConfigurationDialog(dialog);
-	}
-
-	@Override
-	public void dispose()
-	{
-		for (ILaunchConfigurationTab element : blocks)
-			element.dispose();
-	}
-
-	@Override
-	public void activated(ILaunchConfigurationWorkingCopy workingCopy)
-	{
-		// don't call initializeFrom
-		// super.activated(workingCopy);
-		for (ILaunchConfigurationTab element : blocks)
-			element.activated(workingCopy);
-	}
-
-	@Override
-	public boolean isValid(ILaunchConfiguration configuration)
-	{
-		boolean valid = true;
-		for (ILaunchConfigurationTab element : blocks)
-			valid &= element.isValid(configuration);
-		return valid;
-	}
-
-	@Override
-	public String getErrorMessage()
-	{
-		String m = super.getErrorMessage();
-		if (m == null)
-		{
-			for (ILaunchConfigurationTab element : blocks)
-			{
-				m = element.getErrorMessage();
-				if (m != null)
-					break;
-			}
-		}
-		return m;
-	}
-
-	@Override
-	public String getMessage()
-	{
-		String m = super.getMessage();
-		if (m == null)
-		{
-			for (ILaunchConfigurationTab element : blocks)
-			{
-				m = element.getMessage();
-				if (m != null)
-					break;
-			}
-		}
-		return m;
-	}
-
-}
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
deleted file mode 100644
index 67fcf97..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLLaunchShortcut.java
+++ /dev/null
@@ -1,327 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.ILaunchShortcut;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.StatusDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.dialogs.ElementListSelectionDialog;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.InputFileBlock;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-import org.eclipse.wst.xsl.launching.config.LaunchHelper;
-import org.eclipse.wst.xsl.launching.config.LaunchPipeline;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-/**
- * <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>
- * </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>
- * 
- * @author Doug
- */
-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(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);
-		} 
-	}
-	
-	private void searchAndLaunch(Object[] objects, String mode)
-	{
-		if (fillFiles(objects))
-		{
-			// ensure we have an input file
-			if (xmlFile == null)
-				promptForInput();
-			if (xmlFile != null || xmlFilePath != null)
-				launch(mode);
-		}
-	}
-
-	private void promptForInput()
-	{
-		// prompt for input xml file
-		StatusDialog dialog = new StatusDialog(getShell()){
-			private InputFileBlock inputFileBlock = new InputFileBlock(null);
-			
-			@Override
-			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.setFont(comp.getFont());
-				GridData gd = new GridData();
-				gd.horizontalIndent = 5;
-				gd.verticalIndent = 5;
-				gd.widthHint = 380;
-				label.setLayoutData(gd);
-				label.setText("Select an input file for the transformation");
-				
-				inputFileBlock.createControl(comp);
-				return comp;
-			}
-			
-			@Override
-			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;
-				super.okPressed();
-			}
-			
-		};
-		dialog.setHelpAvailable(false);
-		dialog.setStatusLineAboveButtons(true);
-		dialog.setTitle("Input File");
-		dialog.open();
-	}
-
-	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 (XSLTRuntime.isXMLFile(file))
-				{
-					if (XSLTRuntime.isXSLFile(file))
-						xslFileList.add(file);
-					else if (xmlFile==null)
-						xmlFile = file;
-					else
-						return false; // no action if we have more than than 1 xml file
-				}
-			}
-		}
-		xslFiles = xslFileList.toArray(new IFile[0]);
-		return true;
-	}
-
-	private void launch(String mode)
-	{
-		if (xmlFile!=null)
-			xmlFilePath = xmlFile.getLocation();
-		ILaunchConfiguration config = null;
-		try
-		{
-			config = findOrCreateLaunchConfiguration();
-			if (config!=null)
-				DebugUITools.launch(config, mode);
-		}
-		catch (CoreException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-
-	private ILaunchManager getLaunchManager()
-	{
-		return DebugPlugin.getDefault().getLaunchManager();
-	}
-
-	private 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);
-			inputFile = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(inputFile);
-			Path path = new Path(inputFile);
-			// the source xml file must be the same
-			if (path.equals(xmlFilePath))
-			{
-				LaunchHelper lh = new LaunchHelper(config);
-				// all the selected stylesheets must be in the pipeline
-				boolean found = false;
-				for (IFile stylesheet : xslFiles)
-				{
-					found = false;
-					for (Iterator<LaunchTransform> iter = lh.getPipeline().getTransformDefs().iterator(); iter.hasNext();)
-					{
-						LaunchTransform lt = iter.next();
-						if (lt.getLocation().equals(stylesheet.getLocation()))
-						{
-							found = true;
-							break;
-						}
-					}
-					if (!found)
-						break;
-				}
-				if (found)
-					candidateConfigs.add(config);
-			}
-		}
-
-		ILaunchConfiguration config = null;
-		int candidateCount = candidateConfigs.size();
-		if (candidateCount == 1)
-			config = (ILaunchConfiguration)candidateConfigs.get(0);
-		else if (candidateCount > 1)
-			config = chooseConfiguration(candidateConfigs);
-		else
-			config = createConfiguration();
-
-		return config;
-	}
-
-	private ILaunchConfiguration chooseConfiguration(List<ILaunchConfiguration> configList)
-	{
-		IDebugModelPresentation labelProvider = DebugUITools.newDebugModelPresentation();
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(getShell(), labelProvider);
-		dialog.setElements(configList.toArray());
-		dialog.setTitle("Select a Launch Configuration");
-		dialog.setMessage("&Select existing configuration:");
-		dialog.setMultipleSelection(false);
-		int result = dialog.open();
-		labelProvider.dispose();
-		if (result == Window.OK)
-		{
-			return (ILaunchConfiguration) dialog.getFirstResult();
-		}
-		return null;
-	}
-
-	private ILaunchConfiguration createConfiguration()
-	{
-		ILaunchConfiguration config = null;
-		try
-		{
-			ILaunchConfigurationType configType = getConfigurationType();
-			ILaunchConfigurationWorkingCopy wc = configType.newInstance(null, getLaunchManager().generateUniqueLaunchConfigurationNameFrom(xmlFilePath.lastSegment()));
-			if (xmlFile != null)
-				wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, "${workspace_loc:" + xmlFile.getFullPath().toPortableString()+"}");
-			else
-				wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, xmlFilePath.toPortableString());
-			wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_FEATURES_FROM_PREFERENCES, true);
-			wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, true);
-			wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, true);
-			wc.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR_WORKING_DIR, true);
-
-			LaunchPipeline pipeline = new LaunchPipeline();
-			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() });
-			config = wc.doSave();
-		}
-		catch (CoreException exception)
-		{
-			MessageDialog.openError(getShell(), "Error", exception.getStatus().getMessage());
-		}
-		return config;
-	}
-
-	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
deleted file mode 100644
index 339ec51..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/XSLTTabGroup.java
+++ /dev/null
@@ -1,40 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui;
-
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
-import org.eclipse.debug.ui.CommonTab;
-import org.eclipse.debug.ui.ILaunchConfigurationDialog;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
-import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.XSLMainTab;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.output.OutputTab;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.XSLProcessorTab;
-
-public class XSLTTabGroup extends AbstractLaunchConfigurationTabGroup
-{
-	public XSLTTabGroup()
-	{
-	}
-
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode)
-	{
-		XSLMainTab main = new XSLMainTab();
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[]
-		{ main, new XSLProcessorTab(), new OutputTab(main),
-		// new FOFormatterTab(),
-				// new XSLFeaturesTab(),
-				new JavaJRETab(), new JavaClasspathTab(), new SourceLookupTab(), new CommonTab() };
-		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
deleted file mode 100644
index f1136d8..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractParameterAction.java
+++ /dev/null
@@ -1,110 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer;
-
-public abstract class AbstractParameterAction extends SelectionListenerAction
-{
-	public static final int DEFAULT = 0;
-	public static final int ADD = 1;
-	public static final int REMOVE = 2;
-	public static final int MOVE = 3;
-
-	private ParameterViewer viewer;
-	private Button button;
-	private Shell shell;
-
-	protected AbstractParameterAction(String text, ParameterViewer viewer)
-	{
-		super(text);
-		setViewer(viewer);
-	}
-
-	public void setViewer(ParameterViewer viewer)
-	{
-		if (this.viewer != null)
-		{
-			this.viewer.removeSelectionChangedListener(this);
-		}
-		this.viewer = viewer;
-		if (viewer != null)
-		{
-			viewer.addSelectionChangedListener(this);
-			update();
-		}
-	}
-
-	protected ParameterViewer getViewer()
-	{
-		return viewer;
-	}
-
-	public void setButton(Button button)
-	{
-		this.button = button;
-		button.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent evt)
-			{
-				run();
-			}
-		});
-		button.setEnabled(isEnabled());
-	}
-
-	@Override
-	public void setEnabled(boolean enabled)
-	{
-		super.setEnabled(enabled);
-		if (button != null)
-		{
-			button.setEnabled(enabled);
-		}
-	}
-
-	protected void update()
-	{
-		selectionChanged((IStructuredSelection) getViewer().getSelection());
-	}
-
-	protected Shell getShell()
-	{
-		if (shell == null)
-		{
-			shell = getViewer().getShell();
-		}
-		return shell;
-	}
-
-	public void setShell(Shell shell)
-	{
-		this.shell = shell;
-	}
-
-	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
-		return getViewer().updateSelection(getActionType(), selection);
-	}
-
-	protected int getActionType()
-	{
-		return 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
deleted file mode 100644
index 1e4a1e9..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AbstractStylesheetAction.java
+++ /dev/null
@@ -1,164 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.actions.SelectionListenerAction;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer;
-import org.eclipse.wst.xsl.launching.config.LaunchPipeline;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public abstract class AbstractStylesheetAction extends SelectionListenerAction
-{
-	public static final int DEFAULT = 0;
-	public static final int ADD = 1;
-	public static final int REMOVE = 2;
-	public static final int MOVE = 3;
-
-	private StylesheetViewer viewer;
-	private Button button;
-	private Shell shell;
-
-	protected AbstractStylesheetAction(String text, StylesheetViewer viewer)
-	{
-		super(text);
-		setViewer(viewer);
-	}
-
-	public void addTransforms(LaunchTransform[] res)
-	{
-		viewer.addTransforms(res);
-	}
-
-	public void setViewer(StylesheetViewer viewer)
-	{
-		if (this.viewer != null)
-		{
-			this.viewer.removeSelectionChangedListener(this);
-		}
-		this.viewer = viewer;
-		if (viewer != null)
-		{
-			viewer.addSelectionChangedListener(this);
-			update();
-		}
-	}
-
-	protected StylesheetViewer getViewer()
-	{
-		return viewer;
-	}
-
-	public void setButton(Button button)
-	{
-		this.button = button;
-		button.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent evt)
-			{
-				run();
-			}
-		});
-		button.setEnabled(isEnabled());
-	}
-
-	@Override
-	public void setEnabled(boolean enabled)
-	{
-		super.setEnabled(enabled);
-		if (button != null)
-		{
-			button.setEnabled(enabled);
-		}
-	}
-
-	protected void update()
-	{
-		selectionChanged((IStructuredSelection) getViewer().getSelection());
-	}
-
-	protected Shell getShell()
-	{
-		if (shell == null)
-		{
-			shell = getViewer().getShell();
-		}
-		return shell;
-	}
-
-	public void setShell(Shell shell)
-	{
-		this.shell = shell;
-	}
-
-	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
-		return getViewer().updateSelection(getActionType(), selection);
-	}
-
-	protected int getActionType()
-	{
-		return DEFAULT;
-	}
-
-	protected List<?> getOrderedSelection()
-	{
-		List<?> selection = ((IStructuredSelection) getViewer().getSelection()).toList();
-		return selection;
-	}
-
-	protected List<LaunchTransform> getEntriesAsList()
-	{
-		// IStylesheetEntry[] entries = getViewer().getEntries();
-		// List list = new ArrayList(entries.length);
-		// for (int i = 0; i < entries.length; i++) {
-		// list.add(entries[i]);
-		// }
-		LaunchPipeline lp = (LaunchPipeline) getViewer().getInput();
-		return lp.getTransformDefs();
-	}
-
-	protected void setEntries(List<?> list)
-	{
-		getViewer().setEntries((LaunchTransform[]) list.toArray(new LaunchTransform[list.size()]));
-		// // update all selection listeners
-		// getViewer().setSelection(getViewer().getSelection());
-	}
-
-	protected boolean isIndexSelected(IStructuredSelection selection, int index)
-	{
-		if (selection.isEmpty())
-		{
-			return false;
-		}
-		Iterator<?> entries = selection.iterator();
-		List<?> list = getEntriesAsList();
-		while (entries.hasNext())
-		{
-			Object next = entries.next();
-			if (list.indexOf(next) == index)
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ActionMessages.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ActionMessages.java
deleted file mode 100644
index d9c102f..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ActionMessages.java
+++ /dev/null
@@ -1,58 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class ActionMessages extends NLS
-{
-	private static final String BUNDLE_NAME = "org.eclipse.wst.xsl.internal.debug.ui.actions.ActionMessages";
-
-	public static String RemoveAction_Text;
-
-	public static String AddWorkspaceFileAction_Text;
-
-	public static String AddExternalFileAction_Text;
-
-	public static String MoveDownAction_Text;
-
-	public static String MoveUpAction_Text;
-
-	public static String AddExternalFileAction_Selection_3;
-
-	public static String AddWorkspaceFileAction_DialogMessage;
-
-	public static String AddWorkspaceFileAction_DialogTitle;
-
-	public static String EditStylesheetParametersAction_Text;
-
-	public static String AddParameterAction;
-
-	public static String RemoveParameterAction;
-
-	public static String VariablesFieldButton_Text;
-
-	public static String AddParameterAction_Dialog;
-
-	public static String AddParameterAction_Dialog_Label;
-
-	public static String AddParameterAction_Dialog_Name;
-
-	public static String AddParameterAction_Dialog_Type;
-
-	public static String AddParameterAction_Dialog_Value;
-
-	static
-	{
-		NLS.initializeMessages(BUNDLE_NAME, ActionMessages.class);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ActionMessages.properties b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ActionMessages.properties
deleted file mode 100644
index e11aaa5..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ActionMessages.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-RemoveAction_Text=Remove
-AddWorkspaceFileAction_Text=Add Files
-AddExternalFileAction_Text=Add External Files
-MoveDownAction_Text=Move Down
-MoveUpAction_Text=Move Up
-AddExternalFileAction_Selection_3=
-AddWorkspaceFileAction_DialogMessage=Choose Stylesheet
-AddWorkspaceFileAction_DialogTitle=
-EditStylesheetParametersAction_Text=Edit Parameters
-AddParameterAction=Add Parameter
-RemoveParameterAction=Remove Parameter
-VariablesFieldButton_Text=Variables...
-AddParameterAction_Dialog=Add XSLT Parameter
-AddParameterAction_Dialog_Label=AddParameterAction_Dialog_Label
-AddParameterAction_Dialog_Name=Name:
-AddParameterAction_Dialog_Type=Type:
-AddParameterAction_Dialog_Value=Value:
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
deleted file mode 100644
index b03f331..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddExternalFileAction.java
+++ /dev/null
@@ -1,55 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class AddExternalFileAction extends OpenDialogAction
-{
-
-	public AddExternalFileAction(StylesheetViewer viewer, String dialogSettingsPrefix)
-	{
-		super(ActionMessages.AddExternalFileAction_Text, viewer, dialogSettingsPrefix);
-	}
-
-	@Override
-	public void run()
-	{
-		String lastUsedPath = getDialogSetting(LAST_PATH_SETTING);
-		if (lastUsedPath == null)
-		{
-			lastUsedPath = "";
-		}
-		FileDialog dialog = new FileDialog(getShell(), SWT.MULTI);
-		dialog.setText(ActionMessages.AddExternalFileAction_Selection_3);
-		dialog.setFilterPath(lastUsedPath);
-		dialog.setFilterExtensions(new String[]{ "*.xsl" });
-		String res = dialog.open();
-		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);
-
-		setDialogSetting(LAST_PATH_SETTING, filterPath.toOSString());
-
-		addTransforms(lts);
-	}
-}
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
deleted file mode 100644
index c512922..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddParameterAction.java
+++ /dev/null
@@ -1,60 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import org.eclipse.jface.window.Window;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer;
-import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
-
-public class AddParameterAction extends AbstractParameterAction
-{
-	final String[] types = new String[]
-	{ LaunchAttribute.TYPE_STRING, LaunchAttribute.TYPE_BOOLEAN, LaunchAttribute.TYPE_INT, LaunchAttribute.TYPE_DOUBLE, LaunchAttribute.TYPE_FLOAT, LaunchAttribute.TYPE_OBJECT,
-			LaunchAttribute.TYPE_CLASS, };
-
-	public AddParameterAction(ParameterViewer viewer)
-	{
-		super(ActionMessages.AddParameterAction, viewer);
-	}
-
-	@Override
-	public void run()
-	{
-		MultipleInputDialog dialog = new MultipleInputDialog(getShell(), ActionMessages.AddParameterAction_Dialog);
-		String namelabel = ActionMessages.AddParameterAction_Dialog_Name;
-		dialog.addTextField(namelabel, null, false);
-		String typelabel = ActionMessages.AddParameterAction_Dialog_Type;
-		dialog.addComboField(typelabel, 0, types);
-		String variableslabel = ActionMessages.AddParameterAction_Dialog_Value;
-		dialog.addVariablesField(variableslabel, null, false);
-		dialog.open();
-
-		if (dialog.getReturnCode() == Window.OK)
-		{
-			String name = dialog.getStringValue(namelabel);
-			int type = dialog.getIntValue(typelabel);
-			String value = dialog.getStringValue(variableslabel);
-			LaunchAttribute parameter = null;
-			if (value != null && value.indexOf("${") > -1)
-				parameter = new LaunchAttribute(name, types[type], value);
-			else
-				parameter = new LaunchAttribute(name, types[type], value);
-			getViewer().addParameter(parameter);
-		}
-	}
-
-	@Override
-	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
deleted file mode 100644
index b0eceb6..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/AddWorkspaceFileAction.java
+++ /dev/null
@@ -1,109 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceSorter;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-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);
-			}
-			for (int i = 0; i < selection.length; i++)
-			{
-				if (!(selection[i] instanceof IFile))
-				{
-					return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null);
-				}
-			}
-			return new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null);
-		}
-	};
-
-	public AddWorkspaceFileAction(StylesheetViewer viewer)
-	{
-		super(ActionMessages.AddWorkspaceFileAction_Text, viewer);
-	}
-
-	@Override
-	public void run()
-	{
-
-		// ViewerFilter filter= new StylesheetFilter(getSelectedJars());
-
-		ILabelProvider lp = new WorkbenchLabelProvider();
-		ITreeContentProvider cp = new WorkbenchContentProvider();
-
-		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getShell(), lp, cp);
-		dialog.setValidator(validator);
-		dialog.setTitle(ActionMessages.AddWorkspaceFileAction_DialogTitle);
-		dialog.setMessage(ActionMessages.AddWorkspaceFileAction_DialogMessage);
-		dialog.addFilter(new ViewerFilter()
-		{
-			@Override
-			public boolean select(Viewer viewer, Object parentElement, Object element)
-			{
-				if (element instanceof IContainer)
-					return true;
-				IFile file = (IFile) element;
-				String fileExt = file.getFileExtension();
-				if (fileExt != null && fileExt.equalsIgnoreCase("xsl"))
-				{
-					return true;
-				}
-				return false;
-			}
-		});
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
-		dialog.setSorter(new ResourceSorter(ResourceSorter.NAME));
-
-		if (dialog.open() == Window.OK)
-		{
-			Object[] elements = dialog.getResult();
-			LaunchTransform[] res = new LaunchTransform[elements.length];
-			for (int i = 0; i < res.length; i++)
-			{
-				IResource elem = (IResource) elements[i];
-				res[i] = new LaunchTransform(elem.getFullPath().toPortableString(), LaunchTransform.RESOURCE_TYPE);
-			}
-			addTransforms(res);
-		}
-	}
-
-	@Override
-	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
deleted file mode 100644
index 881819f..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/ControlAccessibleListener.java
+++ /dev/null
@@ -1,43 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.widgets.Control;
-
-public class ControlAccessibleListener extends AccessibleAdapter
-{
-	private final String controlName;
-
-	public ControlAccessibleListener(String name)
-	{
-		controlName = name;
-	}
-
-	@Override
-	public void getName(AccessibleEvent e)
-	{
-		e.result = controlName;
-	}
-
-	public static void addListener(Control comp, String name)
-	{
-		// strip mnemonic
-		String[] strs = name.split("&");
-		StringBuffer stripped = new StringBuffer();
-		for (String element : strs)
-		{
-			stripped.append(element);
-		}
-		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
deleted file mode 100644
index 22938cf..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveDownAction.java
+++ /dev/null
@@ -1,68 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class MoveDownAction extends AbstractStylesheetAction
-{
-	public MoveDownAction(StylesheetViewer viewer)
-	{
-		super(ActionMessages.MoveDownAction_Text, viewer);
-	}
-
-	@Override
-	public void run()
-	{
-		List<?> targets = getOrderedSelection();
-		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--)
-		{
-			Object target = targets.get(i);
-			index = list.indexOf(target);
-			if (index < bottom)
-			{
-				bottom = index + 1;
-				Object temp = list.get(bottom);
-				list.set(bottom, (LaunchTransform)target);
-				list.set(index, (LaunchTransform)temp);
-			}
-			bottom = index;
-		}
-		setEntries(list);
-	}
-
-	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
-		if (selection.isEmpty())
-		{
-			return false;
-		}
-		return getViewer().updateSelection(getActionType(), selection) && !isIndexSelected(selection, getEntriesAsList().size() - 1);
-	}
-
-	@Override
-	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
deleted file mode 100644
index 906f529..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MoveUpAction.java
+++ /dev/null
@@ -1,70 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class MoveUpAction extends AbstractStylesheetAction
-{
-	public MoveUpAction(StylesheetViewer viewer)
-	{
-		super(ActionMessages.MoveUpAction_Text, viewer);
-	}
-
-	@Override
-	public void run()
-	{
-		List<?> targets = getOrderedSelection();
-		if (targets.isEmpty())
-		{
-			return;
-		}
-		int top = 0;
-		int index = 0;
-		List<LaunchTransform> list = getEntriesAsList();
-		Iterator<?> entries = targets.iterator();
-		while (entries.hasNext())
-		{
-			Object target = entries.next();
-			index = list.indexOf(target);
-			if (index > top)
-			{
-				top = index - 1;
-				Object temp = list.get(top);
-				list.set(top, (LaunchTransform)target);
-				list.set(index, (LaunchTransform)temp);
-			}
-			top = index;
-		}
-		setEntries(list);
-	}
-
-	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
-		if (selection.isEmpty())
-		{
-			return false;
-		}
-		return getViewer().updateSelection(getActionType(), selection) && !isIndexSelected(selection, 0);
-	}
-
-	@Override
-	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
deleted file mode 100644
index a90e55c..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/MultipleInputDialog.java
+++ /dev/null
@@ -1,393 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.debug.ui.StringVariableSelectionDialog;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Scrollable;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-
-public class MultipleInputDialog extends Dialog
-{
-	protected static final String FIELD_NAME = "FIELD_NAME";
-	protected static final int TEXT = 100;
-	protected static final int BROWSE = 101;
-	protected static final int VARIABLE = 102;
-	protected static final int COMBO = 103;
-
-	protected Composite panel;
-
-	protected List<FieldSummary> fieldList = new ArrayList<FieldSummary>();
-	protected List<Scrollable> controlList = new ArrayList<Scrollable>();
-	protected List<Validator> validators = new ArrayList<Validator>();
-	protected Map<Object, Comparable> valueMap = new HashMap<Object, Comparable>();
-
-	private final String title;
-
-	public MultipleInputDialog(Shell shell, String title)
-	{
-		super(shell);
-		this.title = title;
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-	}
-
-	@Override
-	protected void configureShell(Shell shell)
-	{
-		super.configureShell(shell);
-		if (title != null)
-		{
-			shell.setText(title);
-		}
-
-	}
-
-	@Override
-	protected Control createButtonBar(Composite parent)
-	{
-		Control bar = super.createButtonBar(parent);
-		validateFields();
-		return bar;
-	}
-
-	@Override
-	protected Control createDialogArea(Composite parent)
-	{
-		Composite container = (Composite) super.createDialogArea(parent);
-		// ((GridData) parent.getLayoutData()).heightHint = 400;
-		// ((GridData) parent.getLayoutData()).widthHint = 400;
-
-		container.setLayout(new GridLayout(2, false));
-
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		// gd.heightHint = 200;
-		container.setLayoutData(gd);
-
-		panel = new Composite(container, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		panel.setLayout(layout);
-		panel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		for (Iterator<FieldSummary> i = fieldList.iterator(); i.hasNext();)
-		{
-			FieldSummary field = (FieldSummary) 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;
-			}
-		}
-
-		fieldList = null; // allow it to be gc'd
-		Dialog.applyDialogFont(container);
-
-		return container;
-	}
-
-	public void addBrowseField(String labelText, String initialValue, boolean allowsEmpty)
-	{
-		fieldList.add(new FieldSummary(BROWSE, labelText, initialValue, allowsEmpty));
-	}
-
-	public void addTextField(String labelText, String initialValue, boolean allowsEmpty)
-	{
-		fieldList.add(new FieldSummary(TEXT, labelText, initialValue, allowsEmpty));
-	}
-
-	public void addVariablesField(String labelText, String initialValue, boolean allowsEmpty)
-	{
-		fieldList.add(new FieldSummary(VARIABLE, labelText, initialValue, allowsEmpty));
-	}
-
-	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)
-	{
-		Label label = new Label(panel, SWT.NONE);
-		label.setText(labelText);
-		label.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING));
-
-		final Text text = new Text(panel, SWT.SINGLE | SWT.BORDER);
-		text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		text.setData(FIELD_NAME, labelText);
-
-		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, text.getSize().y);
-
-		if (initialValue != null)
-		{
-			text.setText(initialValue);
-		}
-
-		if (!allowEmpty)
-		{
-			validators.add(new Validator()
-			{
-				@Override
-				public boolean validate()
-				{
-					return !text.getText().equals("");
-				}
-			});
-			text.addModifyListener(new ModifyListener()
-			{
-				public void modifyText(ModifyEvent e)
-				{
-					validateFields();
-				}
-			});
-		}
-
-		controlList.add(text);
-	}
-
-	public 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));
-
-		Composite comp = new Composite(panel, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		final Text text = new Text(comp, SWT.SINGLE | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = 200;
-		text.setLayoutData(data);
-		text.setData(FIELD_NAME, labelText);
-
-		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, text.getSize().y);
-
-		if (initialValue != null)
-		{
-			text.setText(initialValue);
-		}
-
-		if (!allowEmpty)
-		{
-			validators.add(new Validator()
-			{
-				@Override
-				public boolean validate()
-				{
-					return !text.getText().equals("");
-				}
-			});
-
-			text.addModifyListener(new ModifyListener()
-			{
-				public void modifyText(ModifyEvent e)
-				{
-					validateFields();
-				}
-			});
-		}
-
-		Button button = createButton(comp, IDialogConstants.IGNORE_ID, ActionMessages.VariablesFieldButton_Text, false);
-		button.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
-				int code = dialog.open();
-				if (code == IDialogConstants.OK_ID)
-				{
-					String variable = dialog.getVariableExpression();
-					if (variable != null)
-					{
-						text.insert(variable);
-					}
-				}
-			}
-		});
-
-		controlList.add(text);
-
-	}
-
-	public 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));
-
-		Composite comp = new Composite(panel, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		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);
-
-		combo.setData(FIELD_NAME, labelText);
-
-		// make sure rows are the same height on both panels.
-		label.setSize(label.getSize().x, combo.getSize().y);
-
-		combo.setItems(items);
-		combo.select(initialValue);
-
-		controlList.add(combo);
-	}
-
-	@Override
-	protected void okPressed()
-	{
-		for (Iterator<Scrollable> i = controlList.iterator(); i.hasNext();)
-		{
-			Control control = (Control) i.next();
-			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()));
-			}
-		}
-		controlList = null;
-		super.okPressed();
-	}
-
-	@Override
-	public int open()
-	{
-		applyDialogFont(panel);
-		return super.open();
-	}
-
-	public Object getValue(String key)
-	{
-		return valueMap.get(key);
-	}
-
-	public String getStringValue(String key)
-	{
-		return (String) getValue(key);
-	}
-
-	public int getIntValue(String key)
-	{
-		return ((Integer) getValue(key)).intValue();
-	}
-
-	public void validateFields()
-	{
-		for (Iterator<Validator> i = validators.iterator(); i.hasNext();)
-		{
-			Validator validator = (Validator) i.next();
-			if (!validator.validate())
-			{
-				getButton(IDialogConstants.OK_ID).setEnabled(false);
-				return;
-			}
-		}
-		getButton(IDialogConstants.OK_ID).setEnabled(true);
-	}
-
-	private String getDialogSettingsSectionName()
-	{
-		return XSLDebugUIPlugin.PLUGIN_ID + ".MULTIPLE_INPUT_DIALOG";
-	}
-
-	@Override
-	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
-	{
-		int initialIndex;
-		int type;
-		String name;
-		String initialValue;
-		boolean allowsEmpty;
-		String[] items;
-
-		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)
-		{
-			this.type = type;
-			this.name = name;
-			this.items = items;
-		}
-	}
-
-	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
deleted file mode 100644
index 723c1fa..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/OpenDialogAction.java
+++ /dev/null
@@ -1,54 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer;
-
-public class OpenDialogAction extends AbstractStylesheetAction
-{
-	protected static final String LAST_PATH_SETTING = "LAST_PATH_SETTING";
-	private String fPrefix = null;
-
-	public OpenDialogAction(String label, StylesheetViewer viewer, String dialogSettingsPrefix)
-	{
-		super(label, viewer);
-		fPrefix = dialogSettingsPrefix;
-	}
-
-	protected String getDialogSettingsPrefix()
-	{
-		return fPrefix;
-	}
-
-	protected String getDialogSetting(String settingName)
-	{
-		return getDialogSettings().get(getDialogSettingsPrefix() + "." + settingName);
-	}
-
-	protected void setDialogSetting(String settingName, String value)
-	{
-		getDialogSettings().put(getDialogSettingsPrefix() + "." + settingName, value);
-	}
-
-	protected IDialogSettings getDialogSettings()
-	{
-		IDialogSettings settings = XSLDebugUIPlugin.getDefault().getDialogSettings();
-		return settings;
-	}
-
-	@Override
-	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
deleted file mode 100644
index 9e82c8c..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveAction.java
+++ /dev/null
@@ -1,46 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.StylesheetViewer;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class RemoveAction extends AbstractStylesheetAction
-{
-	public RemoveAction(StylesheetViewer viewer)
-	{
-		super(ActionMessages.RemoveAction_Text, viewer);
-	}
-
-	@Override
-	public void run()
-	{
-		IStructuredSelection selection = (IStructuredSelection) getViewer().getSelection();
-		getViewer().removeEntries((LaunchTransform[]) selection.toList().toArray(new LaunchTransform[0]));
-	}
-
-	@Override
-	protected boolean updateSelection(IStructuredSelection selection)
-	{
-		if (selection.isEmpty())
-		{
-			return false;
-		}
-		return getViewer().updateSelection(getActionType(), selection);
-	}
-
-	@Override
-	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
deleted file mode 100644
index d091ca2..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/actions/RemoveParameterAction.java
+++ /dev/null
@@ -1,43 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.actions;
-
-import java.util.Iterator;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.ParameterViewer;
-import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
-
-public class RemoveParameterAction extends AbstractParameterAction
-{
-
-	public RemoveParameterAction(ParameterViewer viewer)
-	{
-		super(ActionMessages.RemoveParameterAction, viewer);
-	}
-
-	@Override
-	public void run()
-	{
-		IStructuredSelection sel = getStructuredSelection();
-		if (sel.size() > 0)
-		{
-			LaunchAttribute[] entries = new LaunchAttribute[sel.size()];
-			int i = 0;
-			for (Iterator<?> iter = sel.iterator(); iter.hasNext(); i++)
-			{
-				LaunchAttribute att = (LaunchAttribute) iter.next();
-				entries[i] = att;
-			}
-			getViewer().removeEntries(entries);
-		}
-	}
-}
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
deleted file mode 100644
index dcd2de8..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/breakpoint/XSLBreakpointProvider.java
+++ /dev/null
@@ -1,153 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.breakpoint;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExecutableExtension;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IStorageEditorInput;
-import org.eclipse.wst.sse.ui.internal.StructuredResourceMarkerAnnotationModel;
-import org.eclipse.wst.sse.ui.internal.provisional.extensions.ISourceEditingTextTools;
-import org.eclipse.wst.sse.ui.internal.provisional.extensions.breakpoint.IBreakpointProvider;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.launching.model.XSLLineBreakpoint;
-
-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)
-		{
-			IResource res = getResourceFromInput(input);
-			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, "unsupported input type", null);
-					}
-					else
-					{
-						// DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(point);
-					}
-				}
-			}
-			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();
-				}
-				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, "unsupported input type", null);
-				}
-			}
-		}
-		if (status == null)
-		{
-			status = new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID, IStatus.OK, "JSPUIMessages.OK", null);
-		}
-		return status;
-	}
-
-	public IResource getResource(IEditorInput input)
-	{
-		return getResourceFromInput(input);
-	}
-
-	private IResource getResourceFromInput(IEditorInput input)
-	{
-		IResource resource = (IResource) input.getAdapter(IFile.class);
-		if (resource == null)
-		{
-			resource = (IResource) input.getAdapter(IResource.class);
-		}
-		return resource;
-	}
-
-	private int getValidPosition(IDocument idoc, int editorLineNumber)
-	{
-		int result = -1;
-		if (idoc != null)
-		{
-			int startOffset = 0;
-			int endOffset = 0;
-			try
-			{
-				IRegion line = idoc.getLineInformation(editorLineNumber - 1);
-				startOffset = line.getOffset();
-				endOffset = Math.max(line.getOffset(), line.getOffset() + line.getLength());
-
-				String lineText = idoc.get(startOffset, endOffset - startOffset).trim();
-
-				// blank lines or PI's cannot have breakpoints
-				if (lineText.trim().equals("") || lineText.startsWith("<?"))
-				{
-					result = -1;
-				}
-				else
-				{
-					// get all partitions for current line
-					ITypedRegion[] partitions = null;
-
-					partitions = idoc.computePartitioning(startOffset, endOffset - startOffset);
-
-					for (int i = 0; i < partitions.length; ++i)
-					{
-						String type = partitions[i].getType();
-						result = partitions[i].getOffset();
-					}
-				}
-			}
-			catch (BadLocationException e)
-			{
-				result = -1;
-			}
-		}
-		return result;
-	}
-
-	public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException
-	{
-		// not used
-	}
-
-	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/model/XSLBreakpointAdapterFactory.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLBreakpointAdapterFactory.java
deleted file mode 100644
index c1916ad..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLBreakpointAdapterFactory.java
+++ /dev/null
@@ -1,48 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.model;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.ui.texteditor.ITextEditor;
-
-/**
- * Creates a toggle breakpoint adapter
- */
-public class XSLBreakpointAdapterFactory implements IAdapterFactory
-{
-	@SuppressWarnings("unchecked")
-	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)
-			{
-				String extension = resource.getFileExtension();
-				if (extension != null && extension.equalsIgnoreCase("xsl"))
-				{
-					return new XSLLineBreakpointAdapter();
-				}
-			}
-		}
-		return null;
-	}
-
-	@SuppressWarnings("unchecked")
-	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
deleted file mode 100644
index c382c31..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLLineBreakpointAdapter.java
+++ /dev/null
@@ -1,100 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.model;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.ui.actions.IToggleBreakpointsTarget;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.texteditor.ITextEditor;
-import org.eclipse.wst.xsl.launching.model.IXSLConstants;
-import org.eclipse.wst.xsl.launching.model.XSLLineBreakpoint;
-
-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);
-			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))
-					{
-						// remove
-						breakpoint.delete();
-						return;
-					}
-				}
-			}
-			// create line breakpoint (doc line numbers start at 0)
-			XSLLineBreakpoint lineBreakpoint = new XSLLineBreakpoint(resource, lineNumber + 1, 1, 1);
-			DebugPlugin.getDefault().getBreakpointManager().addBreakpoint(lineBreakpoint);
-		}
-	}
-
-	public boolean canToggleLineBreakpoints(IWorkbenchPart part, ISelection selection)
-	{
-		return getEditor(part) != null;
-	}
-
-	/**
-	 * 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)
-		{
-			ITextEditor editorPart = (ITextEditor) part;
-			IResource resource = (IResource) editorPart.getEditorInput().getAdapter(IResource.class);
-			if (resource != null)
-			{
-				String extension = resource.getFileExtension();
-				// TODO handle other file extensions/content types
-				if (extension != null && extension.equalsIgnoreCase("xsl"))
-				{
-					return editorPart;
-				}
-			}
-		}
-		return null;
-	}
-
-	public void toggleMethodBreakpoints(IWorkbenchPart part, ISelection selection) throws CoreException
-	{
-	}
-
-	public boolean canToggleMethodBreakpoints(IWorkbenchPart part, ISelection selection)
-	{
-		return false;
-	}
-
-	public void toggleWatchpoints(IWorkbenchPart part, ISelection selection) throws CoreException
-	{
-	}
-
-	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
deleted file mode 100644
index 57f80f1..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/model/XSLModelPresentation.java
+++ /dev/null
@@ -1,99 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.model;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.ui.IDebugModelPresentation;
-import org.eclipse.debug.ui.IValueDetailListener;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.part.FileEditorInput;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIConstants;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.launching.model.XSLVariable;
-
-public class XSLModelPresentation extends LabelProvider implements IDebugModelPresentation
-{
-	private Image localImg;
-
-	public void setAttribute(String attribute, Object value)
-	{
-	}
-
-	@Override
-	public Image getImage(Object element)
-	{
-		if (element instanceof XSLVariable)
-		{
-			XSLVariable var = (XSLVariable) element;
-			if (var.getScope().equals(XSLVariable.LOCAL_SCOPE))
-			{
-				if (localImg == null)
-					localImg = XSLDebugUIPlugin.getImageDescriptor("/icons/localvariable_obj.gif").createImage();
-				return localImg;
-			}
-		}
-		return null;
-	}
-
-	@Override
-	public String getText(Object element)
-	{
-		return null;
-	}
-
-	@Override
-	public void dispose()
-	{
-		if (localImg != null)
-			localImg.dispose();
-		super.dispose();
-	}
-
-	public void computeDetail(IValue value, IValueDetailListener listener)
-	{
-		String detail = "";
-		try
-		{
-			detail = value.getValueString();
-		}
-		catch (DebugException e)
-		{
-		}
-		listener.detailComputed(value, detail);
-	}
-
-	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());
-		}
-		return null;
-	}
-
-	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/preferences/AddProcessorDialog.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/AddProcessorDialog.java
deleted file mode 100644
index 3b0058e..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/AddProcessorDialog.java
+++ /dev/null
@@ -1,445 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.preferences;
-
-import java.io.File;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.StatusDialog;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorMessages;
-import org.eclipse.wst.xsl.launching.IDebugger;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorJar;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class AddProcessorDialog extends StatusDialog
-{
-	private final InstallStandin standinProcessor;
-	private final IProcessorType[] processorTypes;
-	private IProcessorType selectedProcessorType;
-	private ComboViewer processorTypeField;
-	private ProcessorLibraryBlock fLibraryBlock;
-	private Text processorNameField;
-	private final IStatus[] fStati;
-	private int fPrevIndex = -1;
-	private final InstalledProcessorsBlock block;
-	private boolean adding;
-	private Button supportsVerson10Checkbox;
-	private Button supportsVerson20Checkbox;
-
-	public AddProcessorDialog(InstalledProcessorsBlock block, Shell parent, IProcessorType[] types, IProcessorInstall install)
-	{
-		super(parent);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.block = block;
-		fStati = new IStatus[5];
-		for (int i = 0; i < fStati.length; i++)
-		{
-			fStati[i] = Status.OK_STATUS;
-		}
-		processorTypes = types;
-		selectedProcessorType = install != null ? install.getProcessorType() : types[0];
-		InstallStandin standin = null;
-		if (install == null)
-		{
-			adding = true;
-			standin = new InstallStandin(XSLTRuntime.createUniqueProcessorId(selectedProcessorType), "", selectedProcessorType.getId(), null, new IProcessorJar[0]);
-		}
-		else
-		{
-			standin = new InstallStandin(install);
-		}
-		standinProcessor = standin;
-	}
-
-	@Override
-	protected void configureShell(Shell newShell)
-	{
-		super.configureShell(newShell);
-		// TODO PlatformUI.getWorkbench().getHelpSystem().setHelp...
-	}
-
-	protected void createDialogFields(Composite parent)
-	{
-		GridData gd;
-		Label label;
-
-		label = new Label(parent, SWT.NONE);
-		label.setText(ProcessorMessages.AddProcessorDialog_processorName);
-		processorNameField = new Text(parent, SWT.BORDER);
-		gd = new GridData(SWT.NONE, SWT.NONE, false, false);
-		gd.widthHint = convertWidthInCharsToPixels(50);
-		gd.horizontalSpan = 2;
-		processorNameField.setLayoutData(gd);
-
-		label = new Label(parent, SWT.NONE);
-		label.setText(ProcessorMessages.AddProcessorDialog_processorType);
-		processorTypeField = new ComboViewer(parent, SWT.READ_ONLY);
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		processorTypeField.getCombo().setLayoutData(gd);
-		processorTypeField.setContentProvider(new IStructuredContentProvider()
-		{
-
-			private Object input;
-
-			public Object[] getElements(Object inputElement)
-			{
-				return (IProcessorType[]) input;
-			}
-
-			public void dispose()
-			{
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-			{
-				input = newInput;
-			}
-		});
-		processorTypeField.setLabelProvider(new LabelProvider()
-		{
-			@Override
-			public String getText(Object element)
-			{
-				return ((IProcessorType) element).getLabel();
-			}
-		});
-
-		label = new Label(parent, SWT.NONE);
-		label.setText("Supported versions:");
-		supportsVerson10Checkbox = new Button(parent, SWT.CHECK);
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		supportsVerson10Checkbox.setLayoutData(gd);
-		supportsVerson10Checkbox.setText("XSLT 1.0");
-
-		label = new Label(parent, SWT.NONE);
-		supportsVerson20Checkbox = new Button(parent, SWT.CHECK);
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		supportsVerson20Checkbox.setLayoutData(gd);
-		supportsVerson20Checkbox.setText("XSLT 2.0");
-	}
-
-	protected void createFieldListeners()
-	{
-		processorTypeField.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				updateProcessorType();
-			}
-		});
-
-		processorNameField.addModifyListener(new ModifyListener()
-		{
-			public void modifyText(ModifyEvent e)
-			{
-				setProcessorNameStatus(validateProcessorName());
-				updateStatusLine();
-			}
-		});
-
-		supportsVerson10Checkbox.addSelectionListener(new SelectionListener()
-		{
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
-			}
-
-			public void widgetSelected(SelectionEvent e)
-			{
-				setVersionStatus(validateVersionStatus());
-				updateStatusLine();
-			}
-		});
-
-		supportsVerson20Checkbox.addSelectionListener(new SelectionListener()
-		{
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
-			}
-
-			public void widgetSelected(SelectionEvent e)
-			{
-				setVersionStatus(validateVersionStatus());
-				updateStatusLine();
-			}
-		});
-
-	}
-
-	protected String getProcessorName()
-	{
-		return processorNameField.getText();
-	}
-
-	@Override
-	protected Control createDialogArea(Composite ancestor)
-	{
-		Composite parent = (Composite) super.createDialogArea(ancestor);
-		((GridLayout) parent.getLayout()).numColumns = 3;
-//		((GridData) parent.getLayoutData()).heightHint = 400;
-//		((GridData) parent.getLayoutData()).widthHint = 400;
-
-		createDialogFields(parent);
-
-		Label l = new Label(parent, SWT.NONE);
-		l.setText(ProcessorMessages.AddProcessorDialog_jars);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 3;
-		l.setLayoutData(gd);
-
-		fLibraryBlock = new ProcessorLibraryBlock(this);
-		Control block = fLibraryBlock.createControl(parent);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.horizontalSpan = 3;
-		block.setLayoutData(gd);
-
-		initializeFields();
-		createFieldListeners();
-		applyDialogFont(parent);
-		
-		return parent;
-	}
-
-	private void updateProcessorType()
-	{
-		int selIndex = processorTypeField.getCombo().getSelectionIndex();
-		if (selIndex == fPrevIndex)
-		{
-			return;
-		}
-		fPrevIndex = selIndex;
-		if (selIndex >= 0 && selIndex < processorTypes.length)
-		{
-			selectedProcessorType = processorTypes[selIndex];
-		}
-		fLibraryBlock.initializeFrom(standinProcessor, selectedProcessorType);
-		updateStatusLine();
-	}
-
-	@Override
-	public void create()
-	{
-		super.create();
-		processorNameField.setFocus();
-	}
-
-	private void initializeFields()
-	{
-		processorTypeField.setInput(processorTypes);
-		if (adding)
-		{
-			processorNameField.setText("");
-			processorTypeField.setSelection(new StructuredSelection(processorTypes[0]));
-			supportsVerson10Checkbox.setSelection(true);
-			fLibraryBlock.initializeFrom(standinProcessor, selectedProcessorType);
-		}
-		else
-		{
-			processorTypeField.getCombo().setEnabled(false);
-			processorTypeField.setSelection(new StructuredSelection(standinProcessor.getProcessorType()));
-			processorNameField.setText(standinProcessor.getName());
-
-			supportsVerson10Checkbox.setSelection(standinProcessor.supports("1.0"));
-			supportsVerson20Checkbox.setSelection(standinProcessor.supports("2.0"));
-			fLibraryBlock.initializeFrom(standinProcessor, selectedProcessorType);
-		}
-		setProcessorNameStatus(validateProcessorName());
-		updateStatusLine();
-	}
-
-	private IStatus validateProcessorName()
-	{
-		IStatus status = Status.OK_STATUS;
-		String name = processorNameField.getText();
-		if (name == null || name.trim().length() == 0)
-		{
-			status = new Status(IStatus.INFO, XSLDebugUIPlugin.PLUGIN_ID, IStatus.OK, ProcessorMessages.AddProcessorDialog_enterName, null);
-		}
-		else
-		{
-			if (block.isDuplicateName(name) && (standinProcessor == null || !name.equals(standinProcessor.getName())))
-			{
-				status = new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, IStatus.OK, ProcessorMessages.AddProcessorDialog_duplicateName, null);
-			}
-			else
-			{
-				// IStatus s = ResourcesPlugin.getWorkspace().validateName(name,
-				// IResource.FILE);
-				// if (!s.isOK())
-				// {
-				// status.setError(MessageFormat.format(ProcessorMessages.AddProcessorDialog_Processor_name_must_be_a_valid_file_name,
-				// new String[]
-				// { s.getMessage() }));
-				// }
-			}
-		}
-		return status;
-	}
-
-	protected IStatus validateVersionStatus()
-	{
-		IStatus status = Status.OK_STATUS;
-		if (!supportsVerson10Checkbox.getSelection() && !supportsVerson20Checkbox.getSelection())
-			status = new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, IStatus.OK, "Processor must support at least one XSLT version", null);
-		return status;
-	}
-
-	protected void updateStatusLine()
-	{
-		IStatus max = null;
-		for (IStatus curr : fStati)
-		{
-			if (curr.matches(IStatus.ERROR))
-			{
-				updateStatus(curr);
-				return;
-			}
-			if (max == null || curr.getSeverity() > max.getSeverity())
-			{
-				max = curr;
-			}
-		}
-		updateStatus(max);
-	}
-
-	@Override
-	protected void okPressed()
-	{
-		doOkPressed();
-		super.okPressed();
-	}
-
-	private void doOkPressed()
-	{
-		if (adding)
-		{
-			setFieldValuesToProcessor(standinProcessor);
-			block.processorAdded(standinProcessor);
-		}
-//		else
-//			setFieldValuesToProcessor((ProcessorInstall)editedProcessor);
-	}
-
-	protected void setFieldValuesToProcessor(InstallStandin processor)
-	{
-		processor.setName(processorNameField.getText());
-		processor.setProcessorTypeId(selectedProcessorType.getId());
-
-		IDebugger[] debuggers = XSLTRuntime.getDebuggers();
-		for (IDebugger element : debuggers)
-		{
-			if (element.getProcessorType().equals(selectedProcessorType))
-				processor.setDebuggerId(element.getId());
-		}
-
-		String supports = "";
-		if (supportsVerson10Checkbox.getSelection())
-		{
-			supports += "1.0";
-			if (supportsVerson20Checkbox.getSelection())
-				supports += ",";
-		}
-		if (supportsVerson20Checkbox.getSelection())
-			supports += "2.0";
-		processor.setSupports(supports);
-		fLibraryBlock.performApply(processor);
-	}
-
-	protected File getAbsoluteFileOrEmpty(String path)
-	{
-		if (path == null || path.length() == 0)
-		{
-			return new File("");
-		}
-		return new File(path).getAbsoluteFile();
-	}
-
-	private void setProcessorNameStatus(IStatus status)
-	{
-		fStati[0] = status;
-	}
-
-	protected IStatus getSystemLibraryStatus()
-	{
-		return fStati[3];
-	}
-
-	protected void setSystemLibraryStatus(IStatus status)
-	{
-		fStati[3] = status;
-	}
-
-	protected void setVersionStatus(IStatus status)
-	{
-		fStati[2] = status;
-	}
-
-	@Override
-	protected void updateButtonsEnableState(IStatus status)
-	{
-		Button ok = getButton(IDialogConstants.OK_ID);
-		if (ok != null && !ok.isDisposed())
-			ok.setEnabled(status.getSeverity() == IStatus.OK);
-	}
-
-	@Override
-	protected void setButtonLayoutData(Button button)
-	{
-		super.setButtonLayoutData(button);
-	}
-
-	protected String getDialogSettingsSectionName()
-	{
-		return "ADD_PROCESSOR_DIALOG_SECTION";
-	}
-
-	@Override
-	protected IDialogSettings getDialogBoundsSettings()
-	{
-//		IDialogSettings settings = XSLDebugUIPlugin.getDefault().getDialogSettings();
-//		IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-//		if (section == null)
-//		{
-//			section = settings.addNewSection(getDialogSettingsSectionName());
-//		}
-//		return section;
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/BasePreferencePage.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/BasePreferencePage.java
deleted file mode 100644
index 437e294..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/BasePreferencePage.java
+++ /dev/null
@@ -1,30 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.preferences;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-public class BasePreferencePage extends PreferencePage implements IWorkbenchPreferencePage
-{
-	@Override
-	protected Control createContents(Composite parent)
-	{
-		return null;
-	}
-
-	public void init(IWorkbench workbench)
-	{
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/FeaturesBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/FeaturesBlock.java
deleted file mode 100644
index 0e23c2e..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/FeaturesBlock.java
+++ /dev/null
@@ -1,289 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.preferences;
-
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.dialogs.DialogPage;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIConstants;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.launching.IFeature;
-
-public class FeaturesBlock extends AbstractTableBlock
-{
-	private Table table;
-	private TableViewer tViewer;
-	private Map<String, String> featureValues;
-	private Text descriptionText;
-	private DialogPage dialogPage;
-
-	public FeaturesBlock(DialogPage dialogPage)
-	{
-		this.dialogPage = dialogPage;
-	}
-
-	@Override
-	protected IDialogSettings getDialogSettings()
-	{
-		return XSLDebugUIPlugin.getDefault().getDialogSettings();
-	}
-
-	@Override
-	protected String getQualifier()
-	{
-		return XSLDebugUIConstants.FEATURES_BLOCK;
-	}
-
-	@Override
-	protected Table getTable()
-	{
-		return table;
-	}
-
-	public void createControl(Composite parent)
-	{
-		table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);
-		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.horizontalSpan = 2;
-		gd.widthHint = 450;
-		table.setLayoutData(gd);
-		table.setLinesVisible(true);
-		table.setHeaderVisible(true);
-
-		TableColumn c1 = new TableColumn(table, SWT.NONE);
-		c1.setWidth(150);
-		c1.setResizable(true);
-		c1.setText("Feature");
-
-		TableColumn c2 = new TableColumn(table, SWT.NONE);
-		c2.setWidth(50);
-		c2.setResizable(true);
-		c2.setText("Type");
-
-		TableColumn c3 = new TableColumn(table, SWT.NONE);
-		c3.setWidth(250);
-		c3.setResizable(true);
-		c3.setText("Value");
-
-		tViewer = new TableViewer(table);
-		tViewer.setContentProvider(new IStructuredContentProvider()
-		{
-
-			private IFeature[] features;
-
-			public Object[] getElements(Object inputElement)
-			{
-				return features;
-			}
-
-			public void dispose()
-			{
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-			{
-				features = (IFeature[]) newInput;
-			}
-		});
-		tViewer.setLabelProvider(new ITableLabelProvider()
-		{
-
-			public Image getColumnImage(Object element, int columnIndex)
-			{
-				return null;
-			}
-
-			public String getColumnText(Object element, int columnIndex)
-			{
-				IFeature feature = (IFeature) element;
-				switch (columnIndex)
-				{
-					case 0:
-						return removeURI(feature.getURI());
-					case 1:
-						return feature.getType();
-					case 2:
-						String value = (String) featureValues.get(feature.getURI());
-						return value == null ? "" : value;
-				}
-				return "!!";
-			}
-
-			private String removeURI(String uri)
-			{
-				int index = uri.lastIndexOf('/');
-				if (index > 0)
-					return uri.substring(index + 1);
-				return uri;
-			}
-
-			public void addListener(ILabelProviderListener listener)
-			{
-			}
-
-			public void dispose()
-			{
-			}
-
-			public boolean isLabelProperty(Object element, String property)
-			{
-				return false;
-			}
-
-			public void removeListener(ILabelProviderListener listener)
-			{
-			}
-
-		});
-		tViewer.setColumnProperties(new String[]
-		{ "name", "type", "value" });
-		final String[] valid = new String[]{null};
-		tViewer.setCellModifier(new ICellModifier()
-		{
-			public boolean canModify(Object element, String property)
-			{
-				return "value".equals(property);
-			}
-
-			public Object getValue(Object element, String property)
-			{
-				IFeature feature = (IFeature) element;
-				String value = (String) featureValues.get(feature.getURI());
-				return value == null ? "" : value;
-			}
-
-			public void modify(Object element, String property, Object value)
-			{
-				Item item = (Item) element;
-				IFeature feature = (IFeature) item.getData();
-				if (value == null || "".equals(value))
-					featureValues.remove(feature.getURI());
-				else
-					featureValues.put(feature.getURI(), (String)value);				
-				setErrorMessage(valid[0]);
-				tViewer.update(feature, null);
-			}
-		});
-		tViewer.setSorter(new ViewerSorter()
-		{
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2)
-			{
-				IFeature feature1 = (IFeature) e1;
-				IFeature feature2 = (IFeature) e2;
-				return feature1.getURI().compareTo(feature2.getURI());
-			}
-		});
-
-		TextCellEditor editor = new TextCellEditor(table);
-		editor.setValidator(new ICellEditorValidator()
-		{
-
-			public String isValid(Object value)
-			{
-				IStructuredSelection sel = (IStructuredSelection) tViewer.getSelection();
-				IFeature feature = (IFeature) sel.getFirstElement();
-				IStatus validStatus = feature.validateValue((String) value);
-				if (value == null || "".equals(value))
-					valid[0] = null;
-				else if (validStatus != null && validStatus.getSeverity() == IStatus.ERROR)
-					valid[0] = validStatus.getMessage();
-				else
-					valid[0] = null;
-				return valid[0];
-			}
-		});
-
-		CellEditor[] editors = new CellEditor[]
-		{ null, null, editor };
-		tViewer.setCellEditors(editors);
-		tViewer.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-				String text = null;
-				if (selection != null && selection.getFirstElement() != null)
-					text = ((IFeature) selection.getFirstElement()).getDescription();
-				descriptionText.setText(text == null ? "" : text);
-			}
-		});
-
-		restoreColumnSettings();
-
-		descriptionText = new Text(parent, SWT.WRAP | SWT.BORDER | SWT.READ_ONLY | SWT.V_SCROLL);
-		gd = new GridData(SWT.FILL, SWT.NONE, true, false);
-		gd.horizontalSpan = 2;
-		gd.heightHint = 80;
-		descriptionText.setLayoutData(gd);
-	}
-
-	protected void setInput(IFeature[] input)
-	{
-		tViewer.setInput(input);
-	}
-
-	protected void setFeatureValues(Map<String, String> map)
-	{
-		this.featureValues = map;
-	}
-
-	public String getName()
-	{
-		return null;
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-	
-	@Override
-	protected void setErrorMessage(String errorMessage)
-	{
-		dialogPage.setErrorMessage(errorMessage);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/FeaturesPreferencePage.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/FeaturesPreferencePage.java
deleted file mode 100644
index f863e93..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/FeaturesPreferencePage.java
+++ /dev/null
@@ -1,224 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.preferences;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.launching.IFeature;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class FeaturesPreferencePage extends PreferencePage implements IWorkbenchPreferencePage
-{
-	private final Map<IProcessorType, Map<String, String>> typeFeatureMap = new HashMap<IProcessorType, Map<String, String>>();
-	private ComboViewer cViewer;
-	private FeaturesBlock featuresBlock;
-
-	public FeaturesPreferencePage()
-	{
-		super();
-		// only used when page is shown programatically
-		setTitle("Processor Features");
-		setDescription("Set default values for installed processor types");
-	}
-
-	@Override
-	protected Control createContents(Composite parent)
-	{
-		parent = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		parent.setLayout(layout);
-
-		Label label = new Label(parent, SWT.NULL);
-		GridData gd = new GridData(SWT.NONE, SWT.CENTER, false, false);
-		label.setText("Processor Type: ");
-		label.setLayoutData(gd);
-
-		Combo combo = new Combo(parent, SWT.READ_ONLY | SWT.SINGLE);
-		gd = new GridData(SWT.NONE, SWT.CENTER, false, false);
-		combo.setLayoutData(gd);
-
-		cViewer = new ComboViewer(combo);
-		cViewer.setContentProvider(new IStructuredContentProvider()
-		{
-
-			private IProcessorType[] types;
-
-			public Object[] getElements(Object inputElement)
-			{
-				return types;
-			}
-
-			public void dispose()
-			{
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-			{
-				types = (IProcessorType[]) newInput;
-			}
-		});
-		cViewer.setLabelProvider(new LabelProvider()
-		{
-			@Override
-			public String getText(Object element)
-			{
-				IProcessorType type = (IProcessorType) element;
-				return type.getLabel();
-			}
-		});
-		cViewer.setSorter(new ViewerSorter()
-		{
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2)
-			{
-				IProcessorType type1 = (IProcessorType) e1;
-				IProcessorType type2 = (IProcessorType) e2;
-				return type1.getLabel().compareTo(type2.getLabel());
-			}
-		});
-		cViewer.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-				IProcessorType type = (IProcessorType) selection.getFirstElement();
-				if (type != null)
-				{
-					featuresBlock.setFeatureValues((Map<String, String>) typeFeatureMap.get(type));
-					featuresBlock.setInput(type.getFeatures());
-				}
-				else
-				{
-					featuresBlock.setFeatureValues(new HashMap<String, String>());
-					featuresBlock.setInput(new IFeature[0]);
-				}
-			}
-		});
-		cViewer.addFilter(new ViewerFilter()
-		{
-
-			@Override
-			public boolean select(Viewer viewer, Object parentElement, Object element)
-			{
-				IProcessorType type = (IProcessorType) element;
-				return !type.equals(XSLTRuntime.getProcessorType(XSLTRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID));
-			}
-
-		});
-
-		featuresBlock = new FeaturesBlock(this);
-		featuresBlock.createControl(parent);
-
-		setInput();
-
-		return parent;
-	}
-
-	private void setInput()
-	{
-		IProcessorType[] types = XSLTRuntime.getProcessorTypes();
-		for (IProcessorType type : types)
-		{
-			typeFeatureMap.put(type, type.getFeatureValues());
-		}
-		cViewer.setInput(XSLTRuntime.getProcessorTypes());
-		cViewer.setSelection(new StructuredSelection(getInitialType()), true);
-	}
-	
-	static IProcessorType getInitialType()
-	{
-		IProcessorInstall install = XSLTRuntime.getDefaultProcessor();
-		if (install != XSLTRuntime.getJREDefaultProcessor())
-			return install.getProcessorType();
-		return XSLTRuntime.getProcessorTypesExclJREDefault()[0];
-	}
-
-	public void init(IWorkbench workbench)
-	{
-	}
-	
-	@Override
-	protected void performDefaults()
-	{
-		IProcessorType[] types = XSLTRuntime.getProcessorTypes();
-		for (IProcessorType type : types)
-		{
-			typeFeatureMap.put(type, new HashMap<String,String>());
-		}
-		cViewer.setInput(XSLTRuntime.getProcessorTypes());
-		cViewer.setSelection(new StructuredSelection(getInitialType()), true);
-		
-		super.performDefaults();
-	}
-
-	@Override
-	public boolean performOk()
-	{
-		featuresBlock.saveColumnSettings();
-		final boolean[] ok = new boolean[1];
-		try
-		{
-			IRunnableWithProgress runnable = new IRunnableWithProgress()
-			{
-				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
-				{
-					try
-					{
-						XSLTRuntime.saveFeaturePreferences(typeFeatureMap,monitor);
-					}
-					catch (CoreException e)
-					{
-						XSLDebugUIPlugin.log(e);
-					}
-					ok[0] = !monitor.isCanceled();
-				}
-			};
-			XSLDebugUIPlugin.getDefault().getWorkbench().getProgressService().busyCursorWhile(runnable);
-		}
-		catch (InvocationTargetException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-		catch (InterruptedException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-		return ok[0];
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/InstalledProcessorsBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/InstalledProcessorsBlock.java
deleted file mode 100644
index 934bb7a..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/InstalledProcessorsBlock.java
+++ /dev/null
@@ -1,661 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.preferences;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTableViewer;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIConstants;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorDetailsDialog;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorMessages;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class InstalledProcessorsBlock extends AbstractTableBlock implements ISelectionProvider
-{
-	private Composite fControl;
-	private final List<IProcessorInstall> processors = new ArrayList<IProcessorInstall>();
-	private CheckboxTableViewer tableViewer;
-	private Button fAddButton;
-	private Button fRemoveButton;
-	private Button fEditButton;
-	private final ListenerList fSelectionListeners = new ListenerList();
-	private ISelection fPrevSelection = new StructuredSelection();
-
-	public void addSelectionChangedListener(ISelectionChangedListener listener)
-	{
-		fSelectionListeners.add(listener);
-	}
-
-	public void removeSelectionChangedListener(ISelectionChangedListener listener)
-	{
-		fSelectionListeners.remove(listener);
-	}
-
-	public ISelection getSelection()
-	{
-		return new StructuredSelection(tableViewer.getCheckedElements());
-	}
-
-	public void setSelection(ISelection selection)
-	{
-		if (selection instanceof IStructuredSelection)
-		{
-			if (!selection.equals(fPrevSelection))
-			{
-				fPrevSelection = selection;
-				Object jre = ((IStructuredSelection) selection).getFirstElement();
-				if (jre == null)
-				{
-					tableViewer.setCheckedElements(new Object[0]);
-				}
-				else
-				{
-					tableViewer.setCheckedElements(new Object[]
-					{ jre });
-					tableViewer.reveal(jre);
-				}
-				fireSelectionChanged();
-			}
-		}
-	}
-
-	public void createControl(Composite ancestor)
-	{
-
-		Composite parent = new Composite(ancestor, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		parent.setLayout(layout);
-		Font font = ancestor.getFont();
-		parent.setFont(font);
-		fControl = parent;
-
-		GridData data;
-
-		Label tableLabel = new Label(parent, SWT.NONE);
-		tableLabel.setText("Installed Java XSLT Processors:");
-		data = new GridData();
-		data.horizontalSpan = 2;
-		tableLabel.setLayoutData(data);
-		tableLabel.setFont(font);
-
-		Table fTable = new Table(parent, SWT.CHECK | SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);
-
-		data = new GridData(GridData.FILL_BOTH);
-		data.widthHint = 450;
-		fTable.setLayoutData(data);
-		fTable.setFont(font);
-
-		fTable.setHeaderVisible(true);
-		fTable.setLinesVisible(true);
-
-		TableColumn column1 = new TableColumn(fTable, SWT.NONE);
-		column1.setWidth(180);
-		column1.setResizable(true);
-		column1.setText("Name");
-		column1.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				sortByName();
-			}
-		});
-
-		TableColumn column2 = new TableColumn(fTable, SWT.NONE);
-		column2.setWidth(100);
-		column2.setResizable(true);
-		column2.setText("Type");
-		column2.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				sortByType();
-			}
-		});
-
-		TableColumn column3 = new TableColumn(fTable, SWT.NONE);
-		column3.setWidth(90);
-		column3.setResizable(true);
-		column3.setText("XSLT Versions");
-		column3.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				sortByVersion();
-			}
-		});
-
-		TableColumn column4 = new TableColumn(fTable, SWT.NONE);
-		column4.setWidth(110);
-		column4.setResizable(true);
-		column4.setText("Debugger");
-		column4.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				sortByVersion();
-			}
-		});
-
-		tableViewer = new CheckboxTableViewer(fTable);
-		tableViewer.setLabelProvider(new VMLabelProvider());
-		tableViewer.setContentProvider(new ProcessorsContentProvider());
-
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-			public void selectionChanged(SelectionChangedEvent evt)
-			{
-				enableButtons();
-			}
-		});
-
-		tableViewer.addCheckStateListener(new ICheckStateListener()
-		{
-			public void checkStateChanged(CheckStateChangedEvent event)
-			{
-				if (event.getChecked())
-				{
-					setCheckedInstall((IProcessorInstall) event.getElement());
-				}
-				else
-				{
-					setCheckedInstall(null);
-				}
-			}
-		});
-
-		tableViewer.addDoubleClickListener(new IDoubleClickListener()
-		{
-			public void doubleClick(DoubleClickEvent e)
-			{
-				if (!tableViewer.getSelection().isEmpty())
-				{
-					editProcessor();
-				}
-			}
-		});
-		fTable.addKeyListener(new KeyAdapter()
-		{
-			@Override
-			public void keyPressed(KeyEvent event)
-			{
-				if (event.character == SWT.DEL && event.stateMask == 0)
-				{
-					removeProcessors();
-				}
-			}
-		});
-
-		Composite buttons = new Composite(parent, SWT.NULL);
-		buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-		layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttons.setLayout(layout);
-		buttons.setFont(font);
-
-		fAddButton = createPushButton(buttons, "Add");
-		fAddButton.addListener(SWT.Selection, new Listener()
-		{
-			public void handleEvent(Event evt)
-			{
-				addProcessor();
-			}
-		});
-
-		fEditButton = createPushButton(buttons, "Edit");
-		fEditButton.addListener(SWT.Selection, new Listener()
-		{
-			public void handleEvent(Event evt)
-			{
-				editProcessor();
-			}
-		});
-
-		fRemoveButton = createPushButton(buttons, "Remove");
-		fRemoveButton.addListener(SWT.Selection, new Listener()
-		{
-			public void handleEvent(Event evt)
-			{
-				removeProcessors();
-			}
-		});
-
-		// copied from ListDialogField.CreateSeparator()
-		Label separator = new Label(buttons, SWT.NONE);
-		separator.setVisible(false);
-		GridData gd = new GridData();
-		gd.horizontalAlignment = GridData.FILL;
-		gd.verticalAlignment = GridData.BEGINNING;
-		gd.heightHint = 4;
-		separator.setLayoutData(gd);
-
-		fillWithWorkspaceProcessors();
-		enableButtons();
-
-		restoreColumnSettings();
-	}
-
-	protected void fillWithWorkspaceProcessors()
-	{
-		List<InstallStandin> standins = new ArrayList<InstallStandin>();
-		IProcessorType[] types = XSLTRuntime.getProcessorTypes();
-		for (IProcessorType type : types)
-		{
-			IProcessorInstall[] installs = XSLTRuntime.getProcessors(type.getId());
-			for (IProcessorInstall install : installs)
-			{
-				standins.add(new InstallStandin(install));
-			}
-		}
-		setProcessors((IProcessorInstall[]) standins.toArray(new IProcessorInstall[standins.size()]));
-	}
-
-	private void fireSelectionChanged()
-	{
-		SelectionChangedEvent event = new SelectionChangedEvent(this, getSelection());
-		Object[] listeners = fSelectionListeners.getListeners();
-		for (Object element : listeners)
-		{
-			ISelectionChangedListener listener = (ISelectionChangedListener) element;
-			listener.selectionChanged(event);
-		}
-	}
-
-	/**
-	 * Sorts by type, and name within type.
-	 */
-	private void sortByType()
-	{
-		tableViewer.setSorter(new ViewerSorter()
-		{
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2)
-			{
-				IProcessorInstall left = (IProcessorInstall) e1;
-				IProcessorInstall right = (IProcessorInstall) e2;
-				return left.getProcessorType().getLabel().compareToIgnoreCase(right.getProcessorType().getLabel());
-			}
-
-			@Override
-			public boolean isSorterProperty(Object element, String property)
-			{
-				return true;
-			}
-		});
-	}
-
-	private void sortByVersion()
-	{
-		tableViewer.setSorter(new ViewerSorter()
-		{
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2)
-			{
-				IProcessorInstall left = (IProcessorInstall) e1;
-				IProcessorInstall right = (IProcessorInstall) e2;
-				return left.getSupports().compareToIgnoreCase(right.getSupports());
-			}
-
-			@Override
-			public boolean isSorterProperty(Object element, String property)
-			{
-				return true;
-			}
-		});
-	}
-
-	/**
-	 * Sorts by name.
-	 */
-	private void sortByName()
-	{
-		tableViewer.setSorter(new ViewerSorter()
-		{
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2)
-			{
-				if ((e1 instanceof IProcessorInstall) && (e2 instanceof IProcessorInstall))
-				{
-					IProcessorInstall left = (IProcessorInstall) e1;
-					IProcessorInstall right = (IProcessorInstall) e2;
-					return left.getName().compareToIgnoreCase(right.getName());
-				}
-				return super.compare(viewer, e1, e2);
-			}
-
-			@Override
-			public boolean isSorterProperty(Object element, String property)
-			{
-				return true;
-			}
-		});
-	}
-
-	private void enableButtons()
-	{
-		IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
-		int selectionCount = selection.size();
-		fEditButton.setEnabled(selectionCount == 1);
-		if (selectionCount > 0 && selectionCount < tableViewer.getTable().getItemCount())
-		{
-			Iterator<?> iterator = selection.iterator();
-			while (iterator.hasNext())
-			{
-				IProcessorInstall install = (IProcessorInstall) iterator.next();
-				if (install.isContributed())
-				{
-					fRemoveButton.setEnabled(false);
-					return;
-				}
-			}
-			fRemoveButton.setEnabled(true);
-		}
-		else
-		{
-			fRemoveButton.setEnabled(false);
-		}
-	}
-
-	protected Button createPushButton(Composite parent, String label)
-	{
-		Button button = new Button(parent, SWT.PUSH);
-		button.setText(label);
-		return button;
-	}
-
-	@Override
-	public Control getControl()
-	{
-		return fControl;
-	}
-
-	protected void setProcessors(IProcessorInstall[] vms)
-	{
-		processors.clear();
-		for (IProcessorInstall element : vms)
-		{
-			processors.add(element);
-		}
-		tableViewer.setInput(processors);
-		// tableViewer.refresh();
-	}
-
-	public IProcessorInstall[] getProcessors()
-	{
-		return (IProcessorInstall[]) processors.toArray(new IProcessorInstall[processors.size()]);
-	}
-
-	private void addProcessor()
-	{
-		AddProcessorDialog dialog = new AddProcessorDialog(this, getShell(), XSLTRuntime.getProcessorTypesExclJREDefault(), null);
-		dialog.setTitle(ProcessorMessages.AddProcessorDialog_Add_Title);
-		if (dialog.open() != Window.OK)
-		{
-			return;
-		}
-	}
-
-	public void processorAdded(IProcessorInstall install)
-	{
-		processors.add(install);
-		tableViewer.add(install);
-		tableViewer.setSelection(new StructuredSelection(install), true);
-	}
-
-	public boolean isDuplicateName(String name)
-	{
-		for (int i = 0; i < processors.size(); i++)
-		{
-			IProcessorInstall install = (IProcessorInstall) processors.get(i);
-			if (install.getName().equals(name))
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-
-	private void editProcessor()
-	{
-		IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
-		IProcessorInstall install = (IProcessorInstall) selection.getFirstElement();
-		if (install == null)
-		{
-			return;
-		}
-		if (install.isContributed())
-		{
-			ProcessorDetailsDialog dialog = new ProcessorDetailsDialog(getShell(), install);
-			dialog.open();
-		}
-		else
-		{
-			AddProcessorDialog dialog = new AddProcessorDialog(this, getShell(), XSLTRuntime.getProcessorTypesExclJREDefault(), install);
-			dialog.setTitle(ProcessorMessages.AddProcessorDialog_Edit_Title);
-			if (dialog.open() != Window.OK)
-			{
-				return;
-			}
-			// fillWithWorkspaceProcessors();
-			tableViewer.refresh();
-		}
-	}
-
-	private void removeProcessors()
-	{
-		IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
-		IProcessorInstall[] vms = new IProcessorInstall[selection.size()];
-		Iterator<?> iter = selection.iterator();
-		int i = 0;
-		while (iter.hasNext())
-		{
-			vms[i] = (IProcessorInstall) iter.next();
-			i++;
-		}
-		removeProcessors(vms);
-	}
-
-	public void removeProcessors(IProcessorInstall[] theInstalls)
-	{
-		IStructuredSelection prev = (IStructuredSelection) getSelection();
-		for (IProcessorInstall element : theInstalls)
-		{
-			processors.remove(element);
-		}
-		tableViewer.refresh();
-		IStructuredSelection curr = (IStructuredSelection) getSelection();
-		if (!curr.equals(prev))
-		{
-			IProcessorInstall[] installs = getProcessors();
-			if (curr.size() == 0 && installs.length == 1)
-			{
-				// pick a default install automatically
-				setSelection(new StructuredSelection(installs[0]));
-			}
-			else
-			{
-				fireSelectionChanged();
-			}
-		}
-	}
-
-	public void setCheckedInstall(IProcessorInstall install)
-	{
-		if (install == null)
-		{
-			setSelection(new StructuredSelection());
-		}
-		else
-		{
-			setSelection(new StructuredSelection(install));
-		}
-	}
-
-	public IProcessorInstall getCheckedInstall()
-	{
-		Object[] objects = tableViewer.getCheckedElements();
-		if (objects.length == 0)
-		{
-			return null;
-		}
-		return (IProcessorInstall) objects[0];
-	}
-
-	@Override
-	protected void setSortColumn(int column)
-	{
-		switch (column)
-		{
-			case 1:
-				sortByName();
-				break;
-			case 2:
-				sortByType();
-				break;
-		}
-		super.setSortColumn(column);
-	}
-
-	@Override
-	protected Table getTable()
-	{
-		return tableViewer.getTable();
-	}
-
-	@Override
-	protected IDialogSettings getDialogSettings()
-	{
-		return XSLDebugUIPlugin.getDefault().getDialogSettings();
-	}
-
-	@Override
-	protected String getQualifier()
-	{
-		return XSLDebugUIConstants.PROCESSOR_DETAILS_DIALOG;
-	}
-
-	public String getName()
-	{
-		return null;
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	private class ProcessorsContentProvider implements IStructuredContentProvider
-	{
-		public Object[] getElements(Object input)
-		{
-			return processors.toArray();
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-		{
-		}
-
-		public void dispose()
-		{
-		}
-	}
-
-	private class VMLabelProvider extends LabelProvider implements ITableLabelProvider
-	{
-		public String getColumnText(Object element, int columnIndex)
-		{
-			if (element instanceof IProcessorInstall)
-			{
-				IProcessorInstall install = (IProcessorInstall) element;
-				switch (columnIndex)
-				{
-					case 0:
-						return install.getName();
-					case 1:
-						return install.getProcessorType().getLabel();
-					case 2:
-						return install.getSupports();
-					case 3:
-						if (install.getDebugger() != null)
-						{
-							return install.getDebugger().getName();
-						}
-						return "None";
-				}
-			}
-			return element.toString();
-		}
-
-		public Image getColumnImage(Object element, int columnIndex)
-		{
-			return null;
-		}
-
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/OutputBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/OutputBlock.java
deleted file mode 100644
index 499b2a3..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/OutputBlock.java
+++ /dev/null
@@ -1,226 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.preferences;
-
-import java.util.Properties;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIConstants;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.launching.IOutputProperty;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-
-public class OutputBlock extends AbstractTableBlock
-{
-	private Table table;
-	private TableViewer tViewer;
-	private Properties properties;
-
-	@Override
-	protected IDialogSettings getDialogSettings()
-	{
-		return XSLDebugUIPlugin.getDefault().getDialogSettings();
-	}
-
-	@Override
-	protected String getQualifier()
-	{
-		return XSLDebugUIConstants.OUTPUT_BLOCK;
-	}
-
-	@Override
-	protected Table getTable()
-	{
-		return table;
-	}
-
-	public void createControl(Composite parent)
-	{
-		table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);
-		setControl(table);
-
-		table.setLinesVisible(true);
-		table.setHeaderVisible(true);
-
-		TableColumn c1 = new TableColumn(table, SWT.NONE);
-		c1.setWidth(450);
-		c1.setResizable(true);
-		c1.setText("Property");
-
-		TableColumn c2 = new TableColumn(table, SWT.NONE);
-		c2.setWidth(150);
-		c2.setResizable(true);
-		c2.setText("Value");
-
-		tViewer = new TableViewer(table);
-		tViewer.setContentProvider(new IStructuredContentProvider()
-		{
-
-			private IOutputProperty[] allProperties;
-
-			public Object[] getElements(Object inputElement)
-			{
-				return allProperties;
-			}
-
-			public void dispose()
-			{
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-			{
-				allProperties = (IOutputProperty[]) newInput;
-			}
-		});
-		tViewer.setLabelProvider(new ITableLabelProvider()
-		{
-
-			public Image getColumnImage(Object element, int columnIndex)
-			{
-				return null;
-			}
-
-			public String getColumnText(Object element, int columnIndex)
-			{
-				IOutputProperty prop = (IOutputProperty) element;
-				switch (columnIndex)
-				{
-					case 0:
-						return prop.getURI();
-					case 1:
-						return (String) properties.get(prop.getURI());
-				}
-				return "!!";
-			}
-
-			public void addListener(ILabelProviderListener listener)
-			{
-			}
-
-			public void dispose()
-			{
-			}
-
-			public boolean isLabelProperty(Object element, String property)
-			{
-				return false;
-			}
-
-			public void removeListener(ILabelProviderListener listener)
-			{
-			}
-
-		});
-		tViewer.setColumnProperties(new String[]
-		{ "name", "value" });
-		tViewer.setCellModifier(new ICellModifier()
-		{
-			public boolean canModify(Object element, String property)
-			{
-				return "value".equals(property);
-			}
-
-			public Object getValue(Object element, String property)
-			{
-				IOutputProperty prop = (IOutputProperty) element;
-				String value = (String) properties.get(prop.getURI());
-				return value == null ? "" : value;
-			}
-
-			public void modify(Object element, String property, Object value)
-			{
-				Item item = (Item) element;
-				IOutputProperty prop = (IOutputProperty) item.getData();
-				if (value == null || "".equals(value))
-					properties.remove(prop.getURI());
-				else
-					properties.put(prop.getURI(), value);
-				tViewer.update(prop, null);
-			}
-		});
-		tViewer.setSorter(new ViewerSorter()
-		{
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2)
-			{
-				IOutputProperty prop1 = (IOutputProperty) e1;
-				IOutputProperty prop2 = (IOutputProperty) e2;
-				return prop1.getURI().compareTo(prop2.getURI());
-			}
-		});
-
-		TextCellEditor editor = new TextCellEditor(table);
-
-		CellEditor[] editors = new CellEditor[]
-		{ null, editor };
-		tViewer.setCellEditors(editors);
-
-		restoreColumnSettings();
-
-	}
-
-	public void addSelectionChangedListener(ISelectionChangedListener listener)
-	{
-		tViewer.addSelectionChangedListener(listener);
-	}
-
-	public void refresh()
-	{
-		tViewer.refresh();
-	}
-
-	public void setOutputPropertyValues(IProcessorType type, Properties properties)
-	{
-		this.properties = properties;
-	}
-
-	public void setInput(IOutputProperty[] keys)
-	{
-		tViewer.setInput(keys);
-	}
-
-	public String getName()
-	{
-		return null;
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/OutputPreferencePage.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/OutputPreferencePage.java
deleted file mode 100644
index 5b0ed6a..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/OutputPreferencePage.java
+++ /dev/null
@@ -1,285 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.preferences;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.launching.IOutputProperty;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class OutputPreferencePage extends PreferencePage implements IWorkbenchPreferencePage
-{
-	private ComboViewer cViewer;
-	private OutputBlock outputBlock;
-	private OutputBlock standardOutputBlock;
-	private Map<IProcessorType, Properties> typePropertyMap = new HashMap<IProcessorType, Properties>();
-	private Text descriptionText;
-
-	public OutputPreferencePage()
-	{
-		super();
-		setTitle("Output Properties");
-		setDescription("Set output properties that will be used by default for all transformations");
-	}
-
-	@Override
-	protected Control createContents(Composite parent)
-	{
-		parent = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		parent.setLayout(layout);
-
-		Group group = new Group(parent, SWT.NONE);
-		group.setText("Standard Properties");
-		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.heightHint = 150;
-		gd.widthHint = 450;
-		gd.horizontalSpan = 2;
-		group.setLayoutData(gd);
-		group.setLayout(new GridLayout());
-
-		standardOutputBlock = new OutputBlock();
-		standardOutputBlock.createControl(group);
-		standardOutputBlock.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-				String text = null;
-				if (selection != null && selection.getFirstElement() != null)
-					text = ((IOutputProperty) selection.getFirstElement()).getDescription();
-				descriptionText.setText(text == null ? "" : text);
-			}
-		});
-		gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		standardOutputBlock.getControl().setLayoutData(gd);
-
-		group = new Group(parent, SWT.NONE);
-		group.setText("Processor-Specific Properties");
-		gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.horizontalSpan = 2;
-		group.setLayoutData(gd);
-		group.setLayout(new GridLayout(2, false));
-
-		Label label = new Label(group, SWT.NULL);
-		gd = new GridData(SWT.NONE, SWT.CENTER, false, false);
-		label.setText("Processor Type:");
-		label.setLayoutData(gd);
-
-		Combo combo = new Combo(group, SWT.READ_ONLY | SWT.SINGLE);
-		gd = new GridData(SWT.NONE, SWT.CENTER, false, false);
-		combo.setLayoutData(gd);
-
-		cViewer = new ComboViewer(combo);
-		cViewer.setContentProvider(new IStructuredContentProvider()
-		{
-
-			private IProcessorType[] types;
-
-			public Object[] getElements(Object inputElement)
-			{
-				return types;
-			}
-
-			public void dispose()
-			{
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-			{
-				types = (IProcessorType[]) newInput;
-			}
-		});
-		cViewer.setLabelProvider(new LabelProvider()
-		{
-			@Override
-			public String getText(Object element)
-			{
-				IProcessorType type = (IProcessorType) element;
-				return type.getLabel();
-			}
-		});
-		cViewer.setSorter(new ViewerSorter()
-		{
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2)
-			{
-				IProcessorType type1 = (IProcessorType) e1;
-				IProcessorType type2 = (IProcessorType) e2;
-				return type1.getLabel().compareTo(type2.getLabel());
-			}
-		});
-		cViewer.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-				IProcessorType type = (IProcessorType) selection.getFirstElement();
-				if (type != null)
-				{
-					outputBlock.setOutputPropertyValues(type, (Properties) typePropertyMap.get(type));
-					outputBlock.setInput(type.getOutputProperties());
-				}
-				else
-				{
-					outputBlock.setOutputPropertyValues(type, new Properties());
-					outputBlock.setInput(new IOutputProperty[0]);
-				}
-			}
-		});
-		cViewer.addFilter(new ViewerFilter()
-		{
-
-			@Override
-			public boolean select(Viewer viewer, Object parentElement, Object element)
-			{
-				IProcessorType type = (IProcessorType) element;
-				return !type.equals(XSLTRuntime.getProcessorType(XSLTRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID));
-			}
-		});
-
-		outputBlock = new OutputBlock();
-		outputBlock.createControl(group);
-		gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.horizontalSpan = 2;
-		outputBlock.getControl().setLayoutData(gd);
-		standardOutputBlock.getControl().setLayoutData(gd);
-		outputBlock.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-				String text = null;
-				if (selection != null && selection.getFirstElement() != null)
-				{
-					text = ((IOutputProperty) selection.getFirstElement()).getDescription();
-				}
-				descriptionText.setText(text == null ? "" : text);
-			}
-		});
-
-		descriptionText = new Text(parent, SWT.WRAP | SWT.BORDER | SWT.READ_ONLY | SWT.V_SCROLL);
-		gd = new GridData(SWT.FILL, SWT.NONE, true, false);
-		gd.horizontalSpan = 2;
-		gd.heightHint = 60;
-		descriptionText.setLayoutData(gd);
-
-		setInput();
-
-		return parent;
-	}
-
-	private void setInput()
-	{
-		IProcessorType[] types = XSLTRuntime.getProcessorTypes();
-		typePropertyMap.clear();
-		for (IProcessorType type : types)
-		{
-			typePropertyMap.put(type, (Properties)type.getOutputPropertyValues().clone());
-		}
-
-		IProcessorType jreDefaultType = XSLTRuntime.getProcessorType(XSLTRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID);
-		standardOutputBlock.setOutputPropertyValues(jreDefaultType, (Properties) typePropertyMap.get(jreDefaultType));
-		standardOutputBlock.setInput(jreDefaultType.getOutputProperties());
-
-		cViewer.setInput(types);
-		cViewer.setSelection(new StructuredSelection(FeaturesPreferencePage.getInitialType()), true);
-	}
-
-	public void init(IWorkbench workbench)
-	{
-	}
-
-	@Override
-	protected void performDefaults()
-	{
-		IProcessorType[] types = XSLTRuntime.getProcessorTypes();
-		typePropertyMap.clear();
-		for (IProcessorType type : types)
-		{
-			typePropertyMap.put(type, XSLTRuntime.createDefaultOutputProperties(type.getId()));
-		}
-
-		IProcessorType jreDefaultType = XSLTRuntime.getProcessorType(XSLTRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID);
-		standardOutputBlock.setOutputPropertyValues(jreDefaultType, (Properties) typePropertyMap.get(jreDefaultType));
-		standardOutputBlock.setInput(jreDefaultType.getOutputProperties());
-
-		cViewer.setInput(types);
-		cViewer.setSelection(new StructuredSelection(FeaturesPreferencePage.getInitialType()), true);
-
-		super.performDefaults();
-	}
-
-	@Override
-	public boolean performOk()
-	{
-		outputBlock.saveColumnSettings();
-		final boolean[] ok = new boolean[1];
-		try
-		{
-			IRunnableWithProgress runnable = new IRunnableWithProgress()
-			{
-				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
-				{
-					try
-					{
-						XSLTRuntime.saveOutputPropertyPreferences(typePropertyMap,monitor);
-					}
-					catch (CoreException e)
-					{
-						XSLDebugUIPlugin.log(e);
-					}
-					ok[0] = !monitor.isCanceled();
-				}
-			};
-			XSLDebugUIPlugin.getDefault().getWorkbench().getProgressService().busyCursorWhile(runnable);
-		}
-		catch (InvocationTargetException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-		catch (InterruptedException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-		return ok[0];
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/ProcessorLibraryBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/ProcessorLibraryBlock.java
deleted file mode 100644
index 11ff0e1..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/ProcessorLibraryBlock.java
+++ /dev/null
@@ -1,345 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.preferences;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceComparator;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.InstallStandin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.JarContentProvider;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.JarLabelProvider;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorMessages;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorJar;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class ProcessorLibraryBlock implements SelectionListener, ISelectionChangedListener
-{
-	protected static final String LAST_PATH_SETTING = "LAST_PATH_SETTING";
-	protected static final String LAST_WORKSPACE_PATH_SETTING = "LAST_WORKSPACE_PATH_SETTING";
-	protected static final String DIALOG_SETTINGS_PREFIX = "ProcessorLibraryBlock";
-	protected InstallStandin install;
-	protected IProcessorType installType;
-	protected AddProcessorDialog addDialog = null;
-	protected TableViewer tableViewer;
-	private Button removeButton;
-	private Button addButton;
-	private Button addWorkspaceButton;
-
-	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);
-			}
-			for (Object element : selection)
-			{
-				if (element instanceof IFolder)
-					return new Status(IStatus.ERROR, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null);
-				else if (element instanceof IFile)
-				{
-					// IFile file = (IFile) selection[i];
-					// TODO check that the file is not already on the classpath
-				}
-			}
-			return new Status(IStatus.OK, XSLDebugUIPlugin.PLUGIN_ID, 0, "", null);
-		}
-	};
-
-	public ProcessorLibraryBlock(AddProcessorDialog dialog)
-	{
-		addDialog = dialog;
-	}
-
-	public Control createControl(Composite parent)
-	{
-		Font font = parent.getFont();
-
-		Composite comp = new Composite(parent, SWT.NONE);
-		GridLayout topLayout = new GridLayout();
-		topLayout.numColumns = 2;
-		topLayout.marginHeight = 0;
-		topLayout.marginWidth = 0;
-		comp.setLayout(topLayout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		comp.setLayoutData(gd);
-
-		tableViewer = new TableViewer(comp);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 6;
-		tableViewer.getControl().setLayoutData(gd);
-		JarContentProvider fLibraryContentProvider = new JarContentProvider();
-		tableViewer.setContentProvider(fLibraryContentProvider);
-		tableViewer.setLabelProvider(new JarLabelProvider());
-		tableViewer.addSelectionChangedListener(this);
-
-		Composite pathButtonComp = new Composite(comp, 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);
-		pathButtonComp.setLayoutData(gd);
-		pathButtonComp.setFont(font);
-
-		addWorkspaceButton = createPushButton(pathButtonComp, ProcessorMessages.ProcessorLibraryBlock_AddWorkspaceButton);
-		addWorkspaceButton.addSelectionListener(this);
-
-		addButton = createPushButton(pathButtonComp, ProcessorMessages.ProcessorLibraryBlock_AddButton);
-		addButton.addSelectionListener(this);
-
-		removeButton = createPushButton(pathButtonComp, ProcessorMessages.ProcessorLibraryBlock_RemoveButton);
-		removeButton.addSelectionListener(this);
-
-		return comp;
-	}
-
-	protected Button createPushButton(Composite parent, String label)
-	{
-		Button button = new Button(parent, SWT.PUSH);
-		button.setFont(parent.getFont());
-		button.setText(label);
-		addDialog.setButtonLayoutData(button);
-		return button;
-	}
-
-	protected void createVerticalSpacer(Composite comp, int colSpan)
-	{
-		Label label = new Label(comp, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = colSpan;
-		label.setLayoutData(gd);
-	}
-
-	public void initializeFrom(InstallStandin standin, IProcessorType type)
-	{
-		install = standin;
-		installType = type;
-		if (install != null)
-			tableViewer.setInput(install);
-		update();
-	}
-
-	/**
-	 * Updates buttons and status based on current libraries
-	 */
-	public void update()
-	{
-		updateButtons();
-		IStatus status = Status.OK_STATUS;
-		if (install != null && install.getProcessorJars().length == 0)
-		{
-			status = new Status(IStatus.INFO, XSLDebugUIPlugin.PLUGIN_ID, 0, "One or more jar files must be specified", null);
-		}
-		addDialog.setSystemLibraryStatus(status);
-		addDialog.updateStatusLine();
-	}
-
-	public void performApply(InstallStandin standin)
-	{
-		standin.setProcessorJars(install.getProcessorJars());
-	}
-
-	protected IProcessorInstall getVMInstall()
-	{
-		return install;
-	}
-
-	protected IProcessorType getVMInstallType()
-	{
-		return installType;
-	}
-
-	public void widgetSelected(SelectionEvent e)
-	{
-		Object source = e.getSource();
-		if (source == removeButton)
-		{
-			remove((IStructuredSelection) tableViewer.getSelection());
-		}
-		else if (source == addButton)
-		{
-			addExternal((IStructuredSelection) tableViewer.getSelection());
-		}
-		else if (source == addWorkspaceButton)
-		{
-			addWorkspace((IStructuredSelection) tableViewer.getSelection());
-		}
-		update();
-	}
-
-	public void widgetDefaultSelected(SelectionEvent e)
-	{
-	}
-
-	private void addExternal(IStructuredSelection selection)
-	{
-		IDialogSettings dialogSettings = XSLDebugUIPlugin.getDefault().getDialogSettings();
-		String lastUsedPath = dialogSettings.get(LAST_PATH_SETTING);
-		if (lastUsedPath == null)
-		{
-			lastUsedPath = "";
-		}
-		FileDialog dialog = new FileDialog(tableViewer.getControl().getShell(), SWT.MULTI);
-		dialog.setText(ProcessorMessages.ProcessorLibraryBlock_FileDialog_Title);
-		dialog.setFilterExtensions(new String[]
-		{ "*.jar;*.zip" });
-		dialog.setFilterPath(lastUsedPath);
-		String res = dialog.open();
-		if (res == null)
-		{
-			return;
-		}
-		String[] fileNames = dialog.getFileNames();
-		int nChosen = fileNames.length;
-
-		IPath filterPath = new Path(dialog.getFilterPath());
-		IProcessorJar[] libs = new IProcessorJar[nChosen];
-		for (int i = 0; i < nChosen; i++)
-		{
-			libs[i] = XSLTRuntime.createProcessorJar(filterPath.append(fileNames[i]).makeAbsolute());
-		}
-		dialogSettings.put(LAST_PATH_SETTING, filterPath.toOSString());
-
-		IProcessorJar[] currentJars = install.getProcessorJars();
-		IProcessorJar[] newJars = new IProcessorJar[currentJars.length + libs.length];
-		System.arraycopy(currentJars, 0, newJars, 0, currentJars.length);
-		System.arraycopy(libs, 0, newJars, currentJars.length, libs.length);
-		install.setProcessorJars(newJars);
-
-		tableViewer.add(libs);
-	}
-
-	private void addWorkspace(IStructuredSelection selection)
-	{
-		IDialogSettings dialogSettings = XSLDebugUIPlugin.getDefault().getDialogSettings();
-		String lastUsedPath = dialogSettings.get(LAST_WORKSPACE_PATH_SETTING);
-		IPath lastPath = null;
-		if (lastUsedPath != null)
-		{
-			lastPath = Path.fromPortableString(lastUsedPath);
-		}
-
-		// IResource currentResource = getResource();
-		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(tableViewer.getControl().getShell(), new WorkbenchLabelProvider(), new WorkbenchContentProvider());
-		dialog.setTitle(ProcessorMessages.ProcessorLibraryBlock_WorkspaceFileDialog_Title);
-		dialog.setMessage(ProcessorMessages.ProcessorLibraryBlock_WorkspaceFileDialog_Message);
-		dialog.setValidator(validator);
-		dialog.addFilter(new ViewerFilter()
-		{
-			@Override
-			public boolean select(Viewer viewer, Object parentElement, Object element)
-			{
-				if (element instanceof IContainer)
-					return true;
-				else if (element instanceof IFile)
-				{
-					IFile file = (IFile) element;
-					String extension = file.getFileExtension();
-					if (extension == null)
-						return false;
-					return extension.equals("jar");
-				}
-				return false;
-			}
-		});
-		dialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
-		if (lastPath != null)
-			dialog.setInitialSelection(lastPath);
-		dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
-		dialog.setAllowMultiple(true);
-
-		if (dialog.open() == Window.OK)
-		{
-			Object[] elements = dialog.getResult();
-			if (elements.length > 0)
-			{
-				IProcessorJar[] libs = new IProcessorJar[elements.length];
-				for (int i = 0; i < elements.length; i++)
-				{
-					IFile jar = (IFile) elements[i];
-					libs[i] = XSLTRuntime.createProcessorJar(jar.getFullPath());
-				}
-				IProcessorJar[] currentJars = install.getProcessorJars();
-				IProcessorJar[] newJars = new IProcessorJar[currentJars.length + libs.length];
-				System.arraycopy(currentJars, 0, newJars, 0, currentJars.length);
-				System.arraycopy(libs, 0, newJars, currentJars.length, libs.length);
-				install.setProcessorJars(newJars);
-
-				tableViewer.add(libs);
-
-				lastPath = libs[0].getPath();
-				lastPath = lastPath.uptoSegment(lastPath.segmentCount());
-				dialogSettings.put(LAST_WORKSPACE_PATH_SETTING, lastPath.toPortableString());
-			}
-		}
-	}
-
-	private void remove(IStructuredSelection selection)
-	{
-		List<IProcessorJar> currentJars = new ArrayList<IProcessorJar>(Arrays.asList(install.getProcessorJars()));
-		for (Iterator<?> iter = selection.iterator(); iter.hasNext();)
-		{
-			currentJars.remove(iter.next());
-		}
-		install.setProcessorJars((IProcessorJar[]) currentJars.toArray(new IProcessorJar[0]));
-		tableViewer.remove(selection.toArray());
-	}
-
-	public void selectionChanged(SelectionChangedEvent event)
-	{
-		updateButtons();
-	}
-
-	private void updateButtons()
-	{
-		IStructuredSelection selection = (IStructuredSelection) tableViewer.getSelection();
-		removeButton.setEnabled(!selection.isEmpty());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/ProcessorsPreferencePage.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/ProcessorsPreferencePage.java
deleted file mode 100644
index ba9804f..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/preferences/ProcessorsPreferencePage.java
+++ /dev/null
@@ -1,162 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.preferences;
-
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class ProcessorsPreferencePage extends PreferencePage implements IWorkbenchPreferencePage
-{
-	private InstalledProcessorsBlock processorsBlock;
-
-	public ProcessorsPreferencePage()
-	{
-		super();
-		// only used when page is shown programatically
-		setTitle("Java XSLT Processors");
-		setDescription("Add, remove or edit XSLT processor definitions.\nBy default, the checked Processor is used for all transformations.");
-	}
-
-	public void init(IWorkbench workbench)
-	{
-	}
-
-	@Override
-	protected Control createContents(Composite ancestor)
-	{
-		initializeDialogUnits(ancestor);
-
-		noDefaultAndApplyButton();
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		ancestor.setLayout(layout);
-
-		processorsBlock = new InstalledProcessorsBlock();
-		processorsBlock.createControl(ancestor);
-		Control control = processorsBlock.getControl();
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 1;
-		control.setLayoutData(data);
-
-		// TODO PlatformUI.getWorkbench().getHelpSystem().setHelp...
-
-		initDefaultInstall();
-		processorsBlock.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				IProcessorInstall install = getCurrentDefaultProcessor();
-				if (install == null)
-				{
-					setValid(false);
-					setErrorMessage("Select a default XSLT Processor");
-				}
-				else
-				{
-					setValid(true);
-					setErrorMessage(null);
-				}
-			}
-		});
-		applyDialogFont(ancestor);
-		return ancestor;
-	}
-
-	@Override
-	public boolean performOk()
-	{
-		processorsBlock.saveColumnSettings();
-		final boolean[] ok = new boolean[1];
-		try
-		{
-			final IProcessorInstall[] installs = processorsBlock.getProcessors();
-			final IProcessorInstall defaultProcessor = getCurrentDefaultProcessor();
-			IRunnableWithProgress runnable = new IRunnableWithProgress()
-			{
-				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException
-				{
-					try
-					{
-						XSLTRuntime.saveProcessorPreferences(installs,defaultProcessor,monitor);
-					}
-					catch (CoreException e)
-					{
-						XSLDebugUIPlugin.log(e);
-					}
-					ok[0] = !monitor.isCanceled();
-				}
-			};
-			XSLDebugUIPlugin.getDefault().getWorkbench().getProgressService().busyCursorWhile(runnable);
-		}
-		catch (InvocationTargetException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-		catch (InterruptedException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-		return ok[0];
-	}
-
-	private void initDefaultInstall()
-	{
-		IProcessorInstall realDefault = XSLTRuntime.getDefaultProcessor();
-		if (realDefault != null)
-		{
-			IProcessorInstall[] installs = processorsBlock.getProcessors();
-			for (IProcessorInstall fakeInstall : installs)
-			{
-				if (fakeInstall.getId().equals(realDefault.getId()))
-				{
-					verifyDefaultVM(fakeInstall);
-					break;
-				}
-			}
-		}
-	}
-
-	private void verifyDefaultVM(IProcessorInstall install)
-	{
-		if (install != null)
-		{
-			processorsBlock.setCheckedInstall(install);
-		}
-		else
-		{
-			processorsBlock.setCheckedInstall(null);
-		}
-	}
-
-	private IProcessorInstall getCurrentDefaultProcessor()
-	{
-		return processorsBlock.getCheckedInstall();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/FOFormatterTab.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/FOFormatterTab.java
deleted file mode 100644
index 55afb25..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/FOFormatterTab.java
+++ /dev/null
@@ -1,99 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchConfigurationTab;
-
-public class FOFormatterTab extends XSLLaunchConfigurationTab
-{
-	private final XSLFOComboBlock xslfoBlock;
-	private final RendererConfigurationBlock configBlock;
-
-	public FOFormatterTab()
-	{
-		xslfoBlock = new XSLFOComboBlock();
-		configBlock = new RendererConfigurationBlock();
-		setBlocks(new ILaunchConfigurationTab[]
-		{ configBlock });
-	}
-
-	private final IPropertyChangeListener fCheckListener = new IPropertyChangeListener()
-	{
-		public void propertyChange(PropertyChangeEvent event)
-		{
-			handleSelectionChanged();
-		}
-	};
-
-	@Override
-	public void createControl(Composite parent)
-	{
-		super.createControl(parent);
-		Composite comp = (Composite) getControl();
-
-		xslfoBlock.createControl(comp);
-		Control control = xslfoBlock.getControl();
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		control.setLayoutData(gd);
-
-		configBlock.createControl(comp);
-
-		// useful bit of code if you want to display extra options when a
-		// particular processor is chosen
-
-		// Composite dynTabComp = new Composite(topComp, SWT.NONE);
-		// dynTabComp.setFont(font);
-		//		
-		// setDynamicTabHolder(dynTabComp);
-		// GridLayout tabHolderLayout = new GridLayout();
-		// tabHolderLayout.marginHeight= 0;
-		// tabHolderLayout.marginWidth= 0;
-		// tabHolderLayout.numColumns = 1;
-		// getDynamicTabHolder().setLayout(tabHolderLayout);
-		// gd = new GridData(GridData.FILL_BOTH);
-		// getDynamicTabHolder().setLayoutData(gd);
-	}
-
-	@Override
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	@Override
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-	}
-
-	@Override
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	public String getName()
-	{
-		return "Formatter";
-	}
-
-	protected void handleSelectionChanged()
-	{
-
-		updateLaunchConfigurationDialog();
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/RendererConfigurationBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/RendererConfigurationBlock.java
deleted file mode 100644
index a26e950..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/RendererConfigurationBlock.java
+++ /dev/null
@@ -1,46 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock;
-
-public class RendererConfigurationBlock extends ResourceSelectionBlock
-{
-	public String getName()
-	{
-		return "Configuration";
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	@Override
-	protected String getMessage(int type)
-	{
-		return "" + type;
-	}
-
-	@Override
-	protected void setDefaultResource()
-	{
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/RendererTabMessages.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/RendererTabMessages.java
deleted file mode 100644
index a97bb1e..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/RendererTabMessages.java
+++ /dev/null
@@ -1,45 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class RendererTabMessages extends NLS
-{
-	private static final String BUNDLE_NAME = "org.eclipse.wst.xsl.internal.debug.ui.tabs.renderer.RendererTabMessages";
-
-	public static String XSLFOComboBlock_XSLFOGroupTitle;
-
-	public static String XSLFOComboBlock_None;
-
-	public static String XSLFOComboBlock_SpecificXSLFOProcessor;
-
-	public static String XSLFOComboBlock_ManageXSLFOProcessor;
-
-	public static String OutputBlock_XMLButton;
-
-	public static String OutputBlock_FOButton;
-
-	public static String OutputBlock_HTMLButton;
-
-	public static String OutputBlock_OutputFilesGroupTitle;
-
-	public static String OutputBlock_OutputTypeGroupTitle;
-
-	public static String URIResolverBlock_Working_Directory_8;
-
-	static
-	{
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, RendererTabMessages.class);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/RendererTabMessages.properties b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/RendererTabMessages.properties
deleted file mode 100644
index ecf4248..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/RendererTabMessages.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-XSLFOComboBlock_XSLFOGroupTitle=XSLFO Processor
-XSLFOComboBlock_None=None
-XSLFOComboBlock_SpecificXSLFOProcessor=Alternate Processor:
-XSLFOComboBlock_ManageXSLFOProcessor=Installed FO Processors
-
-OutputBlock_HTMLButton=HTML
-OutputBlock_XMLButton=XML
-OutputBlock_FOButton=XSLFO (PDF/Postscript)
-OutputBlock_OutputTypeGroupTitle=Output Type
-OutputBlock_OutputFilesGroupTitle=Output File(s)
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/XSLFOComboBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/XSLFOComboBlock.java
deleted file mode 100644
index d438139..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/formatter/XSLFOComboBlock.java
+++ /dev/null
@@ -1,136 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.formatter;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.ControlAccessibleListener;
-
-public class XSLFOComboBlock
-{
-	private Composite fControl;
-	private Button noneButton;
-	private Button alternateButton;
-	private Combo alternateCombo;
-	private Button manageButton;
-
-	public void createControl(Composite ancestor)
-	{
-		Font font = ancestor.getFont();
-		Composite comp = new Composite(ancestor, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		comp.setLayout(layout);
-		comp.setLayoutData(new GridData(GridData.FILL_BOTH));
-		comp.setFont(font);
-		fControl = comp;
-
-		Group group = new Group(comp, SWT.NULL);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		group.setFont(font);
-
-		GridData data;
-		group.setText(RendererTabMessages.XSLFOComboBlock_XSLFOGroupTitle);
-
-		noneButton = new Button(group, SWT.RADIO);
-		noneButton.setText(RendererTabMessages.XSLFOComboBlock_None);
-		noneButton.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				if (noneButton.getSelection())
-				{
-					// setUseDefault();
-					// setStatus(OK_STATUS);
-					// firePropertyChange();
-				}
-			}
-		});
-		data = new GridData();
-		data.horizontalSpan = 3;
-		noneButton.setLayoutData(data);
-		noneButton.setFont(font);
-
-		alternateButton = new Button(group, SWT.RADIO);
-		alternateButton.setText(RendererTabMessages.XSLFOComboBlock_SpecificXSLFOProcessor);
-		alternateButton.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				if (alternateButton.getSelection())
-				{
-					// fCombo.setEnabled(true);
-					// if (fCombo.getText().length() == 0 && !fVMs.isEmpty()) {
-					// fCombo.select(0);
-					// }
-					// if (fVMs.isEmpty()) {
-					// setError(OutputTabMessages.ProcessorsComboBlock_0);
-					// } else {
-					// setStatus(OK_STATUS);
-					// }
-					// firePropertyChange();
-				}
-			}
-		});
-
-		alternateButton.setFont(font);
-		data = new GridData(GridData.BEGINNING);
-		alternateButton.setLayoutData(data);
-
-		alternateCombo = new Combo(group, SWT.DROP_DOWN | SWT.READ_ONLY);
-		alternateCombo.setFont(font);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 1;
-		alternateCombo.setLayoutData(data);
-		ControlAccessibleListener.addListener(alternateCombo, alternateButton.getText());
-
-		alternateCombo.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				// firePropertyChange();
-			}
-		});
-
-		manageButton = new Button(group, SWT.PUSH);
-		manageButton.setText(RendererTabMessages.XSLFOComboBlock_ManageXSLFOProcessor);
-		manageButton.addListener(SWT.Selection, new Listener()
-		{
-			public void handleEvent(Event event)
-			{
-				// IPreferencePage page = new ProcessorsPreferencePage();
-				// showPrefPage("org.eclipse.wst.xslt.launching.ui.preferences.ProcessorPreferencePage",
-				// page);
-			}
-		});
-	}
-
-	public Control getControl()
-	{
-		return fControl;
-	}
-}
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
deleted file mode 100644
index 13d8a71..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IParametersChangedListener.java
+++ /dev/null
@@ -1,16 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-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
deleted file mode 100644
index b1fe798..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/IStylesheetEntriesChangedListener.java
+++ /dev/null
@@ -1,16 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-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
deleted file mode 100644
index a75d21c..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/InputFileBlock.java
+++ /dev/null
@@ -1,142 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-
-public class InputFileBlock extends ResourceSelectionBlock
-{
-	private final IFile defaultFile;
-
-	public InputFileBlock(IFile defaultFile)
-	{
-		super(IResource.FILE, false);
-		this.defaultFile = defaultFile;
-	}
-
-	@Override
-	protected String[] getFileExtensions()
-	{
-		return new String[]
-		{ "xml", "xhtml" };
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-		String path = "";
-		if (defaultFile != null)
-			path = VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression("workspace_loc", defaultFile.getFullPath().toPortableString());
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, path);
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		setLaunchConfiguration(configuration);
-		try
-		{
-			String wd = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null);
-			if (wd != null)
-			{
-				setText(wd);
-			}
-		}
-		catch (CoreException e)
-		{
-			setErrorMessage(MainTabMessages.InputFileBlock_Exception_occurred_reading_configuration + e.getStatus().getMessage());
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, getText());
-	}
-
-	public String getName()
-	{
-		return MainTabMessages.InputFileBlock_Name;
-	}
-
-	@Override
-	protected void setDefaultResource()
-	{
-	}
-
-	@Override
-	protected void textModified()
-	{
-		IPath path = null;
-		String workingDirPath = getText();
-		if (workingDirPath.indexOf("${") >= 0)
-		{
-			IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-			try
-			{
-				manager.validateStringVariables(workingDirPath);
-				path = new Path(manager.performStringSubstitution(workingDirPath));
-			}
-			catch (CoreException e)
-			{
-			}
-		}
-		else if (workingDirPath.length() > 0)
-		{
-			path = new Path(workingDirPath);
-		}
-	}
-
-	@Override
-	protected String getMessage(int type)
-	{
-		switch (type)
-		{
-			case ERROR_DIRECTORY_NOT_SPECIFIED:
-				return MainTabMessages.InputFileBlock_DIRECTORY_NOT_SPECIFIED;
-			case ERROR_DIRECTORY_DOES_NOT_EXIST:
-				return MainTabMessages.InputFileBlock_DIRECTORY_DOES_NOT_EXIST;
-			case GROUP_NAME:
-				return MainTabMessages.InputFileBlock_GROUP_NAME;
-			case USE_DEFAULT_RADIO:
-				return MainTabMessages.InputFileBlock_DEFAULT_RADIO;
-			case USE_OTHER_RADIO:
-				return MainTabMessages.InputFileBlock_OTHER_RADIO;
-			case DIRECTORY_DIALOG_MESSAGE:
-				return MainTabMessages.InputFileBlock_DIALOG_MESSAGE;
-			case WORKSPACE_DIALOG_MESSAGE:
-				return MainTabMessages.InputFileBlock_WORKSPACE_DIALOG_MESSAGE;
-			case VARIABLES_BUTTON:
-				return MainTabMessages.InputFileBlock_VARIABLES_BUTTON;
-			case FILE_SYSTEM_BUTTON:
-				return MainTabMessages.InputFileBlock_FILE_SYSTEM_BUTTON;
-			case WORKSPACE_BUTTON:
-				return MainTabMessages.InputFileBlock_WORKSPACE_BUTTON;
-			case WORKSPACE_DIALOG_TITLE:
-				return MainTabMessages.InputFileBlock_WORKSPACE_DIALOG_TITLE;
-		}
-		return "" + type;
-	}
-
-	@Override
-	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/MainTabMessages.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/MainTabMessages.java
deleted file mode 100644
index 2299328..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/MainTabMessages.java
+++ /dev/null
@@ -1,139 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class MainTabMessages extends NLS
-{
-	private static final String BUNDLE_NAME = "org.eclipse.wst.xsl.internal.debug.ui.tabs.main.MainTabMessages";
-
-	public static String XSLMainTab_LabelText;
-
-	public static String StylesheetEntryLabelProvider_Invalid_path;
-
-	public static String XSLMainTab_Project_Group;
-
-	public static String XSLMainTab_Browse_Projects;
-
-	public static String XSLMainTab_Project_Does_Not_Exist;
-
-	public static String XSLMainTab_Project_Closed;
-
-	public static String XSLMainTab_Project_Name_Invalid;
-
-	public static String XSLMainTab_Choose_Project_Dialog_Title;
-
-	public static String XSLMainTab_Choose_Project_Dialog_Message;
-
-	public static String XSLMainTab_Transforms_Group;
-
-	public static String TransformsBlock_Name;
-
-	public static String InputFileBlock_DIRECTORY_NOT_SPECIFIED;
-
-	public static String InputFileBlock_DIRECTORY_DOES_NOT_EXIST;
-
-	public static String InputFileBlock_GROUP_NAME;
-
-	public static String InputFileBlock_DEFAULT_RADIO;
-
-	public static String InputFileBlock_OTHER_RADIO;
-
-	public static String InputFileBlock_DIALOG_MESSAGE;
-
-	public static String InputFileBlock_WORKSPACE_DIALOG_MESSAGE;
-
-	public static String InputFileBlock_VARIABLES_BUTTON;
-
-	public static String InputFileBlock_FILE_SYSTEM_BUTTON;
-
-	public static String InputFileBlock_WORKSPACE_BUTTON;
-
-	public static String InputFileBlock_Name;
-
-	public static String InputFileBlock_Exception_occurred_reading_configuration;
-
-	public static String InputFileBlock_WORKSPACE_DIALOG_TITLE;
-
-	public static String XSLMainTab_TabName;
-
-	public static String InputFileBlock_Exception_occurred_saving_configuration;
-
-	public static String OutputTypeBlock_Group_Name;
-
-	public static String OutputFileBlock_DIRECTORY_NOT_SPECIFIED;
-
-	public static String OutputFileBlock_DIRECTORY_DOES_NOT_EXIST;
-
-	public static String OutputFileBlock_GROUP_NAME;
-
-	public static String OutputFileBlock_DEFAULT_RADIO;
-
-	public static String OutputFileBlock_OTHER_RADIO;
-
-	public static String OutputFileBlock_DIALOG_MESSAGE;
-
-	public static String OutputFileBlock_WORKSPACE_DIALOG_MESSAGE;
-
-	public static String OutputFileBlock_VARIABLES_BUTTON;
-
-	public static String OutputFileBlock_FILE_SYSTEM_BUTTON;
-
-	public static String OutputFileBlock_WORKSPACE_BUTTON;
-
-	public static String OutputFileBlock_Name;
-
-	public static String OutputFileBlock_Exception_occurred_reading_configuration;
-
-	public static String OutputFileBlock_WORKSPACE_DIALOG_TITLE;
-
-	public static String OutputFileBlock_Exception_occurred_saving_configuration;
-
-	public static String OutputFOFileBlock_DIRECTORY_NOT_SPECIFIED;
-
-	public static String OutputFOFileBlock_DIRECTORY_DOES_NOT_EXIST;
-
-	public static String OutputFOFileBlock_GROUP_NAME;
-
-	public static String OutputFOFileBlock_DEFAULT_RADIO;
-
-	public static String OutputFOFileBlock_OTHER_RADIO;
-
-	public static String OutputFOFileBlock_DIALOG_MESSAGE;
-
-	public static String OutputFOFileBlock_WORKSPACE_DIALOG_MESSAGE;
-
-	public static String OutputFOFileBlock_VARIABLES_BUTTON;
-
-	public static String OutputFOFileBlock_FILE_SYSTEM_BUTTON;
-
-	public static String OutputFOFileBlock_WORKSPACE_BUTTON;
-
-	public static String OutputFOFileBlock_Name;
-
-	public static String OutputFOFileBlock_Exception_occurred_reading_configuration;
-
-	public static String OutputFOFileBlock_WORKSPACE_DIALOG_TITLE;
-
-	public static String OutputFOFileBlock_Exception_occurred_saving_configuration;
-
-	public static String TransformsBlock_ParametersLabel;
-
-	public static String TransformsBlock_StylesheetsLabel;
-
-	static
-	{
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, MainTabMessages.class);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/MainTabMessages.properties b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/MainTabMessages.properties
deleted file mode 100644
index f886352..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/MainTabMessages.properties
+++ /dev/null
@@ -1,61 +0,0 @@
-XSLMainTab_LabelText=List stylesheets in the order to be applied:
-StylesheetEntryLabelProvider_Invalid_path=Invalid path
-XSLMainTab_Project_Does_Not_Exist=Project does not exist
-XSLMainTab_Project_Closed=Project is closed
-XSLMainTab_Project_Name_Invalid=Project name is invalid
-XSLMainTab_Choose_Project_Dialog_Title=Select project
-XSLMainTab_Choose_Project_Dialog_Message=Choose a project to associate with this launch configuration
-XSLMainTab_Project_Group=Project
-XSLMainTab_Browse_Projects=Browse
-XSLMainTab_TabName=Main
-
-TransformsBlock_Name=Transformation Pipeline
-TransformsBlock_ParametersLabel=Parameters for stylesheet:
-TransformsBlock_StylesheetsLabel=Stylesheets:
-
-InputFileBlock_DIRECTORY_NOT_SPECIFIED=Input file not specified
-InputFileBlock_DIRECTORY_DOES_NOT_EXIST=Input file does not exist
-InputFileBlock_GROUP_NAME=XML Input File
-InputFileBlock_DEFAULT_RADIO=Use default
-InputFileBlock_OTHER_RADIO=Other
-InputFileBlock_DIALOG_MESSAGE=Select an external input file
-InputFileBlock_WORKSPACE_DIALOG_MESSAGE=Select an input file from the workspace
-InputFileBlock_VARIABLES_BUTTON=Variables...
-InputFileBlock_FILE_SYSTEM_BUTTON=File System...
-InputFileBlock_WORKSPACE_BUTTON=Workspace...
-InputFileBlock_Name=XML Input File
-InputFileBlock_Exception_occurred_reading_configuration=Exception occurred reading configuration
-InputFileBlock_Exception_occurred_saving_configuration=Exception occurred saving launch configuration
-InputFileBlock_WORKSPACE_DIALOG_TITLE=File Selection
-
-OutputTypeBlock_Group_Name=Output Type
-OutputFileBlock_DIRECTORY_NOT_SPECIFIED=Transform output file not specified
-OutputFileBlock_DIRECTORY_DOES_NOT_EXIST=Transform output file does not exist
-OutputFileBlock_GROUP_NAME=Transform Output File
-OutputFileBlock_DEFAULT_RADIO=Default
-OutputFileBlock_OTHER_RADIO=Other
-OutputFileBlock_DIALOG_MESSAGE=Select an external output file
-OutputFileBlock_WORKSPACE_DIALOG_MESSAGE=Select an output file from the workspace
-OutputFileBlock_VARIABLES_BUTTON=Variables...
-OutputFileBlock_FILE_SYSTEM_BUTTON=File System...
-OutputFileBlock_WORKSPACE_BUTTON=Workspace...
-OutputFileBlock_Name=Transform Output File
-OutputFileBlock_Exception_occurred_reading_configuration=Exception occurred reading configuration
-OutputFileBlock_Exception_occurred_saving_configuration=Exception occurred saving launch configuration
-OutputFileBlock_WORKSPACE_DIALOG_TITLE=File Selection
-
-OutputFOFileBlock_DIRECTORY_NOT_SPECIFIED=Renderer output file not specified
-OutputFOFileBlock_DIRECTORY_DOES_NOT_EXIST=Renderer output file does not exist
-OutputFOFileBlock_GROUP_NAME=Renderer Output File
-OutputFOFileBlock_DEFAULT_RADIO=Default
-OutputFOFileBlock_OTHER_RADIO=Other
-OutputFOFileBlock_DIALOG_MESSAGE=Select an external output file
-OutputFOFileBlock_WORKSPACE_DIALOG_MESSAGE=Select an output file from the workspace
-OutputFOFileBlock_VARIABLES_BUTTON=Variables...
-OutputFOFileBlock_FILE_SYSTEM_BUTTON=File System...
-OutputFOFileBlock_WORKSPACE_BUTTON=Workspace...
-OutputFOFileBlock_Name=Renderer Output File
-OutputFOFileBlock_Exception_occurred_reading_configuration=Exception occurred reading configuration
-OutputFOFileBlock_Exception_occurred_saving_configuration=Exception occurred saving launch configuration
-OutputFOFileBlock_WORKSPACE_DIALOG_TITLE=File Selection
-
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
deleted file mode 100644
index 5ba94db..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParameterViewer.java
+++ /dev/null
@@ -1,121 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction;
-import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
-
-public class ParameterViewer extends TableViewer
-{
-	private final ListenerList fListeners = new ListenerList();
-
-	public ParameterViewer(Table table)
-	{
-		super(table);
-
-		table.addKeyListener(new KeyAdapter()
-		{
-			@Override
-			public void keyPressed(KeyEvent event)
-			{
-				// TODO - removal
-				// if (updateSelection(AbstractStylesheetAction.REMOVE,
-				// (IStructuredSelection)getSelection()) && event.character ==
-				// SWT.DEL && event.stateMask == 0)
-				// {
-				// List selection = getSelectionFromWidget();
-				// getStylesheetContentProvider().removeEntries((IStylesheetEntry[])selection.toArray(new
-				// IStylesheetEntry[0]));
-				// notifyChanged();
-				// }
-			}
-		});
-	}
-
-	private ParametersContentProvider getParametersContentProvider()
-	{
-		return (ParametersContentProvider) super.getContentProvider();
-	}
-
-	public Shell getShell()
-	{
-		return getControl().getShell();
-	}
-
-	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;
-		}
-		return selection.size() > 0;
-	}
-
-	public IStructuredSelection getSelectedEntries()
-	{
-		IStructuredSelection selection = (IStructuredSelection) getSelection();
-		return selection;
-	}
-
-	public void addParameter(LaunchAttribute parameter)
-	{
-		getParametersContentProvider().addParameter(parameter);
-		notifyChanged();
-	}
-
-	public void removeEntries(LaunchAttribute[] entries)
-	{
-		getParametersContentProvider().removeParameters(entries);
-		notifyChanged();
-	}
-
-	public LaunchAttribute[] getParameters()
-	{
-		return getParametersContentProvider().getParameters();
-	}
-
-	public void addParametersChangedListener(IParametersChangedListener listener)
-	{
-		fListeners.add(listener);
-	}
-
-	public void removeParametersChangedListener(IParametersChangedListener listener)
-	{
-		fListeners.remove(listener);
-	}
-
-	private void notifyChanged()
-	{
-		Object[] listeners = fListeners.getListeners();
-		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
deleted file mode 100644
index 290fec5..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersBlock.java
+++ /dev/null
@@ -1,296 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIConstants;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractParameterAction;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.AddParameterAction;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.RemoveParameterAction;
-import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-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();
-			if (stylesheetSelection.size() == 1)
-				setTransform((LaunchTransform) stylesheetSelection.getFirstElement());
-			else
-				setTransform(null);
-			updateEnabled();
-		}
-	};
-	private Table fTable;
-
-	public ParametersBlock(TransformsBlock transformsBlock)
-	{
-		super();
-		this.transformsBlock = transformsBlock;
-	}
-
-	protected void setTransform(LaunchTransform transform)
-	{
-		parametersViewer.setInput(transform);
-	}
-
-	protected void updateEnabled()
-	{
-		IStructuredSelection stylesheetSelection = (IStructuredSelection) transformsBlock.getStylesheetViewer().getSelection();
-		boolean enabled = stylesheetSelection.size() == 1;
-		parametersViewer.getTable().setEnabled(enabled);
-		addParameterButton.setEnabled(enabled);
-		IStructuredSelection parametersSelection = (IStructuredSelection) parametersViewer.getSelection();
-		removeParameterButton.setEnabled(enabled && !parametersSelection.isEmpty());
-	}
-
-	public void createControl(Composite parent)
-	{
-		Font font = parent.getFont();
-
-		Group group = new Group(parent, SWT.NONE);
-		group.setText(getName());
-		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		group.setLayoutData(gd);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		group.setLayout(layout);
-		group.setFont(font);
-
-		setControl(group);
-
-		fTable = new Table(group, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
-
-		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
-		// data.heightHint = 100;
-		fTable.setLayoutData(data);
-		fTable.setFont(font);
-
-		fTable.setHeaderVisible(true);
-		fTable.setLinesVisible(true);
-
-		TableColumn column1 = new TableColumn(fTable, SWT.NONE);
-		column1.setWidth(150);
-		column1.setResizable(true);
-		column1.setText("Name");
-		column1.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				// sortByName();
-			}
-		});
-
-		TableColumn column2 = new TableColumn(fTable, SWT.NONE);
-		column2.setWidth(50);
-		column2.setResizable(true);
-		column2.setText("Type");
-		column2.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				// sortByType();
-			}
-		});
-
-		TableColumn column3 = new TableColumn(fTable, SWT.NONE);
-		column3.setWidth(150);
-		column3.setResizable(true);
-		column3.setText("Value");
-		column3.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				// sortByType();
-			}
-		});
-
-		parametersViewer = new ParameterViewer(fTable);
-		parametersViewer.setLabelProvider(new ParametersLabelProvider());
-		parametersViewer.setContentProvider(new ParametersContentProvider());
-		parametersViewer.addParametersChangedListener(new IParametersChangedListener()
-		{
-
-			public void parametersChanged(ParameterViewer viewer)
-			{
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		parametersViewer.setColumnProperties(new String[]
-		{ "name", "type", "value" });
-		final String[] types = new String[]
-		{ LaunchAttribute.TYPE_STRING, LaunchAttribute.TYPE_BOOLEAN, LaunchAttribute.TYPE_INT, LaunchAttribute.TYPE_DOUBLE, LaunchAttribute.TYPE_FLOAT, LaunchAttribute.TYPE_OBJECT,
-				LaunchAttribute.TYPE_CLASS, };
-		ComboBoxCellEditor comboEditor = new ComboBoxCellEditor(fTable, types, SWT.READ_ONLY | SWT.DROP_DOWN);
-		TextCellEditor textEditor = new TextCellEditor(fTable);
-		CellEditor[] editors = new CellEditor[]
-		{ null, comboEditor, textEditor };
-		parametersViewer.setCellEditors(editors);
-		parametersViewer.setCellModifier(new ICellModifier()
-		{
-			public boolean canModify(Object element, String property)
-			{
-				return "type".equals(property) || "value".equals(property);
-			}
-
-			public Object getValue(Object element, String property)
-			{
-				LaunchAttribute att = (LaunchAttribute) element;
-				if ("type".equals(property))
-				{
-					for (int i = 0; i < types.length; i++)
-					{
-						String type = types[i];
-						if (type.equals(att.type))
-							return new Integer(i);
-					}
-					return null;
-				}
-				return att.value == null ? "" : att.value;
-			}
-
-			public void modify(Object element, String property, Object value)
-			{
-				Item item = (Item) element;
-				LaunchAttribute att = (LaunchAttribute) item.getData();
-				if ("type".equals(property))
-				{
-					Integer v = (Integer) value;
-					att.type = types[v.intValue()];
-				}
-				else if ("value".equals(property))
-					att.value = (String) value;
-				parametersViewer.update(att, null);
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		Composite parameterButtonComp = new Composite(group, SWT.NONE);
-		GridLayout parameterButtonCompLayout = new GridLayout();
-		parameterButtonCompLayout.marginHeight = 0;
-		parameterButtonCompLayout.marginWidth = 0;
-		parameterButtonComp.setLayout(parameterButtonCompLayout);
-		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));
-
-		transformsBlock.getStylesheetViewer().addSelectionChangedListener(selectionListener);
-
-		restoreColumnSettings();
-	}
-
-	protected Button createButton(Composite pathButtonComp, AbstractParameterAction action)
-	{
-		Button button = createPushButton(pathButtonComp, action.getText(), null);
-		action.setButton(button);
-		return button;
-	}
-
-	@Override
-	protected void setSortColumn(int column)
-	{
-		switch (column)
-		{
-		// case 1:
-		// sortByName();
-		// break;
-		// case 2:
-		// sortByType();
-		// break;
-		}
-		super.setSortColumn(column);
-	}
-
-	@Override
-	protected Table getTable()
-	{
-		return fTable;
-	}
-
-	@Override
-	protected IDialogSettings getDialogSettings()
-	{
-		return XSLDebugUIPlugin.getDefault().getDialogSettings();
-	}
-
-	@Override
-	protected String getQualifier()
-	{
-		return XSLDebugUIConstants.MAIN_PARAMATERS_BLOCK;
-	}
-
-	public String getName()
-	{
-		return "Transformation Parameters";
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		// handled by the Tab
-		updateEnabled();
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		// handled by the Tab
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-		// handled by the Tab
-	}
-
-	@Override
-	public void dispose()
-	{
-		if (transformsBlock.getStylesheetViewer() != null)
-			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
deleted file mode 100644
index 7dc8edd..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersContentProvider.java
+++ /dev/null
@@ -1,81 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class ParametersContentProvider implements IStructuredContentProvider
-{
-	private LaunchTransform stylesheetEntry;
-	private ParameterViewer parameterViewer;
-
-	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)
-	{
-		stylesheetEntry = (LaunchTransform) newInput;
-		parameterViewer = (ParameterViewer) viewer;
-	}
-
-	public void dispose()
-	{
-	}
-
-	public LaunchAttribute[] getParameters()
-	{
-		return (LaunchAttribute[]) stylesheetEntry.getParameters().toArray(new LaunchAttribute[0]);
-	}
-
-	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--)
-		{
-			TableItem item = items[i];
-			if (!entryList.contains(item.getData()))
-			{
-				sel = item.getData();
-				break;
-			}
-		}
-		parameterViewer.remove(entries);
-
-		if (sel != null)
-			parameterViewer.setSelection(new StructuredSelection(sel), true);
-	}
-
-	public void addParameter(LaunchAttribute parameter)
-	{
-		stylesheetEntry.getParameters().add(parameter);
-		parameterViewer.add(parameter);
-		parameterViewer.setSelection(new StructuredSelection(parameter), true);
-		// parameterViewer.refresh();
-	}
-}
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
deleted file mode 100644
index 5226057..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/ParametersLabelProvider.java
+++ /dev/null
@@ -1,56 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-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)
-	{
-		LaunchAttribute p = (LaunchAttribute) element;
-		switch (columnIndex)
-		{
-			case 0:
-				return p.uri;
-			case 1:
-				return p.type;
-			case 2:
-				return p.value;
-		}
-		return "!";
-	}
-
-	public Image getColumnImage(Object element, int columnIndex)
-	{
-		return null;
-	}
-
-	public void addListener(ILabelProviderListener listener)
-	{
-	}
-
-	public void dispose()
-	{
-	}
-
-	public boolean isLabelProperty(Object element, String property)
-	{
-		return false;
-	}
-
-	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
deleted file mode 100644
index 17c34ad..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetContentProvider.java
+++ /dev/null
@@ -1,73 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.xsl.launching.config.LaunchPipeline;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class StylesheetContentProvider implements IStructuredContentProvider
-{
-	private TableViewer tableViewer;
-	private LaunchPipeline pipeline;
-
-	public StylesheetContentProvider()
-	{
-	}
-
-	public Object[] getElements(Object inputElement)
-	{
-		return pipeline.getTransformDefs().toArray(new LaunchTransform[0]);
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-	{
-		tableViewer = (TableViewer) viewer;
-		pipeline = (LaunchPipeline) newInput;
-	}
-
-	public void dispose()
-	{
-	}
-
-	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)
-		{
-			pipeline.addTransformDef(transform);
-		}
-		tableViewer.add(res);
-		// select the first new one
-		tableViewer.setSelection(new StructuredSelection(res[0]), true);
-	}
-
-	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
deleted file mode 100644
index 2f4141b..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetLabelProvider.java
+++ /dev/null
@@ -1,81 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import java.io.File;
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class StylesheetLabelProvider extends LabelProvider
-{
-	@Override
-	public Image getImage(Object element)
-	{
-		return null;
-	}
-
-	@Override
-	public String getText(Object element)
-	{
-		LaunchTransform lt = (LaunchTransform) element;
-		int index = lt.getPipeline().getTransformDefs().indexOf(lt);
-
-		IPath path;
-		try
-		{
-			path = lt.getPath();
-		}
-		catch (CoreException e)
-		{
-			return MessageFormat.format(MainTabMessages.StylesheetEntryLabelProvider_Invalid_path, new String[]
-			{ "null" });
-		}
-
-		if (path == null)
-		{
-			return MessageFormat.format(MainTabMessages.StylesheetEntryLabelProvider_Invalid_path, new String[]
-			{ "null" });
-		}
-		else if (!path.isAbsolute() || !path.isValidPath(path.toString()))
-		{
-			return MessageFormat.format(MainTabMessages.StylesheetEntryLabelProvider_Invalid_path, new String[]
-			{ path.toString() });
-		}
-
-		String[] segments = path.segments();
-		StringBuffer displayPath = new StringBuffer();
-		if (segments.length > 0)
-		{
-			displayPath.append(segments[segments.length - 1]);
-			displayPath.append(" - ");
-			String device = path.getDevice();
-			if (device != null)
-			{
-				displayPath.append(device);
-			}
-			displayPath.append(File.separator);
-			for (int i = 0; i < segments.length - 1; i++)
-			{
-				displayPath.append(segments[i]).append(File.separator);
-			}
-		}
-		else
-		{
-			displayPath.append(path.toString());
-		}
-		return (index + 1) + ") " + displayPath.toString();
-	}
-}
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
deleted file mode 100644
index 9030d6b..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/StylesheetViewer.java
+++ /dev/null
@@ -1,130 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import java.util.List;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class StylesheetViewer extends TableViewer
-{
-	private final ListenerList listenerList = new ListenerList();
-
-	public StylesheetViewer(Composite parent)
-	{
-		super(parent);
-
-		getTable().addKeyListener(new KeyAdapter()
-		{
-			@Override
-			public void keyPressed(KeyEvent event)
-			{
-				if (updateSelection(AbstractStylesheetAction.REMOVE, (IStructuredSelection) getSelection()) && event.character == SWT.DEL && event.stateMask == 0)
-				{
-					List<?> selection = getSelectionFromWidget();
-					getStylesheetContentProvider().removeEntries((LaunchTransform[]) selection.toArray(new LaunchTransform[0]));
-					notifyChanged();
-				}
-			}
-		});
-	}
-
-	private StylesheetContentProvider getStylesheetContentProvider()
-	{
-		return (StylesheetContentProvider) super.getContentProvider();
-	}
-
-	public void setEntries(LaunchTransform[] transforms)
-	{
-		getStylesheetContentProvider().setEntries(transforms);
-		notifyChanged();
-	}
-
-	public LaunchTransform[] getEntries()
-	{
-		return (LaunchTransform[]) getStylesheetContentProvider().getElements(null);
-	}
-
-	public Shell getShell()
-	{
-		return getControl().getShell();
-	}
-
-	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;
-		}
-		return selection.size() > 0;
-	}
-
-	public IStructuredSelection getSelectedEntries()
-	{
-		IStructuredSelection selection = (IStructuredSelection) getSelection();
-		return selection;
-	}
-
-	public void addTransforms(LaunchTransform[] res)
-	{
-		IStructuredSelection sel = (IStructuredSelection) getSelection();
-		Object beforeElement = sel.getFirstElement();
-		if (getEntries().length > 1 && beforeElement == null)
-			beforeElement = getEntries()[getEntries().length - 1];
-		getStylesheetContentProvider().addEntries(res, beforeElement);
-		notifyChanged();
-	}
-
-	public void removeEntries(LaunchTransform[] entries)
-	{
-		getStylesheetContentProvider().removeEntries(entries);
-		notifyChanged();
-	}
-
-	public void addEntriesChangedListener(IStylesheetEntriesChangedListener listener)
-	{
-		listenerList.add(listener);
-	}
-
-	public void removeEntriesChangedListener(IStylesheetEntriesChangedListener listener)
-	{
-		listenerList.remove(listener);
-	}
-
-	private void notifyChanged()
-	{
-		Object[] listeners = listenerList.getListeners();
-		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
deleted file mode 100644
index bed2da4..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/TransformsBlock.java
+++ /dev/null
@@ -1,198 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIConstants;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.AbstractStylesheetAction;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.AddExternalFileAction;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.AddWorkspaceFileAction;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.MoveDownAction;
-import org.eclipse.wst.xsl.internal.debug.ui.actions.MoveUpAction;
-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";
-	private StylesheetViewer stylesheetViewer;
-	private LaunchPipeline pipeline;
-
-	public TransformsBlock()
-	{
-		super();
-	}
-
-	public void createControl(Composite parent)
-	{
-		Font font = parent.getFont();
-
-		Group group = new Group(parent, SWT.NONE);
-		group.setText(getName());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(gd);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		group.setLayout(layout);
-		group.setFont(font);
-
-		setControl(group);
-
-		stylesheetViewer = new StylesheetViewer(group);
-		gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		stylesheetViewer.getTable().setLayoutData(gd);
-		stylesheetViewer.addEntriesChangedListener(this);
-		stylesheetViewer.getControl().setFont(font);
-		stylesheetViewer.setLabelProvider(new StylesheetLabelProvider());
-		stylesheetViewer.setContentProvider(new StylesheetContentProvider());
-
-		Composite upDownButtonComp = new Composite(group, SWT.NONE);
-		GridLayout upDownButtonLayout = new GridLayout();
-		upDownButtonLayout.marginHeight = 0;
-		upDownButtonLayout.marginWidth = 0;
-		upDownButtonComp.setLayout(upDownButtonLayout);
-		gd = new GridData(SWT.FILL, SWT.FILL, false, true);
-		upDownButtonComp.setLayoutData(gd);
-		upDownButtonComp.setFont(font);
-
-		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);
-
-		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);
-		pathButtonComp.setLayoutData(gd);
-		pathButtonComp.setFont(font);
-
-		createButton(pathButtonComp, new AddWorkspaceFileAction(stylesheetViewer));
-		createButton(pathButtonComp, new AddExternalFileAction(stylesheetViewer, DIALOG_SETTINGS_PREFIX));
-		// TODO
-		// createButton(pathButtonComp, new
-		// SetURIResolverAction(stylesheetViewer));
-		createButton(pathButtonComp, new RemoveAction(stylesheetViewer));
-	}
-
-	public Viewer getStylesheetViewer()
-	{
-		return stylesheetViewer;
-	}
-
-	protected Button createArrowButton(Composite pathButtonComp, AbstractStylesheetAction action, int updown)
-	{
-		Button b = new Button(pathButtonComp, SWT.ARROW | updown);
-		GridData gd = new GridData();
-		b.setLayoutData(gd);
-		action.setButton(b);
-		return b;
-	}
-
-	protected Button createButton(Composite pathButtonComp, AbstractStylesheetAction action)
-	{
-		Button button = createPushButton(pathButtonComp, action.getText(), null);
-		action.setButton(button);
-		return button;
-	}
-
-	public String getName()
-	{
-		return MainTabMessages.TransformsBlock_Name;
-	}
-
-	public void setPipeline(LaunchPipeline pipeline)
-	{
-		this.pipeline = pipeline;
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		stylesheetViewer.setInput(pipeline);
-		if (pipeline.getTransformDefs().size() > 0)
-		{
-			stylesheetViewer.setSelection(new StructuredSelection(pipeline.getTransformDefs().get(0)));
-		}
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	public void entriesChanged(StylesheetViewer viewer)
-	{
-		setDirty(true);
-		updateLaunchConfigurationDialog();
-	}
-
-	@Override
-	protected void setSortColumn(int column)
-	{
-		switch (column)
-		{
-		// case 1:
-		// sortByName();
-		// break;
-		// case 2:
-		// sortByType();
-		// break;
-		}
-		super.setSortColumn(column);
-	}
-
-	@Override
-	protected Table getTable()
-	{
-		return stylesheetViewer == null ? null : stylesheetViewer.getTable();
-	}
-
-	@Override
-	protected IDialogSettings getDialogSettings()
-	{
-		return XSLDebugUIPlugin.getDefault().getDialogSettings();
-	}
-
-	@Override
-	protected String getQualifier()
-	{
-		return XSLDebugUIConstants.MAIN_TRANSFORMS_BLOCK;
-	}
-
-	@Override
-	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
deleted file mode 100644
index 40b44c3..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/main/XSLMainTab.java
+++ /dev/null
@@ -1,212 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.main;
-
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchConfigurationTab;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.config.LaunchPipeline;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class XSLMainTab extends XSLLaunchConfigurationTab
-{
-	private final InputFileBlock inputFileBlock;
-	private final TransformsBlock transformsBlock;
-	private final ParametersBlock parametersBlock;
-	public LaunchPipeline pipeline;
-
-	// private RenderBlock renderBlock;
-	// private OutputBlock outputBlock;
-
-	public XSLMainTab()
-	{
-		IResource[] resourceContext = getContext();
-		IFile inputFile = getXMLInput(resourceContext);
-
-		inputFileBlock = new InputFileBlock(inputFile);
-		transformsBlock = new TransformsBlock();
-		parametersBlock = new ParametersBlock(transformsBlock);
-		// renderBlock = new RenderBlock();
-		// outputBlock = new OutputBlock();
-
-		setBlocks(new ILaunchConfigurationTab[]
-		{ inputFileBlock, transformsBlock, parametersBlock }); // ,renderBlock,outputBlock});
-	}
-
-	@Override
-	public void createControl(Composite parent)
-	{
-		super.createControl(parent);
-		Composite comp = (Composite) getControl();
-		GridLayout layout = new GridLayout(1, false);
-		comp.setLayout(layout);
-
-		inputFileBlock.createControl(comp);
-		transformsBlock.createControl(comp);
-		parametersBlock.createControl(comp);
-		// renderBlock.createControl(comp);
-		// outputBlock.createControl(comp);
-	}
-
-	@Override
-	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);
-			lp.addTransformDef(lt);
-		}
-		savePipeline(configuration, lp);
-		super.setDefaults(configuration);
-	}
-
-	@Override
-	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());
-				pipeline = LaunchPipeline.fromXML(inputStream);
-			}
-			else
-			{
-				pipeline = new LaunchPipeline();
-			}
-		}
-		catch (CoreException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-		transformsBlock.setPipeline(pipeline);
-		super.initializeFrom(configuration);
-	}
-
-	@Override
-	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)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-
-	public String getName()
-	{
-		return MainTabMessages.XSLMainTab_TabName;
-	}
-
-	private static IResource[] getContext()
-	{
-
-		// IProject[] projects =
-		// ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		// project.setInput( projects);
-		// String s = configuration.getAttribute(
-		// IXSLTLaunchConfiguration.PROJECT, "");
-		// IProject project = null;
-		// if( s.equals(""))
-		// {
-		// if( projects.length>0)
-		// {
-		// project = projects[ 0];
-		// }
-		// }
-		// else
-		// project = ResourcesPlugin.getWorkspace().getRoot().getProject( s);
-
-		IWorkbenchPage page = XSLDebugUIPlugin.getActivePage();
-		List<Object> resources = new ArrayList<Object>();
-		if (page != null)
-		{
-			// use selections to find the project
-			ISelection selection = page.getSelection();
-			if (selection != null && !selection.isEmpty() && selection instanceof IStructuredSelection)
-			{
-				IStructuredSelection ss = (IStructuredSelection) selection;
-				for (Iterator<?> iter = ss.iterator(); iter.hasNext();)
-				{
-					Object element = iter.next();
-					if (element instanceof IResource)
-						resources.add(element);
-				}
-				return (IResource[]) resources.toArray(new IResource[0]);
-			}
-			// use current editor to find the project
-			IEditorPart part = page.getActiveEditor();
-			if (part != null)
-			{
-				IEditorInput input = part.getEditorInput();
-				IFile file = (IFile) input.getAdapter(IFile.class);
-				if (file != null)
-					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())))
-				return (IFile) resource;
-		}
-		return null;
-	}
-
-	private IFile[] getXSLStylesheets(IResource[] context)
-	{
-		List<IResource> stylesheets = new ArrayList<IResource>();
-		for (IResource resource : context)
-		{
-			if (resource instanceof IFile && "xsl".equalsIgnoreCase(resource.getFileExtension()))
-				stylesheets.add(resource);
-		}
-		return (IFile[]) stylesheets.toArray(new IFile[0]);
-
-	}
-}
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
deleted file mode 100644
index 9b261c6..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputFileBlock.java
+++ /dev/null
@@ -1,235 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.output;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.MainTabMessages;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-
-public class OutputFileBlock extends ResourceSelectionBlock
-{
-	public static final String OUTPUT_METHOD_DEFAULT = "<Default>";
-	public static final String OUTPUT_METHOD_XML = "xml";
-	public static final String OUTPUT_METHOD_XHTML = "xhtml";
-	public static final String OUTPUT_METHOD_HTML = "html";
-	public static final String OUTPUT_METHOD_TEXT = "text";
-
-	public static final String[] OUTPUT_METHODS = new String[]
-	{ OUTPUT_METHOD_DEFAULT, OUTPUT_METHOD_XML, OUTPUT_METHOD_XHTML, OUTPUT_METHOD_HTML, OUTPUT_METHOD_TEXT };
-	private Button openFileCheckButton;
-	// private ComboViewer formatViewer;
-	// private Combo formatCombo;
-	private ComboViewer methodViewer;
-	private String inputFilename;
-
-	public OutputFileBlock()
-	{
-		super(IResource.FILE, true, true, false);
-	}
-
-	@Override
-	protected String getMessage(int type)
-	{
-		switch (type)
-		{
-			case ERROR_DIRECTORY_NOT_SPECIFIED:
-				return MainTabMessages.OutputFOFileBlock_DIRECTORY_NOT_SPECIFIED;
-			case ERROR_DIRECTORY_DOES_NOT_EXIST:
-				return MainTabMessages.OutputFOFileBlock_DIRECTORY_DOES_NOT_EXIST;
-			case GROUP_NAME:
-				return getName();
-			case USE_DEFAULT_RADIO:
-				return "Use default location";
-			case USE_OTHER_RADIO:
-				return MainTabMessages.OutputFOFileBlock_OTHER_RADIO;
-			case DIRECTORY_DIALOG_MESSAGE:
-				return MainTabMessages.OutputFOFileBlock_DIALOG_MESSAGE;
-			case WORKSPACE_DIALOG_MESSAGE:
-				return MainTabMessages.OutputFOFileBlock_WORKSPACE_DIALOG_MESSAGE;
-			case VARIABLES_BUTTON:
-				return MainTabMessages.OutputFOFileBlock_VARIABLES_BUTTON;
-			case FILE_SYSTEM_BUTTON:
-				return MainTabMessages.OutputFOFileBlock_FILE_SYSTEM_BUTTON;
-			case WORKSPACE_BUTTON:
-				return MainTabMessages.OutputFOFileBlock_WORKSPACE_BUTTON;
-			case WORKSPACE_DIALOG_TITLE:
-				return MainTabMessages.OutputFOFileBlock_WORKSPACE_DIALOG_TITLE;
-		}
-		return "" + type;
-	}
-
-	@Override
-	protected void setDefaultResource()
-	{}
-
-	@Override
-	protected void createContents(Composite parent)
-	{
-		// Composite comp = new Composite(parent,SWT.NONE);
-		// GridData gd = new GridData(SWT.FILL,SWT.FILL,true,false);
-		// gd.horizontalSpan = 2;
-		// comp.setLayoutData(gd);
-		// GridLayout layout = new GridLayout(2,true);
-		// layout.marginHeight = 0;
-		// layout.marginWidth = 0;
-		// comp.setLayout(layout);
-
-		// createMethodCombo(comp);
-		// createFormatCombo(comp);
-
-		// methodViewer.setInput("");
-		// formatViewer.setInput("");
-
-		// methodViewer.setSelection(new StructuredSelection("xml"), true);
-		// formatViewer.setSelection(new StructuredSelection("<none>"), true);
-
-		fileLabel = "Location:";
-		createCheckboxAndText(parent);
-		createButtons(parent);
-	}
-
-	@Override
-	protected void createButtons(Composite parent)
-	{
-		openFileCheckButton = createCheckButton(parent, "Open file on completion");
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 1;
-		openFileCheckButton.setLayoutData(gd);
-		openFileCheckButton.addSelectionListener(new SelectionListener()
-		{
-
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
-			}
-
-			public void widgetSelected(SelectionEvent e)
-			{
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		Composite buttonComp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(3, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		buttonComp.setLayout(layout);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gd.horizontalSpan = 1;
-		buttonComp.setLayoutData(gd);
-		buttonComp.setFont(parent.getFont());
-
-		fWorkspaceButton = createPushButton(buttonComp, getMessage(WORKSPACE_BUTTON), null);
-		fWorkspaceButton.addSelectionListener(widgetListener);
-
-		fFileSystemButton = createPushButton(buttonComp, getMessage(FILE_SYSTEM_BUTTON), null);
-		fFileSystemButton.addSelectionListener(widgetListener);
-
-		fVariablesButton = createPushButton(buttonComp, getMessage(VARIABLES_BUTTON), null);
-		fVariablesButton.addSelectionListener(widgetListener);
-	}
-
-	public String getName()
-	{
-		return "Output File";
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		try
-		{
-			String outputMethod = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_METHOD, OUTPUT_METHODS[0]);
-			// methodViewer.setSelection(new StructuredSelection(outputMethod),
-			// true);
-
-			inputFilename = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, "");
-			// String renderTo =
-			// configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_RENDER_TO,
-			// "");
-			updateDefaultOutputFile();
-
-			boolean useDefault = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, true);
-			useDefaultCheckButton.setSelection(useDefault);
-
-			outputFile = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILE, defaultOutputFile);
-
-			updateResourceText(useDefault);
-
-			boolean openFileOnCompletion = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
-			openFileCheckButton.setSelection(openFileOnCompletion);
-		}
-		catch (CoreException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		boolean useDefault = useDefaultCheckButton.getSelection();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, useDefault);
-
-		String outputFile = resourceText.getText();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILE, outputFile);
-
-		// String outputMethod =
-		// (String)((IStructuredSelection)methodViewer.getSelection()).getFirstElement();
-		// outputMethod = outputMethod == OUTPUT_METHODS[0] ? null :
-		// outputMethod;
-		// configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_METHOD,
-		// outputMethod);
-
-		boolean openFileOnCompletion = openFileCheckButton.getSelection();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, openFileOnCompletion);
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, true);
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILE, "");
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_METHOD, (String) null);
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
-	}
-
-	public void updateDefaultOutputFile()
-	{
-		String method = OUTPUT_METHOD_XML;
-		if (methodViewer != null)
-			method = (String) ((IStructuredSelection) methodViewer.getSelection()).getFirstElement();
-		if (OUTPUT_METHOD_DEFAULT.equals(method))
-			method = OUTPUT_METHOD_XML;
-
-		String file = inputFilename;
-		int index = inputFilename.lastIndexOf('.');
-		if (index != -1)
-			file = inputFilename.substring(0, index);
-		file += ".out." + method;
-		if (inputFilename.trim().endsWith("}"))
-			file += "}";
-
-		defaultOutputFile = file;
-
-		updateResourceText(openFileCheckButton.getSelection());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputPropertiesBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputPropertiesBlock.java
deleted file mode 100644
index 58cbb6f..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputPropertiesBlock.java
+++ /dev/null
@@ -1,462 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.output;
-
-import java.io.ByteArrayInputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIConstants;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.preferences.OutputPreferencePage;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.XSLMainTab;
-import org.eclipse.wst.xsl.launching.IOutputProperty;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-import org.eclipse.wst.xsl.launching.config.LaunchProperties;
-
-public class OutputPropertiesBlock extends AbstractTableBlock
-{
-	private Table table;
-	private TableViewer tViewer;
-	private Text descriptionText;
-	private IProcessorType processorType;
-	private final Map<IProcessorType, LaunchProperties> typeProperties = new HashMap<IProcessorType, LaunchProperties>();
-	private Button usePropertiesFromPreferencesRadio;
-	private Button changePreferences;
-	private Button useSpecificPropertiesRadio;
-	private LaunchProperties launchProperties;
-
-	public OutputPropertiesBlock(XSLMainTab main)
-	{
-	}
-
-	@Override
-	protected IDialogSettings getDialogSettings()
-	{
-		return XSLDebugUIPlugin.getDefault().getDialogSettings();
-	}
-
-	@Override
-	protected String getQualifier()
-	{
-		return XSLDebugUIConstants.OUTPUT_BLOCK;
-	}
-
-	@Override
-	protected Table getTable()
-	{
-		return table;
-	}
-
-	public void createControl(Composite parent)
-	{
-		usePropertiesFromPreferencesRadio = new Button(parent, SWT.RADIO);
-		GridData gd = new GridData(SWT.LEFT, SWT.CENTER, false, false);
-		usePropertiesFromPreferencesRadio.setLayoutData(gd);
-		usePropertiesFromPreferencesRadio.setText("Use properties from preferences");
-		usePropertiesFromPreferencesRadio.addSelectionListener(new SelectionListener()
-		{
-
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
-			}
-
-			public void widgetSelected(SelectionEvent e)
-			{
-				handleUsePropertiesFromPreferences(true);
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		changePreferences = new Button(parent, SWT.PUSH);
-		changePreferences.setText("Change Preferences...");
-		gd = new GridData(SWT.RIGHT, SWT.CENTER, false, false);
-		changePreferences.setLayoutData(gd);
-		changePreferences.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				IPreferencePage page = new OutputPreferencePage();
-				XSLDebugUIPlugin.showPreferencePage("org.eclipse.wst.xsl.debug.ui.output", page);
-				handleUsePropertiesFromPreferences(true);
-			}
-		});
-
-		useSpecificPropertiesRadio = new Button(parent, SWT.RADIO);
-		gd = new GridData(SWT.LEFT, SWT.CENTER, false, false);
-		useSpecificPropertiesRadio.setLayoutData(gd);
-		useSpecificPropertiesRadio.setText("Use specific properties");
-		useSpecificPropertiesRadio.addSelectionListener(new SelectionListener()
-		{
-
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
-			}
-
-			public void widgetSelected(SelectionEvent e)
-			{
-				handleUsePropertiesFromPreferences(false);
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		// filler
-		new Label(parent, SWT.NONE);
-
-		table = new Table(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);
-		gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.horizontalSpan = 2;
-		table.setLayoutData(gd);
-
-		setControl(table);
-
-		table.setLinesVisible(true);
-		table.setHeaderVisible(true);
-
-		TableColumn c1 = new TableColumn(table, SWT.NONE);
-		c1.setWidth(150);
-		c1.setResizable(true);
-		c1.setText("Property");
-
-		TableColumn c2 = new TableColumn(table, SWT.NONE);
-		c2.setWidth(250);
-		c2.setResizable(true);
-		c2.setText("Value");
-
-		tViewer = new TableViewer(table);
-		tViewer.setContentProvider(new IStructuredContentProvider()
-		{
-
-			public Object[] getElements(Object inputElement)
-			{
-				return launchProperties.getProperties().keySet().toArray(new String[0]);
-			}
-
-			public void dispose()
-			{
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-			{
-
-			}
-		});
-		tViewer.setLabelProvider(new ITableLabelProvider()
-		{
-
-			public Image getColumnImage(Object element, int columnIndex)
-			{
-				return null;
-			}
-
-			public String getColumnText(Object element, int columnIndex)
-			{
-				String prop = (String) element;
-				switch (columnIndex)
-				{
-					case 0:
-						return prop;
-					case 1:
-						return launchProperties.getProperty(prop);
-				}
-				return "!!";
-			}
-
-			public void addListener(ILabelProviderListener listener)
-			{
-			}
-
-			public void dispose()
-			{
-			}
-
-			public boolean isLabelProperty(Object element, String property)
-			{
-				return false;
-			}
-
-			public void removeListener(ILabelProviderListener listener)
-			{
-			}
-
-		});
-		tViewer.setColumnProperties(new String[]
-		{ "property", "value" });
-		tViewer.setCellModifier(new ICellModifier()
-		{
-			public boolean canModify(Object element, String property)
-			{
-				if (!"value".equals(property))
-					return false;
-				return true;
-			}
-
-			public Object getValue(Object element, String property)
-			{
-				String prop = (String) element;
-				String value = launchProperties.getProperty(prop);
-				return value == null ? "" : value;
-			}
-
-			public void modify(Object element, String property, Object value)
-			{
-				Item item = (Item) element;
-				String prop = (String) item.getData();
-				if (value == null || "".equals(value))
-					launchProperties.removeProperty(prop);
-				else
-					launchProperties.setProperty(prop, (String) value);
-				tViewer.update(prop, null);
-				updateLaunchConfigurationDialog();
-			}
-		});
-		tViewer.setSorter(new ViewerSorter()
-		{
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2)
-			{
-				String prop1 = (String) e1;
-				String prop2 = (String) e2;
-				return prop1.compareTo(prop2);
-			}
-		});
-		tViewer.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-				String prop = (String) selection.getFirstElement();
-				String text = null;
-				if (prop != null)
-				{
-					IProcessorType[] types = XSLTRuntime.getProcessorTypes();
-					outer: for (int i = 0; i < types.length; i++)
-					{
-						IProcessorType processorType = types[i];
-						IOutputProperty[] property = processorType.getOutputProperties();
-						for (int j = 0; j < property.length; j++)
-						{
-							IOutputProperty outputProperty = property[j];
-							if (outputProperty.getURI().equals(prop))
-							{
-								text = outputProperty.getDescription();
-								break outer;
-							}
-						}
-					}
-				}
-				descriptionText.setText(text == null ? "" : text);
-			}
-		});
-
-		TextCellEditor editor = new TextCellEditor(table);
-
-		CellEditor[] editors = new CellEditor[]
-		{ null, editor };
-		tViewer.setCellEditors(editors);
-
-		descriptionText = new Text(parent, SWT.BORDER | SWT.READ_ONLY | SWT.V_SCROLL | SWT.WRAP);
-		gd = new GridData(SWT.FILL, SWT.NONE, true, false);
-		gd.horizontalSpan = 3;
-		gd.heightHint = 50;
-		descriptionText.setLayoutData(gd);
-
-		// must come after input has been set
-		restoreColumnSettings();
-	}
-
-	private void handleUsePropertiesFromPreferences(boolean selected)
-	{
-		changePreferences.setEnabled(selected);
-		table.setEnabled(!selected);
-
-		if (selected)
-		{
-			launchProperties = initializeFeaturesFromPreferences();
-		}
-		else
-		{
-			launchProperties = (LaunchProperties) typeProperties.get(processorType);
-
-			if (launchProperties == null)
-			{// make a copy of the features for the processor type
-				launchProperties = new LaunchProperties();
-				typeProperties.put(processorType, launchProperties);
-				for (int i = 0; i < processorType.getOutputProperties().length; i++)
-				{
-					IOutputProperty property = processorType.getOutputProperties()[i];
-					launchProperties.setProperty(property.getURI(), null);
-				}
-			}
-		}
-		tViewer.setInput(launchProperties);
-	}
-
-	public String getName()
-	{
-		return "Output Properties";
-	}
-
-	private LaunchProperties initializeFeaturesFromPreferences()
-	{
-		LaunchProperties preferences = new LaunchProperties();
-
-		IProcessorType jreDefaultType = XSLTRuntime.getProcessorType(XSLTRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID);
-		IOutputProperty[] features = jreDefaultType.getOutputProperties();
-		Map<?, ?> values = jreDefaultType.getOutputPropertyValues();
-		for (IOutputProperty feature : features)
-		{
-			String key = feature.getURI();
-			preferences.setProperty(key, (String) values.get(key));
-		}
-
-		features = processorType.getOutputProperties();
-		values = processorType.getOutputPropertyValues();
-		for (IOutputProperty feature : features)
-		{
-			String key = feature.getURI();
-			preferences.setProperty(key, (String) values.get(key));
-		}
-
-		return preferences;
-	}
-
-	private void initializeFeaturesFromStorage(ILaunchConfiguration configuration) throws CoreException
-	{
-		LaunchProperties launchFeatures = new LaunchProperties();
-
-		IProcessorType jreDefaultType = XSLTRuntime.getProcessorType(XSLTRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID);
-		IOutputProperty[] defaultProps = jreDefaultType.getOutputProperties();
-		for (IOutputProperty feature : defaultProps)
-		{
-			String key = feature.getURI();
-			launchFeatures.setProperty(key, null);
-		}
-		IOutputProperty[] specificProps = processorType.getOutputProperties();
-		for (IOutputProperty feature : specificProps)
-		{
-			String key = feature.getURI();
-			launchFeatures.setProperty(key, null);
-		}
-
-		String s = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_PROPERTIES, (String) null);
-		if (s != null && s.length() > 0)
-		{
-			LaunchProperties overrideFeatures = LaunchProperties.fromXML(new ByteArrayInputStream(s.getBytes()));
-			IOutputProperty[] props = new IOutputProperty[specificProps.length + defaultProps.length];
-			System.arraycopy(specificProps, 0, props, 0, specificProps.length);
-			System.arraycopy(defaultProps, 0, props, specificProps.length, defaultProps.length);
-			for (Iterator<?> iterator = overrideFeatures.getProperties().keySet().iterator(); iterator.hasNext();)
-			{
-				String key = (String) iterator.next();
-				launchFeatures.removeProperty(key);
-				for (IOutputProperty prop : props)
-				{
-					if (prop.getURI().equals(key))
-					{
-						launchFeatures.setProperty(key, overrideFeatures.getProperty(key));
-						break;
-					}
-				}
-			}
-		}
-
-		typeProperties.put(processorType, launchFeatures);
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		try
-		{
-			String processorId = null;
-			boolean useDefaultProcessor = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, true);
-			if (useDefaultProcessor)
-				processorId = XSLTRuntime.getDefaultProcessor().getId();
-			else
-				processorId = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR, XSLTRuntime.JRE_DEFAULT_PROCESSOR_ID);
-
-			IProcessorInstall processor = XSLTRuntime.getProcessor(processorId);
-			if (processor != null)
-				processorType = processor.getProcessorType();
-			else
-				processorType = XSLTRuntime.getDefaultProcessor().getProcessorType();
-
-			initializeFeaturesFromStorage(configuration);
-
-			boolean useFeaturesFromPreferences = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_PROPERTIES_FROM_PREFERENCES, true);
-
-			useSpecificPropertiesRadio.setSelection(!useFeaturesFromPreferences);
-			usePropertiesFromPreferencesRadio.setSelection(useFeaturesFromPreferences);
-			handleUsePropertiesFromPreferences(useFeaturesFromPreferences);
-		}
-		catch (CoreException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_PROPERTIES_FROM_PREFERENCES, usePropertiesFromPreferencesRadio.getSelection());
-		String xml;
-		try
-		{
-			xml = launchProperties.toXML();
-			configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_PROPERTIES, xml);
-		}
-		catch (Exception e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_PROPERTIES_FROM_PREFERENCES, true);
-	}
-}
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
deleted file mode 100644
index 89ecc41..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/output/OutputTab.java
+++ /dev/null
@@ -1,60 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.output;
-
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchConfigurationTab;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.main.XSLMainTab;
-
-public class OutputTab extends XSLLaunchConfigurationTab
-{
-	private final OutputPropertiesBlock outputBlock;
-	private final OutputFileBlock outputFileBlock;
-
-	public OutputTab(XSLMainTab main)
-	{
-		outputFileBlock = new OutputFileBlock();
-		outputBlock = new OutputPropertiesBlock(main);
-
-		setBlocks(new ILaunchConfigurationTab[]
-		{ outputBlock, outputFileBlock });
-	}
-
-	@Override
-	public void createControl(Composite parent)
-	{
-		super.createControl(parent);
-		Composite comp = (Composite) getControl();
-		GridLayout layout = new GridLayout(1, false);
-		comp.setLayout(layout);
-
-		outputFileBlock.createControl(comp);
-
-		Group group = new Group(comp, SWT.NULL);
-		group.setText("Output Properties");
-		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		group.setLayoutData(gd);
-		layout = new GridLayout(2, false);
-		group.setLayout(layout);
-
-		outputBlock.createControl(group);
-	}
-
-	public String getName()
-	{
-		return "Output";
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/FeaturesBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/FeaturesBlock.java
deleted file mode 100644
index f026e8c..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/FeaturesBlock.java
+++ /dev/null
@@ -1,536 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.ICellEditorValidator;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsl.internal.debug.ui.AbstractTableBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIConstants;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.preferences.FeaturesPreferencePage;
-import org.eclipse.wst.xsl.launching.IFeature;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-import org.eclipse.wst.xsl.launching.config.LaunchAttribute;
-import org.eclipse.wst.xsl.launching.config.LaunchFeatures;
-
-public class FeaturesBlock extends AbstractTableBlock
-{
-	private Table table;
-	private TableViewer tViewer;
-	private Text descriptionText;
-	private IProcessorType processorType;
-	private Button useFeaturesFromPreferencesRadio;
-	private LaunchFeatures launchFeatures;
-	private LaunchFeatures featuresFromPreferences;
-	private Button changePreferences;
-	private final Map<IProcessorType, LaunchFeatures> processorFeatures = new HashMap<IProcessorType, LaunchFeatures>();
-	private Button useSpecificFeaturesRadio;
-
-	@Override
-	protected IDialogSettings getDialogSettings()
-	{
-		return XSLDebugUIPlugin.getDefault().getDialogSettings();
-	}
-
-	@Override
-	protected String getQualifier()
-	{
-		return XSLDebugUIConstants.FEATURES_LAUNCH_BLOCK;
-	}
-
-	@Override
-	protected Table getTable()
-	{
-		return table;
-	}
-
-	public void createControl(Composite parent)
-	{
-		Font font = parent.getFont();
-
-		Group group = new Group(parent, SWT.NONE);
-		group.setText(getName());
-		GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		group.setLayoutData(gd);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		group.setLayout(layout);
-		group.setFont(font);
-
-		setControl(group);
-
-		useFeaturesFromPreferencesRadio = new Button(group, SWT.RADIO);
-		gd = new GridData(SWT.LEFT, SWT.CENTER, false, false);
-		useFeaturesFromPreferencesRadio.setLayoutData(gd);
-		useFeaturesFromPreferencesRadio.setText("Use features from preferences");
-		useFeaturesFromPreferencesRadio.addSelectionListener(new SelectionListener()
-		{
-
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
-			}
-
-			public void widgetSelected(SelectionEvent e)
-			{
-				handleUseFeaturesFromPreferences(true);
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		changePreferences = new Button(group, SWT.PUSH);
-		changePreferences.setText("Change Preferences...");
-		gd = new GridData(SWT.RIGHT, SWT.CENTER, false, false);
-		changePreferences.setLayoutData(gd);
-		changePreferences.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				IPreferencePage page = new FeaturesPreferencePage();
-				XSLDebugUIPlugin.showPreferencePage("org.eclipse.wst.xsl.debug.ui.page1", page);
-				// now refresh everything
-				handleUseFeaturesFromPreferences(true);
-				// tViewer.refresh();
-			}
-		});
-
-		useSpecificFeaturesRadio = new Button(group, SWT.RADIO);
-		gd = new GridData(SWT.LEFT, SWT.CENTER, false, false);
-		useSpecificFeaturesRadio.setLayoutData(gd);
-		useSpecificFeaturesRadio.setText("Use specific features");
-		useSpecificFeaturesRadio.addSelectionListener(new SelectionListener()
-		{
-
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
-			}
-
-			public void widgetSelected(SelectionEvent e)
-			{
-				handleUseFeaturesFromPreferences(false);
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		// filler
-		new Label(group, SWT.NONE);
-
-		table = new Table(group, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL);
-		gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.widthHint = 450;
-		gd.horizontalSpan = 2;
-		table.setLayoutData(gd);
-		table.setLinesVisible(true);
-		table.setHeaderVisible(true);
-
-		TableColumn c1 = new TableColumn(table, SWT.NONE);
-		c1.setWidth(150);
-		c1.setResizable(true);
-		c1.setText("Feature");
-
-		TableColumn c2 = new TableColumn(table, SWT.NONE);
-		c2.setWidth(50);
-		c2.setResizable(true);
-		c2.setText("Type");
-
-		TableColumn c3 = new TableColumn(table, SWT.NONE);
-		c3.setWidth(250);
-		c3.setResizable(true);
-		c3.setText("Value");
-
-		tViewer = new TableViewer(table);
-		tViewer.setContentProvider(new IStructuredContentProvider()
-		{
-
-			private Set<?> typedFeatures;
-
-			public Object[] getElements(Object inputElement)
-			{
-				return typedFeatures.toArray(new LaunchAttribute[0]);
-			}
-
-			public void dispose()
-			{
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-			{
-				typedFeatures = (Set<?>) newInput;
-			}
-		});
-		tViewer.setLabelProvider(new ITableLabelProvider()
-		{
-
-			public Image getColumnImage(Object element, int columnIndex)
-			{
-				return null;
-			}
-
-			public String getColumnText(Object element, int columnIndex)
-			{
-				LaunchAttribute tv = (LaunchAttribute) element;
-				switch (columnIndex)
-				{
-					case 0:
-						return removeURI(tv.uri);
-					case 1:
-						return tv.type;
-					case 2:
-						String value = tv.value;
-						return value == null ? "" : value;
-				}
-				return "!!";
-			}
-
-			private String removeURI(String uri)
-			{
-				int index = uri.lastIndexOf('/');
-				if (index > 0)
-					return uri.substring(index + 1);
-				return uri;
-			}
-
-			public void addListener(ILabelProviderListener listener)
-			{
-			}
-
-			public void dispose()
-			{
-			}
-
-			public boolean isLabelProperty(Object element, String property)
-			{
-				return false;
-			}
-
-			public void removeListener(ILabelProviderListener listener)
-			{
-			}
-
-		});
-		tViewer.setColumnProperties(new String[]
-		{ "name", "type", "value" });
-		tViewer.setCellModifier(new ICellModifier()
-		{
-			public boolean canModify(Object element, String property)
-			{
-				return "value".equals(property);
-			}
-
-			public Object getValue(Object element, String property)
-			{
-				LaunchAttribute tv = (LaunchAttribute) element;
-				return tv.value == null ? "" : tv.value;
-			}
-
-			public void modify(Object element, String property, Object value)
-			{
-				Item item = (Item) element;
-				LaunchAttribute tv = (LaunchAttribute) item.getData();
-				if (value == null || "".equals(value))
-					launchFeatures.removeFeature(tv.uri);
-				else
-					tv.setValue((String) value);
-				tViewer.update(tv, null);
-				updateLaunchConfigurationDialog();
-			}
-		});
-		tViewer.setSorter(new ViewerSorter()
-		{
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2)
-			{
-				LaunchAttribute a1 = (LaunchAttribute) e1;
-				LaunchAttribute a2 = (LaunchAttribute) e2;
-				return a1.uri.compareTo(a2.uri);
-			}
-		});
-
-		TextCellEditor editor = new TextCellEditor(table);
-		editor.setValidator(new ICellEditorValidator()
-		{
-
-			// TODO sort out
-			public String isValid(Object value)
-			{
-				return null;
-				// IStructuredSelection sel =
-				// (IStructuredSelection)tViewer.getSelection();
-				// TypedValue tv = (TypedValue)sel.getFirstElement();
-				//			
-				// IFeature feature = null;
-				// IFeature[] features = processorType.getFeatures();
-				// for (int i = 0; i < features.length; i++)
-				// {
-				// IFeature f = features[i];
-				// if (f.getURI().equals(key))
-				// {
-				// feature = f;
-				// break;
-				// }
-				// }
-				// String valid = null;
-				// IStatus validStatus = feature.validateValue((String)value);
-				// if (validStatus != null && validStatus.getSeverity() ==
-				// IStatus.ERROR)
-				// {
-				// valid = validStatus.getMessage();
-				// }
-				// return valid;
-			}
-		});
-
-		CellEditor[] editors = new CellEditor[]
-		{ null, null, editor };
-		tViewer.setCellEditors(editors);
-		tViewer.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				IStructuredSelection selection = (IStructuredSelection) event.getSelection();
-				LaunchAttribute tv = (LaunchAttribute) selection.getFirstElement();
-				String text = null;
-				if (tv != null)
-				{
-					IFeature feature = null;
-					IFeature[] features = processorType.getFeatures();
-					for (IFeature f : features)
-					{
-						if (f.getURI().equals(tv.uri))
-						{
-							feature = f;
-							break;
-						}
-					}
-					text = feature == null ? null : feature.getDescription();
-				}
-				descriptionText.setText(text == null ? "" : text);
-			}
-		});
-
-		descriptionText = new Text(group, SWT.BORDER | SWT.READ_ONLY | SWT.V_SCROLL | SWT.WRAP);
-		gd = new GridData(SWT.FILL, SWT.NONE, true, false);
-		gd.horizontalSpan = 3;
-		gd.heightHint = 50;
-		descriptionText.setLayoutData(gd);
-
-		restoreColumnSettings();
-	}
-
-	private void handleUseFeaturesFromPreferences(boolean selected)
-	{
-		changePreferences.setEnabled(selected);
-		table.setEnabled(!selected);
-
-		if (selected)
-		{
-			launchFeatures = initializeFeaturesFromPreferences();
-		}
-		else
-		{
-			launchFeatures = (LaunchFeatures) processorFeatures.get(processorType);
-
-			if (launchFeatures == null)
-			{// make a copy of the features for the processor type
-				launchFeatures = new LaunchFeatures();
-				processorFeatures.put(processorType, launchFeatures);
-				for (int i = 0; i < processorType.getFeatures().length; i++)
-				{
-					IFeature feature = processorType.getFeatures()[i];
-					LaunchAttribute att = new LaunchAttribute(feature.getURI(), feature.getType(), null);
-					launchFeatures.addFeature(att);
-				}
-			}
-		}
-		tViewer.setInput(launchFeatures.getFeatures());
-	}
-
-	protected void setProcessorType(IProcessorType processorType)
-	{
-		if (processorType == this.processorType)
-			return;
-
-		// this.featuresFromPreferences = new LaunchFeatures();
-		// IFeature[] features = processorType.getFeatures();
-		// Map values = processorType.getFeatureValues();
-		// for (int i = 0; i < features.length; i++)
-		// {
-		// IFeature feature = features[i];
-		// featuresFromPreferences.addFeature(new
-		// LaunchAttribute(feature.getURI(),feature.getType(),(String)values.get(feature.getURI())));
-		// }
-		//
-		// if (table != null)
-		// {
-		// if (!table.getEnabled())
-		// {
-		// launchFeatures = featuresFromPreferences;
-		// }
-		// else
-		// {
-		// this.launchFeatures = new LaunchFeatures();
-		// for (Iterator iter =
-		// featuresFromPreferences.getFeatures().iterator(); iter.hasNext();)
-		// {
-		// LaunchAttribute att = (LaunchAttribute) iter.next();
-		// att = new LaunchAttribute(att.uri,att.type,att.value);
-		// launchFeatures.addFeature(att);
-		// }
-		// }
-		// tViewer.setInput(launchFeatures.getFeatures());
-		// }
-		this.processorType = processorType;
-		handleUseFeaturesFromPreferences(useFeaturesFromPreferencesRadio.getSelection());
-	}
-
-	public String getName()
-	{
-		return "Processor Features";
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_FEATURES_FROM_PREFERENCES, true);
-	}
-
-	private LaunchFeatures initializeFeaturesFromPreferences()
-	{
-		LaunchFeatures featuresFromPreferences = new LaunchFeatures();
-
-		IFeature[] features = processorType.getFeatures();
-		Map<?, ?> values = processorType.getFeatureValues();
-		for (IFeature feature : features)
-		{
-			featuresFromPreferences.addFeature(new LaunchAttribute(feature.getURI(), feature.getType(), (String) values.get(feature.getURI())));
-		}
-		return featuresFromPreferences;
-	}
-
-	private void initializeFeaturesFromStorage(ILaunchConfiguration configuration) throws CoreException
-	{
-		LaunchFeatures launchFeatures = new LaunchFeatures();
-
-		IFeature[] features = processorType.getFeatures();
-		for (IFeature feature : features)
-		{
-			launchFeatures.addFeature(new LaunchAttribute(feature.getURI(), feature.getType(), null));
-		}
-
-		String s = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_FEATURES, (String) null);
-		if (s != null && s.length() > 0)
-		{
-			LaunchFeatures overrideFeatures = LaunchFeatures.fromXML(new ByteArrayInputStream(s.getBytes()));
-			launchFeatures.getFeatures().removeAll(overrideFeatures.getFeatures());
-			launchFeatures.getFeatures().addAll(overrideFeatures.getFeatures());
-		}
-
-		processorFeatures.put(processorType, launchFeatures);
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		try
-		{
-			String processorId = null;
-			boolean useDefaultProcessor = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, true);
-			if (useDefaultProcessor)
-				processorId = XSLTRuntime.getDefaultProcessor().getId();
-			else
-				processorId = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR, XSLTRuntime.JRE_DEFAULT_PROCESSOR_ID);
-
-			IProcessorInstall processor = XSLTRuntime.getProcessor(processorId);
-			if (processor != null)
-				processorType = processor.getProcessorType();
-			else
-				processorType = XSLTRuntime.getDefaultProcessor().getProcessorType();
-
-			featuresFromPreferences = initializeFeaturesFromPreferences();
-			initializeFeaturesFromStorage(configuration);
-
-			boolean useFeaturesFromPreferences = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_FEATURES_FROM_PREFERENCES, true);
-
-			useSpecificFeaturesRadio.setSelection(!useFeaturesFromPreferences);
-			useFeaturesFromPreferencesRadio.setSelection(useFeaturesFromPreferences);
-			handleUseFeaturesFromPreferences(useFeaturesFromPreferences);
-		}
-		catch (CoreException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		boolean useDefault = useFeaturesFromPreferencesRadio.getSelection();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_FEATURES_FROM_PREFERENCES, useDefault);
-		try
-		{
-			configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_FEATURES, useDefault ? null : launchFeatures.toXML());
-		}
-		catch (ParserConfigurationException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-		catch (IOException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-		catch (TransformerException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/InstallStandin.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/InstallStandin.java
deleted file mode 100644
index 17d67b7..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/InstallStandin.java
+++ /dev/null
@@ -1,29 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor;
-
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorJar;
-import org.eclipse.wst.xsl.launching.ProcessorInstall;
-
-public class InstallStandin extends ProcessorInstall
-{
-	public InstallStandin(IProcessorInstall install)
-	{
-		super(install.getId(), install.getName(), install.getProcessorType().getId(), install.getProcessorJars(), install.getDebugger() != null ? install.getDebugger().getId() : null, install
-				.getSupports(), install.isContributed());
-	}
-
-	public InstallStandin(String id, String name, String typeId, String debuggerId, IProcessorJar[] jars)
-	{
-		super(id, name, typeId, jars, debuggerId, "", false);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/JarContentProvider.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/JarContentProvider.java
deleted file mode 100644
index bca1de9..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/JarContentProvider.java
+++ /dev/null
@@ -1,34 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor;
-
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-
-public class JarContentProvider implements IStructuredContentProvider
-{
-	private IProcessorInstall install;
-
-	public Object[] getElements(Object inputElement)
-	{
-		return install.getProcessorJars();
-	}
-
-	public void dispose()
-	{
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-	{
-		install = (IProcessorInstall) newInput;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/JarLabelProvider.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/JarLabelProvider.java
deleted file mode 100644
index 72dab38..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/JarLabelProvider.java
+++ /dev/null
@@ -1,26 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor;
-
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.wst.xsl.launching.IProcessorJar;
-
-public class JarLabelProvider extends LabelProvider
-{
-	@Override
-	public String getText(Object element)
-	{
-		IProcessorJar jar = (IProcessorJar) element;
-		IPath path = jar.getPath();
-		return path.lastSegment() + " - " + path.removeLastSegments(1).toOSString() + "";
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorBlock.java
deleted file mode 100644
index d99ffd3..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorBlock.java
+++ /dev/null
@@ -1,278 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.preferences.ProcessorsPreferencePage;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class ProcessorBlock extends AbstractLaunchConfigurationTab
-{
-	private Button usePreferencesRadio;
-	private Button alterPreferencesButton;
-	private Button overridePreferencesRadio;
-	private Combo runCombo;
-	private Button installedProcessorsButton;
-	private ComboViewer runComboViewer;
-	private final FeaturesBlock featuresBlock;
-
-	public ProcessorBlock(FeaturesBlock featuresBlock)
-	{
-		this.featuresBlock = featuresBlock;
-	}
-
-	public void createControl(Composite parent)
-	{
-		Font font = parent.getFont();
-
-		Group group = new Group(parent, SWT.NULL);
-		setControl(group);
-		group.setLayout(new GridLayout(2, false));
-		group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		group.setFont(font);
-		group.setText("XSLT Processor");
-
-		usePreferencesRadio = new Button(group, SWT.RADIO);
-		usePreferencesRadio.setText("Use processor from preferences");
-		usePreferencesRadio.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				preferencesSelected();
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		alterPreferencesButton = new Button(group, SWT.PUSH);
-		alterPreferencesButton.setText("Change preferences...");
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gd.widthHint = 150;
-		alterPreferencesButton.setLayoutData(gd);
-		alterPreferencesButton.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				IPreferencePage page = new ProcessorsPreferencePage();
-				showPrefPage("org.eclipse.wst.xslt.launching.ui.preferences.ProcessorPreferencePage", page);
-			}
-		});
-
-		overridePreferencesRadio = new Button(group, SWT.RADIO);
-		overridePreferencesRadio.setText("Use specific processor");
-		overridePreferencesRadio.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				overrideSelected();
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		installedProcessorsButton = new Button(group, SWT.PUSH);
-		installedProcessorsButton.setText(ProcessorMessages.ProcessorsComboBlock_1);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
-		gd.widthHint = 150;
-		installedProcessorsButton.setLayoutData(gd);
-		installedProcessorsButton.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				IPreferencePage page = new ProcessorsPreferencePage();
-				showPrefPage("org.eclipse.wst.xslt.launching.ui.preferences.ProcessorPreferencePage", page);
-			}
-		});
-
-		Composite settingsComp = new Composite(group, SWT.NONE);
-		GridLayout gl = new GridLayout(2, false);
-		gl.marginHeight = 2;
-		settingsComp.setLayout(gl);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalIndent = 15;
-		gd.horizontalSpan = 2;
-		settingsComp.setLayoutData(gd);
-		settingsComp.setFont(font);
-
-		Label label = new Label(settingsComp, SWT.NONE);
-		label.setText("Processor:");
-		runCombo = new Combo(settingsComp, SWT.READ_ONLY | SWT.SINGLE);
-		runCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		runComboViewer = new ComboViewer(runCombo);
-		runComboViewer.setContentProvider(new ComboContentProvider());
-		runComboViewer.setLabelProvider(new ComboLabelProvider());
-		runComboViewer.setInput(XSLTRuntime.getProcessors());
-		runComboViewer.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-				if (!sel.isEmpty())
-				{
-					IProcessorInstall processor = (IProcessorInstall) sel.getFirstElement();
-					featuresBlock.setProcessorType(processor.getProcessorType());
-				}
-				updateLaunchConfigurationDialog();
-			}
-		});
-	}
-
-	private void preferencesSelected()
-	{
-		alterPreferencesButton.setEnabled(true);
-		installedProcessorsButton.setEnabled(false);
-		runCombo.setEnabled(false);
-		runComboViewer.setSelection(new StructuredSelection(getRunProcessorPreference()), true);
-	}
-
-	private void overrideSelected()
-	{
-		alterPreferencesButton.setEnabled(false);
-		installedProcessorsButton.setEnabled(true);
-		runCombo.setEnabled(true);
-	}
-
-	private void showPrefPage(String id, IPreferencePage page)
-	{
-		XSLDebugUIPlugin.showPreferencePage(id, page);
-		// now refresh everything
-		runComboViewer.setInput(XSLTRuntime.getProcessors());
-		runComboViewer.setSelection(new StructuredSelection(getRunProcessorPreference()), true);
-		// preferencesSelected();
-	}
-
-	public String getName()
-	{
-		return "Processor";
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		try
-		{
-			boolean useDefaultProcessor = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, true);
-			if (useDefaultProcessor)
-			{
-				usePreferencesRadio.setSelection(true);
-				overridePreferencesRadio.setSelection(false);
-				preferencesSelected();
-			}
-			else
-			{
-				usePreferencesRadio.setSelection(false);
-				overridePreferencesRadio.setSelection(true);
-				overrideSelected();
-
-				IProcessorInstall runInstall = null;
-				String runId = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR, (String) null);
-				if (runId != null)
-					runInstall = XSLTRuntime.getProcessor(runId);
-				if (runInstall == null)
-					runInstall = getRunProcessorPreference();
-				runComboViewer.setSelection(new StructuredSelection(runInstall));
-
-				// IDebugger debugInstall = null;
-				// String debugId =
-				// configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR_FOR_DEBUG,
-				// (String)null);
-				// if (debugId != null)
-				// debugInstall = XSLTRuntime.getDebugger(debugId);
-				// if (debugInstall == null)
-				// debugInstall = runInstall.getDebugger();
-				// if (debugInstall == null)
-				// debugInstall = getDebugProcessorPreference();
-				// debugComboViewer.setSelection(new
-				// StructuredSelection(debugInstall));
-			}
-		}
-		catch (CoreException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-
-	private IProcessorInstall getRunProcessorPreference()
-	{
-		return XSLTRuntime.getDefaultProcessor();
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		boolean usePreferences = usePreferencesRadio.getSelection();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, usePreferences);
-		if (!usePreferences)
-		{
-			IProcessorInstall runprocessor = (IProcessorInstall) ((IStructuredSelection) runComboViewer.getSelection()).getFirstElement();
-			configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR, runprocessor.getId());
-		}
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, true);
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR, (String) null);
-	}
-
-	private class ComboContentProvider implements IStructuredContentProvider
-	{
-		public Object[] getElements(Object inputElement)
-		{
-			return XSLTRuntime.getProcessors();
-		}
-
-		public void dispose()
-		{
-		}
-
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-		{
-		}
-	}
-
-	private class ComboLabelProvider extends LabelProvider
-	{
-		@Override
-		public String getText(Object element)
-		{
-			IProcessorInstall install = (IProcessorInstall) element;
-			return install.getName();
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorDescriptor.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorDescriptor.java
deleted file mode 100644
index d8d83f4..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorDescriptor.java
+++ /dev/null
@@ -1,16 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor;
-
-public abstract class ProcessorDescriptor
-{
-	public abstract String getDescription();
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorDetailsDialog.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorDetailsDialog.java
deleted file mode 100644
index 47265e2..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorDetailsDialog.java
+++ /dev/null
@@ -1,113 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-
-public class ProcessorDetailsDialog extends Dialog
-{
-	private final IProcessorInstall install;
-
-	public ProcessorDetailsDialog(Shell shell, IProcessorInstall install)
-	{
-		super(shell);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.install = install;
-	}
-
-	@Override
-	protected void configureShell(Shell newShell)
-	{
-		super.configureShell(newShell);
-		newShell.setText(ProcessorMessages.ProcessorDetailsDialog_Title);
-		// TODO PlatformUI.getWorkbench().getHelpSystem().setHelp...
-	}
-
-	@Override
-	protected Control createDialogArea(Composite ancestor)
-	{
-		Composite parent = (Composite) super.createDialogArea(ancestor);
-		GridLayout layout = new GridLayout(2, false);
-		parent.setLayout(layout);
-
-		// type
-		createLabel(parent, ProcessorMessages.ProcessorDetailsDialog_installType);
-		createLabel(parent, install.getProcessorType().getLabel());
-
-		// name
-		createLabel(parent, ProcessorMessages.ProcessorDetailsDialog_installName);
-		createLabel(parent, install.getName());
-
-		// jars
-		Label label = createLabel(parent, ProcessorMessages.ProcessorDetailsDialog_installClasspath);
-		GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_BEGINNING);
-		label.setLayoutData(gd);
-		TableViewer libraryViewer = new TableViewer(parent);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 6;
-		libraryViewer.getControl().setLayoutData(gd);
-		libraryViewer.setContentProvider(new JarContentProvider());
-		libraryViewer.setLabelProvider(new JarLabelProvider());
-		libraryViewer.setInput(install);
-
-		applyDialogFont(parent);
-		return parent;
-	}
-
-	private Label createLabel(Composite parent, String text)
-	{
-		Label label = new Label(parent, SWT.NONE);
-		label.setText(text);
-		return label;
-	}
-
-	/**
-	 * Returns the name of the section that this dialog stores its settings in
-	 * 
-	 * @return String
-	 */
-	protected String getDialogSettingsSectionName()
-	{
-		return "XSL_DETAILS_DIALOG_SECTION";
-	}
-
-	@Override
-	protected IDialogSettings getDialogBoundsSettings()
-	{
-		IDialogSettings settings = XSLDebugUIPlugin.getDefault().getDialogSettings();
-		IDialogSettings section = settings.getSection(getDialogSettingsSectionName());
-		if (section == null)
-		{
-			section = settings.addNewSection(getDialogSettingsSectionName());
-		}
-		return section;
-	}
-
-	@Override
-	protected void createButtonsForButtonBar(Composite parent)
-	{
-		// create OK and Cancel buttons by default
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorMessages.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorMessages.java
deleted file mode 100644
index c9e318b..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorMessages.java
+++ /dev/null
@@ -1,94 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class ProcessorMessages extends NLS
-{
-	private static final String BUNDLE_NAME = "org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorMessages";
-
-	public static String ProcessorsComboBlock;
-	public static String ProcessorsComboBlock_0;
-	public static String ProcessorsComboBlock_1;
-	public static String SpecificProcessor;
-
-	public static String InputFileBlock_WORKSPACE_DIALOG_TITLE;
-
-	public static String ProcessorDetailsDialog_Title;
-
-	public static String ProcessorDetailsDialog_installName;
-
-	public static String ProcessorDetailsDialog_installType;
-
-	public static String ProcessorDetailsDialog_installClasspath;
-
-	public static String AddProcessorDialog_Edit_Title;
-
-	public static String AddProcessorDialog_Add_Title;
-
-	public static String AddProcessorDialog_jars;
-
-	public static String AddProcessorDialog_features;
-
-	public static String AddProcessorDialog_processorName;
-
-	public static String AddProcessorDialog_processorType;
-
-	public static String ProcessorLibraryBlock_AddButton;
-
-	public static String ProcessorLibraryBlock_RemoveButton;
-
-	public static String ProcessorLibraryBlock_AddWorkspaceButton;
-
-	public static String AddProcessorDialog_enterName;
-
-	public static String AddProcessorDialog_duplicateName;
-
-	public static String AddProcessorDialog_Processor_name_must_be_a_valid_file_name;
-
-	public static String ProcessorLibraryBlock_FileDialog_Title;
-
-	public static String ProcessorLibraryBlock_WorkspaceFileDialog_Title;
-
-	public static String ProcessorLibraryBlock_WorkspaceFileDialog_Message;
-
-	public static String ProcessorsUpdater;
-
-	public static String WorkingDirectoryBlock_DIRECTORY_NOT_SPECIFIED;
-	public static String WorkingDirectoryBlock_DIRECTORY_DOES_NOT_EXIST;
-	public static String WorkingDirectoryBlock_DEFAULT_RADIO;
-	public static String WorkingDirectoryBlock_OTHER_RADIO;
-	public static String WorkingDirectoryBlock_DIALOG_MESSAGE;
-	public static String WorkingDirectoryBlock_WORKSPACE_DIALOG_MESSAGE;
-	public static String WorkingDirectoryBlock_VARIABLES_BUTTON;
-	public static String WorkingDirectoryBlock_FILE_SYSTEM_BUTTON;
-	public static String WorkingDirectoryBlock_WORKSPACE_BUTTON;
-	public static String WorkingDirectoryBlock_WORKSPACE_DIALOG_TITLE;
-
-	public static String URIResolverBlock_DIRECTORY_NOT_SPECIFIED;
-	public static String URIResolverBlock_DIRECTORY_DOES_NOT_EXIST;
-	public static String URIResolverBlock_DEFAULT_RADIO;
-	public static String URIResolverBlock_OTHER_RADIO;
-	public static String URIResolverBlock_DIALOG_MESSAGE;
-	public static String URIResolverBlock_WORKSPACE_DIALOG_MESSAGE;
-	public static String URIResolverBlock_VARIABLES_BUTTON;
-	public static String URIResolverBlock_FILE_SYSTEM_BUTTON;
-	public static String URIResolverBlock_WORKSPACE_BUTTON;
-	public static String URIResolverBlock_WORKSPACE_DIALOG_TITLE;
-
-	static
-	{
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, ProcessorMessages.class);
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorMessages.properties b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorMessages.properties
deleted file mode 100644
index 0086680..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/ProcessorMessages.properties
+++ /dev/null
@@ -1,67 +0,0 @@
-ProcessorsComboBlock=XSLT Processor
-ProcessorsComboBlock_0=No XSLT processors defined in workspace
-ProcessorsComboBlock_1=&Installed processors...
-SpecificProcessor=Alternate Processor:
-
-URIResolverBlock_DIRECTORY_NOT_SPECIFIED=URI Resolver directory not specified
-URIResolverBlock_DIRECTORY_DOES_NOT_EXIST=URI Resolver directory does not exist
-URIResolverBlock_DEFAULT_RADIO=Default (resolve URIs relative to the working directory)
-URIResolverBlock_OTHER_RADIO=Other
-URIResolverBlock_DIALOG_MESSAGE=Select an external URI resolver directory
-URIResolverBlock_WORKSPACE_DIALOG_MESSAGE=Select a URI resolver directory in the workspace
-URIResolverBlock_VARIABLES_BUTTON=Variables...
-URIResolverBlock_FILE_SYSTEM_BUTTON=File System...
-URIResolverBlock_WORKSPACE_BUTTON=Workspace...
-URIResolverBlock_WORKSPACE_DIALOG_TITLE=Folder Selection
-
-
-URIResolverBlock_0=Workspace
-URIResolverBlock_1=File System
-URIResolverBlock_17=Variables
-URIResolverBlock_7=Select a base directory for the launch configuration
-URIResolverBlock_4=Select a workspace relative base directory
-URIResolverBlock_19=Other:
-URIResolverBlock_18=Default
-URIResolverBlock_12=Base directory for resolving URIs
-URIResolverBlock_10=Base directory does not exist
-URIResolverBlock_20=Base directory not specified
-URIResolverBlock_Working_Directory_8=URI Resolver
-URIResolverBlock_WORKSPACE_DIALOG_TITLE=Folder Selection
-
-ProcessorDetailsDialog_Title=Built-in XSLT Processor
-ProcessorDetailsDialog_installName=Name:
-ProcessorDetailsDialog_installType=Type:
-ProcessorDetailsDialog_installClasspath=Libraries:
-
-AddProcessorDialog_Edit_Title=Edit Processor
-AddProcessorDialog_Add_Title=Add Processor
-AddProcessorDialog_processorName=Processor Name:
-AddProcessorDialog_processorType=Processor Type:
-AddProcessorDialog_jars=Libraries:
-AddProcessorDialog_features=Features:
-AddProcessorDialog_enterName=A name must be entered for this processor
-AddProcessorDialog_duplicateName=The name has already been used
-AddProcessorDialog_Processor_name_must_be_a_valid_file_name=Processor name must be a valid file name
-
-ProcessorLibraryBlock_AddButton=Add External JARs
-ProcessorLibraryBlock_AddWorkspaceButton=Add Workspace JARs
-ProcessorLibraryBlock_RemoveButton=Remove
-ProcessorLibraryBlock_FileDialog_Title=External JARs
-ProcessorLibraryBlock_WorkspaceFileDialog_Title=Workspace JARs
-ProcessorLibraryBlock_WorkspaceFileDialog_Message=Select the JARs that make up the XSLT processor
-
-ProcessorsUpdater=Save processor settings
-
-
-WorkingDirectoryBlock_DIRECTORY_NOT_SPECIFIED=Working directory not specified
-WorkingDirectoryBlock_DIRECTORY_DOES_NOT_EXIST=Working directory does not exist
-WorkingDirectoryBlock_DEFAULT_RADIO=Workspace default
-WorkingDirectoryBlock_OTHER_RADIO=Other
-WorkingDirectoryBlock_DIALOG_MESSAGE=Select an external working directory
-WorkingDirectoryBlock_WORKSPACE_DIALOG_MESSAGE=Select a working directory in the workspace
-WorkingDirectoryBlock_VARIABLES_BUTTON=Variables...
-WorkingDirectoryBlock_FILE_SYSTEM_BUTTON=File System...
-WorkingDirectoryBlock_WORKSPACE_BUTTON=Workspace...
-WorkingDirectoryBlock_WORKSPACE_DIALOG_TITLE=Folder Selection
-
-
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/XSLProcessorTab.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/XSLProcessorTab.java
deleted file mode 100644
index 6714b9d..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/processor/XSLProcessorTab.java
+++ /dev/null
@@ -1,73 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.processor;
-
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.ILaunchConfigurationTab;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLLaunchConfigurationTab;
-import org.eclipse.wst.xsl.launching.IProcessorInvoker;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class XSLProcessorTab extends XSLLaunchConfigurationTab
-{
-	private final ProcessorBlock processorBlock;
-	// private WorkingDirectoryBlock workingDirectoryBlock;
-	// private URIResolverBlock2 featuresBlock;
-	private final FeaturesBlock featuresBlock;
-
-	public XSLProcessorTab()
-	{
-		featuresBlock = new FeaturesBlock();
-		processorBlock = new ProcessorBlock(featuresBlock);
-		setBlocks(new ILaunchConfigurationTab[]
-		{ processorBlock, featuresBlock });
-	}
-
-	@Override
-	public void createControl(Composite parent)
-	{
-		super.createControl(parent);
-		Composite comp = (Composite) getControl();
-
-		processorBlock.createControl(comp);
-		featuresBlock.createControl(comp);
-	}
-
-	@Override
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		super.performApply(configuration);
-		// TODO make a new block to allow user to select the invoker
-		IProcessorInvoker invoker = XSLTRuntime.getProcessorInvokers()[0];
-		configuration.setAttribute(XSLLaunchConfigurationConstants.INVOKER_DESCRIPTOR, invoker.getId());
-	}
-
-	public String getName()
-	{
-		return "Processor";
-	}
-
-	@Override
-	public Image getImage()
-	{
-		// TODO image
-		return null;
-	}
-
-	@Override
-	public void dispose()
-	{
-		super.dispose();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/resolver/URIResolverBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/resolver/URIResolverBlock.java
deleted file mode 100644
index 868cb2c..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/resolver/URIResolverBlock.java
+++ /dev/null
@@ -1,186 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorMessages;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-
-public class URIResolverBlock extends ResourceSelectionBlock
-{
-	private Button stylesheetRelativeRadio;
-	private Button otherRadio;
-	private Button workingDirRelativeRadio;
-
-	public URIResolverBlock()
-	{
-		super(IResource.FOLDER, true, true, true);
-	}
-
-	@Override
-	protected String getMessage(int type)
-	{
-		switch (type)
-		{
-			case ERROR_DIRECTORY_NOT_SPECIFIED:
-				return ProcessorMessages.URIResolverBlock_DIRECTORY_NOT_SPECIFIED;
-			case ERROR_DIRECTORY_DOES_NOT_EXIST:
-				return ProcessorMessages.URIResolverBlock_DIRECTORY_DOES_NOT_EXIST;
-			case GROUP_NAME:
-				return getName();
-			case USE_DEFAULT_RADIO:
-				return ProcessorMessages.URIResolverBlock_DEFAULT_RADIO;
-			case USE_OTHER_RADIO:
-				return ProcessorMessages.URIResolverBlock_OTHER_RADIO;
-			case DIRECTORY_DIALOG_MESSAGE:
-				return ProcessorMessages.URIResolverBlock_DIALOG_MESSAGE;
-			case WORKSPACE_DIALOG_MESSAGE:
-				return ProcessorMessages.URIResolverBlock_WORKSPACE_DIALOG_MESSAGE;
-			case VARIABLES_BUTTON:
-				return ProcessorMessages.URIResolverBlock_VARIABLES_BUTTON;
-			case FILE_SYSTEM_BUTTON:
-				return ProcessorMessages.URIResolverBlock_FILE_SYSTEM_BUTTON;
-			case WORKSPACE_BUTTON:
-				return ProcessorMessages.URIResolverBlock_WORKSPACE_BUTTON;
-			case WORKSPACE_DIALOG_TITLE:
-				return ProcessorMessages.URIResolverBlock_WORKSPACE_DIALOG_TITLE;
-		}
-		return "" + type;
-	}
-
-	@Override
-	protected void setDefaultResource()
-	{
-	}
-
-	public String getName()
-	{
-		return "URI Resolver";
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-	}
-
-	@Override
-	protected void createCheckboxAndText(Composite parent)
-	{
-		useDefaultCheckButton = createCheckButton(parent, getMessage(USE_DEFAULT_RADIO));
-		GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);
-		gd.horizontalSpan = 2;
-		useDefaultCheckButton.setLayoutData(gd);
-		useDefaultCheckButton.addSelectionListener(widgetListener);
-
-		Composite specificFileComp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginWidth = 0;
-		layout.marginLeft = 5;
-		layout.marginHeight = 0;
-		specificFileComp.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		specificFileComp.setLayoutData(gd);
-
-		SelectionListener listener = new SelectionListener()
-		{
-
-			public void widgetDefaultSelected(SelectionEvent e)
-			{
-			}
-
-			public void widgetSelected(SelectionEvent e)
-			{
-				updateEnablement(useDefaultCheckButton.getSelection());
-			}
-		};
-
-		workingDirRelativeRadio = createRadioButton(specificFileComp, "Relative to working directory");
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		workingDirRelativeRadio.setLayoutData(gd);
-		workingDirRelativeRadio.addSelectionListener(listener);
-
-		stylesheetRelativeRadio = createRadioButton(specificFileComp, "Relative to (1st) stylesheet");
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		stylesheetRelativeRadio.setLayoutData(gd);
-		stylesheetRelativeRadio.addSelectionListener(listener);
-
-		otherRadio = createRadioButton(specificFileComp, "Specific Location:");
-		gd = new GridData();
-		gd.horizontalSpan = 1;
-		otherRadio.setLayoutData(gd);
-		otherRadio.addSelectionListener(listener);
-
-		resourceText = new Text(specificFileComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 1;
-		resourceText.setLayoutData(gd);
-		resourceText.setFont(parent.getFont());
-		resourceText.addModifyListener(widgetListener);
-	}
-
-	@Override
-	protected void updateResourceText(boolean useDefault)
-	{
-		if (useDefault)
-		{
-			resourceText.setText(defaultOutputFile == null ? "" : defaultOutputFile);
-		}
-		else
-		{
-			resourceText.setText(outputFile == null ? "" : outputFile);
-		}
-		updateEnablement(useDefault);
-	}
-
-	protected void updateEnablement(boolean useDefault)
-	{
-		otherRadio.setEnabled(!useDefault);
-		stylesheetRelativeRadio.setEnabled(!useDefault);
-		workingDirRelativeRadio.setEnabled(!useDefault);
-
-		boolean otherEnabled = !useDefault && otherRadio.getSelection();
-		resourceText.setEnabled(otherEnabled);
-		fFileSystemButton.setEnabled(otherEnabled);
-		fVariablesButton.setEnabled(otherEnabled);
-		fWorkspaceButton.setEnabled(otherEnabled);
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-//		if (workingDirRelativeRadio.getSelection())
-//			configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_BASE_URI_TYPE, XSLLaunchConfigurationConstants.BASE_URI_WORKING_DIR_RELATIVE);
-//		else if (stylesheetRelativeRadio.getSelection())
-//			configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_BASE_URI_TYPE, XSLLaunchConfigurationConstants.BASE_URI_STYLESHEET_RELATIVE);
-//		else if (otherRadio.getSelection())
-//		{
-//			configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_BASE_URI_TYPE, XSLLaunchConfigurationConstants.BASE_URI_ABSOLUTE);
-//			configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_BASE_URI_DIRECTORY, getText());
-//		}
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy config)
-	{
-		config.setAttribute(XSLLaunchConfigurationConstants.ATTR_BASE_URI_DIRECTORY, (String) null);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/resolver/URIResolverBlock2.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/resolver/URIResolverBlock2.java
deleted file mode 100644
index 5df16c7..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/resolver/URIResolverBlock2.java
+++ /dev/null
@@ -1,208 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver;
-
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.viewers.ComboViewer;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-
-public class URIResolverBlock2 extends AbstractLaunchConfigurationTab
-{
-	private Button customRadio;
-	private Text customText;
-	private final ResolverType[] resolverTypes = new ResolverType[]
-	{ new ResolverType("N/A", "Working Directory (default)"), new ResolverType("org.eclipse.wst.some.resolver.type.1", "Stylesheet") };
-	private Button defaultRadio;
-	private Combo combo;
-
-	public void createControl(Composite parent)
-	{
-		Font font = parent.getFont();
-
-		Group group = new Group(parent, SWT.NONE);
-		group.setText(getName());
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		group.setLayoutData(gd);
-		GridLayout layout = new GridLayout(2, false);
-		group.setLayout(layout);
-		group.setFont(font);
-
-		setControl(group);
-
-		defaultRadio = new Button(group, SWT.RADIO);
-		defaultRadio.setText("Resolve relative to:");
-		defaultRadio.setFont(font);
-		defaultRadio.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				customText.setEnabled(false);
-				combo.setEnabled(true);
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		combo = new Combo(group, SWT.READ_ONLY);
-		ComboViewer cViewer = new ComboViewer(combo);
-		cViewer.setContentProvider(new IStructuredContentProvider()
-		{
-
-			public Object[] getElements(Object inputElement)
-			{
-				return resolverTypes;
-			}
-
-			public void dispose()
-			{
-			}
-
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
-			{
-			}
-		});
-		cViewer.setLabelProvider(new LabelProvider()
-		{
-			@Override
-			public String getText(Object element)
-			{
-				ResolverType type = (ResolverType) element;
-				return type.getDescription();
-			}
-		});
-		cViewer.setInput(resolverTypes);
-		cViewer.setSelection(new StructuredSelection(resolverTypes[0]));
-		cViewer.addSelectionChangedListener(new ISelectionChangedListener()
-		{
-
-			public void selectionChanged(SelectionChangedEvent event)
-			{
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		customRadio = new Button(group, SWT.RADIO);
-		customRadio.setText("Use custom URI resolver (Note: class must be included on classpath)");
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		customRadio.setLayoutData(gd);
-		gd.horizontalSpan = 2;
-		customRadio.setFont(font);
-		customRadio.addSelectionListener(new SelectionAdapter()
-		{
-			@Override
-			public void widgetSelected(SelectionEvent e)
-			{
-				customText.setEnabled(true);
-				combo.setEnabled(false);
-				updateLaunchConfigurationDialog();
-			}
-		});
-
-		Composite textComp = new Composite(group, SWT.NONE);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		gd.horizontalIndent = 10;
-		textComp.setLayoutData(gd);
-		layout = new GridLayout(2, false);
-		layout.marginWidth = 2;
-		textComp.setLayout(layout);
-		textComp.setFont(font);
-
-		Label label = new Label(textComp, SWT.NONE);
-		label.setText("Class:");
-
-		customText = new Text(textComp, SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		customText.setLayoutData(gd);
-		customText.setFont(font);
-		customText.addModifyListener(new ModifyListener()
-		{
-
-			public void modifyText(ModifyEvent e)
-			{
-				updateLaunchConfigurationDialog();
-			}
-		});
-	}
-
-	public String getName()
-	{
-		return "URI Resolver";
-	}
-
-	@Override
-	public boolean isValid(ILaunchConfiguration launchConfig)
-	{
-		String text = customText.getText();
-		if (customRadio.getSelection() && (text == null || text.length() == 0))
-		{
-			setErrorMessage("Missing URI Resolver class name");
-			return false;
-		}
-		return super.isValid(launchConfig);
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-	}
-
-	private static class ResolverType
-	{
-		private final String className;
-		private final String description;
-
-		public ResolverType(String className, String description)
-		{
-			this.className = className;
-			this.description = description;
-		}
-
-		public String getClassName()
-		{
-			return className;
-		}
-
-		public String getDescription()
-		{
-			return description;
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/resolver/WorkingDirectoryBlock.java b/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/resolver/WorkingDirectoryBlock.java
deleted file mode 100644
index b8f9711..0000000
--- a/bundles/org.eclipse.wst.xsl.debug.ui/src/org/eclipse/wst/xsl/internal/debug/ui/tabs/resolver/WorkingDirectoryBlock.java
+++ /dev/null
@@ -1,214 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.debug.ui.tabs.resolver;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.wst.xsl.internal.debug.ui.ResourceSelectionBlock;
-import org.eclipse.wst.xsl.internal.debug.ui.XSLDebugUIPlugin;
-import org.eclipse.wst.xsl.internal.debug.ui.tabs.processor.ProcessorMessages;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-
-public class WorkingDirectoryBlock extends ResourceSelectionBlock
-{
-	private String defaultWorkingDir;
-	private Text defaultText;
-	private Button useSpecificButton;
-
-	public WorkingDirectoryBlock()
-	{
-		super(IResource.FOLDER, false, true, true);
-	}
-
-	@Override
-	protected String getMessage(int type)
-	{
-		switch (type)
-		{
-			case ERROR_DIRECTORY_NOT_SPECIFIED:
-				return ProcessorMessages.WorkingDirectoryBlock_DIRECTORY_NOT_SPECIFIED;
-			case ERROR_DIRECTORY_DOES_NOT_EXIST:
-				return ProcessorMessages.WorkingDirectoryBlock_DIRECTORY_DOES_NOT_EXIST;
-			case GROUP_NAME:
-				return getName();
-			case USE_DEFAULT_RADIO:
-				return ProcessorMessages.WorkingDirectoryBlock_DEFAULT_RADIO;
-			case USE_OTHER_RADIO:
-				return ProcessorMessages.WorkingDirectoryBlock_OTHER_RADIO;
-			case DIRECTORY_DIALOG_MESSAGE:
-				return ProcessorMessages.WorkingDirectoryBlock_DIALOG_MESSAGE;
-			case WORKSPACE_DIALOG_MESSAGE:
-				return ProcessorMessages.WorkingDirectoryBlock_WORKSPACE_DIALOG_MESSAGE;
-			case VARIABLES_BUTTON:
-				return ProcessorMessages.WorkingDirectoryBlock_VARIABLES_BUTTON;
-			case FILE_SYSTEM_BUTTON:
-				return ProcessorMessages.WorkingDirectoryBlock_FILE_SYSTEM_BUTTON;
-			case WORKSPACE_BUTTON:
-				return ProcessorMessages.WorkingDirectoryBlock_WORKSPACE_BUTTON;
-			case WORKSPACE_DIALOG_TITLE:
-				return ProcessorMessages.WorkingDirectoryBlock_WORKSPACE_DIALOG_TITLE;
-		}
-		return "" + type;
-	}
-
-	@Override
-	protected void createCheckboxAndText(Composite parent)
-	{
-		Composite specificFileComp = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(2, false);
-		layout.marginWidth = 0;
-		layout.marginLeft = 0;
-		layout.marginHeight = 0;
-		specificFileComp.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		specificFileComp.setLayoutData(gd);
-
-		useDefaultCheckButton = createRadioButton(specificFileComp, "Default:");
-		useDefaultCheckButton.addSelectionListener(widgetListener);
-
-		defaultText = new Text(specificFileComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		defaultText.setLayoutData(gd);
-		defaultText.setFont(parent.getFont());
-		defaultText.setEnabled(false);
-
-		useSpecificButton = createRadioButton(specificFileComp, "Other:");
-
-		resourceText = new Text(specificFileComp, SWT.SINGLE | SWT.BORDER);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		resourceText.setLayoutData(gd);
-		resourceText.setFont(parent.getFont());
-		resourceText.addModifyListener(widgetListener);
-	}
-
-	@Override
-	protected void setDefaultResource()
-	{
-	}
-
-	public String getName()
-	{
-		return "Working Directory";
-	}
-
-	public void initializeFrom(ILaunchConfiguration configuration)
-	{
-		try
-		{
-			setLaunchConfiguration(configuration);
-
-			updateDefaultWorkingDir();
-
-			outputFile = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR_WORKING_DIR, (String) null);
-			boolean useDefault = outputFile == null;
-
-			useDefaultCheckButton.setSelection(useDefault);
-			useSpecificButton.setSelection(!useDefault);
-			resourceText.setEnabled(!useDefault);
-
-			if (useDefault)
-				outputFile = "";
-
-			updateResourceText(useDefault);
-		}
-		catch (CoreException e)
-		{
-			XSLDebugUIPlugin.log(e);
-		}
-	}
-
-	@Override
-	protected void updateResourceText(boolean useDefault)
-	{
-		super.updateResourceText(useDefault);
-		defaultText.setText(defaultWorkingDir);
-	}
-
-	public void updateDefaultWorkingDir()
-	{
-		try
-		{
-			ILaunchConfiguration config = getLaunchConfiguration();
-			if (config != null)
-			{
-				String pathExpr = config.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null);
-				if (pathExpr != null)
-				{
-					IPath path = getPath(pathExpr);
-					if (path != null)
-					{
-						path = path.removeLastSegments(1);
-						defaultWorkingDir = path.toPortableString();
-						return;
-					}
-				}
-			}
-		}
-		catch (CoreException ce)
-		{
-		}
-		defaultWorkingDir = System.getProperty("user.dir");
-	}
-
-	private Path getPath(String inputFile)
-	{
-		Path path = null;
-		if (inputFile.indexOf("${") >= 0)
-		{
-			IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
-			try
-			{
-				manager.validateStringVariables(inputFile);
-				path = new Path(manager.performStringSubstitution(inputFile));
-			}
-			catch (CoreException e)
-			{
-			}
-		}
-		else if (inputFile.length() > 0)
-		{
-			path = new Path(inputFile);
-		}
-		return path;
-	}
-
-	public void performApply(ILaunchConfigurationWorkingCopy configuration)
-	{
-		boolean useDefault = useDefaultCheckButton.getSelection();
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR_WORKING_DIR, useDefault);
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR_WORKING_DIR, useDefault ? null : getText());
-	}
-
-	public void setDefaults(ILaunchConfigurationWorkingCopy configuration)
-	{
-		configuration.setAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR_WORKING_DIR, true);
-	}
-
-	@Override
-	public boolean isValid(ILaunchConfiguration config)
-	{
-		required = useSpecificButton.getSelection();
-		return super.isValid(config);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/.classpath b/bundles/org.eclipse.wst.xsl.launching/.classpath
deleted file mode 100644
index 304e861..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.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="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xsl.launching/.cvsignore b/bundles/org.eclipse.wst.xsl.launching/.cvsignore
deleted file mode 100644
index d4a255d..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-build.xml
-javaCompiler...args
-temp.folder
-@dot
diff --git a/bundles/org.eclipse.wst.xsl.launching/.project b/bundles/org.eclipse.wst.xsl.launching/.project
deleted file mode 100644
index 86b41f9..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xsl.launching</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 3bacc8f..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jan 03 22:24:25 EST 2008
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
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
deleted file mode 100644
index 198f7ee..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Fri Jan 04 01:02:13 EST 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/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 1c5d1f1..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Fri Jan 04 09:12:34 EST 2008
-compilers.incompatible-environment=1
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.missing-bundle-classpath-entries=0
-compilers.p.missing-packages=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.wst.xsl.launching/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.launching/META-INF/MANIFEST.MF
deleted file mode 100644
index 55bf104..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,25 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.xsl.launching;singleton:=true
-Bundle-Version: 0.5.0.qualifier
-Bundle-Activator: org.eclipse.wst.xsl.internal.launching.LaunchingPlugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.expressions,
- org.eclipse.core.filesystem,
- org.eclipse.core.resources,
- org.eclipse.core.variables,
- org.eclipse.debug.core,
- org.eclipse.ui,
- org.eclipse.ui.ide,
- org.eclipse.jdt.core,
- org.eclipse.jdt.launching,
- org.eclipse.wst.xsl.debug
-Eclipse-LazyStart: true
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ClassPath: .
-Export-Package: org.eclipse.wst.xsl.launching,
- org.eclipse.wst.xsl.launching.config,
- org.eclipse.wst.xsl.launching.model
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
diff --git a/bundles/org.eclipse.wst.xsl.launching/TODO.txt b/bundles/org.eclipse.wst.xsl.launching/TODO.txt
deleted file mode 100644
index 9d478de..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/TODO.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-INTEGRATE ORANGEVOLT PARTS:
-
-- launch configuration type image
-- keywords
-- launch config export
-
-- when debugging too quickly, get a null pointer exception because variable view is trying to 
-get a variable at the same time as we have moved on to the next frame.
-
-- smooth transition between java and XSLT debugging
-- result view
-- link from result view to source + template
-- profiling
-
-- change variable value
-- watch expressions
-- breakpoint hit count 
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.launching/W3CFeatures.properties b/bundles/org.eclipse.wst.xsl.launching/W3CFeatures.properties
deleted file mode 100644
index 9c244d2..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/W3CFeatures.properties
+++ /dev/null
@@ -1,10 +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
-###############################################################################
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.launching/W3COutputProperties.properties b/bundles/org.eclipse.wst.xsl.launching/W3COutputProperties.properties
deleted file mode 100644
index 85d2fb3..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/W3COutputProperties.properties
+++ /dev/null
@@ -1,57 +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
-###############################################################################
-byte-order-mark=byte-order-mark
-byte-order-mark.DESC=One of the enumerated values yes or no. This parameter indicates whether the serialized sequence of octets is to be preceded by a Byte Order Mark. (See Section 5.1 of [Unicode Encoding].) The actual octet order used is implementation-dependent. If the encoding defines no Byte Order Mark, or if the Byte Order Mark is prohibited for the specific Unicode encoding or implementation environment, then this parameter is ignored. 
-
-cdata-section-elements=cdata-section-elements 
-cdata-section-elements.DESC=A list of expanded QNames, possibly empty. 
-
-doctype-public=doctype-public
-doctype-public.DESC=A string of Unicode characters. This parameter may be absent. 
-
-doctype-system=doctype-system
-doctype-system.DESC=A string of Unicode characters. This parameter may be absent. 
-
-encoding=encoding 
-encoding.DESC=A string of Unicode characters in the range #x21 to #x7E (that is, printable ASCII characters); the value SHOULD be a charset registered with the Internet Assigned Numbers Authority [IANA], [RFC2278] or begin with the characters x- or X-. 
-
-escape-uri-attributes=escape-uri-attributes
-escape-uri-attributes.DESC=One of the enumerated values yes or no. 
-
-include-content-type=include-content-type
-include-content-type.DESC=One of the enumerated values yes or no. 
-
-indent=indent
-indent.DESC=One of the enumerated values yes or no. 
-
-media-type=media-type
-media-type.DESC=A string of Unicode characters specifying the media type (MIME content type) [RFC2046]; the charset parameter of the media type MUST NOT be specified explicitly in the value of the media-type parameter. If the destination of the serialized output is annotated with a media type, this parameter MAY be used to provide such an annotation. For example, it MAY be used to set the media type in an HTTP header. 
-
-method=method
-method.DESC=An expanded QName with a null namespace URI, and the local part of the name equal to one of xml, xhtml, html or text, or having a non-null namespace URI. If the namespace URI is non-null, the parameter specifies an implementation-defined output method. 
-
-normalization-form=normalization-form 
-normalization-form.DESC=One of the enumerated values NFC, NFD, NFKC, NFKD, fully-normalized, none or an implementation-defined value. 
-
-omit-xml-declaration=omit-xml-declaration 
-omit-xml-declaration.DESC=One of the enumerated values yes or no. 
-
-standalone=standalone 
-standalone.DESC=One of the enumerated values yes, no or omit. 
-
-undeclare-prefixes=undeclare-prefixes 
-undeclare-prefixes.DESC=One of the enumerated values yes or no. 
-
-use-character-maps=use-character-maps 
-use-character-maps.DESC=A list of pairs, possibly empty, with each pair consisting of a single Unicode character and a string of Unicode characters. 
-
-version=version 
-version.DESC=A string of Unicode characters. 
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.launching/about.html b/bundles/org.eclipse.wst.xsl.launching/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</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.launching/build.properties b/bundles/org.eclipse.wst.xsl.launching/build.properties
deleted file mode 100644
index bb144c6..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               W3CFeatures.properties,\
-               W3COutputProperties.properties,\
-               schema/,\
-               about.html,\
-               plugin.properties
-jars.compile.order = .
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.launching/plugin.properties b/bundles/org.eclipse.wst.xsl.launching/plugin.properties
deleted file mode 100644
index af6a7de..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/plugin.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-#Properties file for org.eclipse.wst.xsl.launching
-Bundle-Name.0 = XSL Launching Plug-in (Incubating)
-launchConfigurationType.name.0 = XSL
-sourceLocator.name.0 = XSLT Source Lookup Director
-processorType.label.0 = JRE Default
-processor.label.0 = JRE Instance Default
-extension-point.name.0 = XSLT Processor Invoker
-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
diff --git a/bundles/org.eclipse.wst.xsl.launching/plugin.xml b/bundles/org.eclipse.wst.xsl.launching/plugin.xml
deleted file mode 100644
index a032788..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/plugin.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-	<extension-point id="invoke" name="%extension-point.name.0"
-		schema="schema/invoke.exsd" />
-	<extension-point id="processorType" name="%extension-point.name.1"
-		schema="schema/processorType.exsd" />
-	<extension-point id="processor" name="%extension-point.name.2"
-		schema="schema/processor.exsd" />
-	<extension-point id="debugger" name="%extension-point.name.3" schema="schema/debugger.exsd"/>
-
-	<extension
-		point="org.eclipse.debug.core.launchConfigurationTypes">
-		<launchConfigurationType
-            sourceLocatorId="org.eclipse.wst.xsl.launching.sourceLookupDirector"
-            sourcePathComputerId="org.eclipse.wst.xsl.launching.sourcePathComputer"
-			delegate="org.eclipse.wst.xsl.internal.launching.XSLTLaunchConfigurationDelegate"
-			id="org.eclipse.wst.xsl.launching.launchConfigurationType"
-			modes="run, debug, profile" name="%launchConfigurationType.name.0" />
-	</extension>
-	
-   <extension
-         point="org.eclipse.debug.core.sourceLocators">
-      <sourceLocator
-            name="%sourceLocator.name.0"
-            class="org.eclipse.wst.xsl.internal.launching.XSLTSourceLookupDirector"
-            id="org.eclipse.wst.xsl.launching.sourceLookupDirector">
-      </sourceLocator>
-   </extension>
-   
-   <extension
-         point="org.eclipse.debug.core.sourcePathComputers">
-      <sourcePathComputer
-            class="org.eclipse.wst.xsl.internal.launching.XSLTSourcePathComputerDelegate"
-            id="org.eclipse.wst.xsl.launching.sourcePathComputer">
-      </sourcePathComputer>
-   </extension>
-	
-   <extension
-         point="org.eclipse.debug.core.breakpoints">
-      <breakpoint
-      		id="xslLineBreakpoint"
-            markerType="org.eclipse.wst.xsl.launching.xslLineBreakpointMarker"
-            class="org.eclipse.wst.xsl.launching.model.XSLLineBreakpoint">
-      </breakpoint>
-   </extension>
-
-   <extension
-         id="xslLineBreakpointMarker"
-         point="org.eclipse.core.resources.markers">
-      <super
-            type="org.eclipse.debug.core.lineBreakpointMarker">
-      </super>
-      <persistent
-            value="true">
-      </persistent>
-   </extension>
- 	
-	<extension point="org.eclipse.core.runtime.preferences">
-		<initializer
-			class="org.eclipse.wst.xsl.internal.launching.PreferenceInitializer">
-		</initializer>
-	</extension>
- 
- 	<extension
-	       point="org.eclipse.wst.xsl.launching.processorType">
-     <processorType
-            featureProperties="W3CProcessorFeatures.properties"
-            id="org.eclipse.wst.xsl.launching.processorType.jreDefault"
-            label="%processorType.label.0"
-            outputProperties="W3COutputProperties.properties" />
-	 </extension>
-
-	<extension
-	         point="org.eclipse.wst.xsl.launching.processor">
-        <processor
-              classpath=""
-              id="org.eclipse.wst.xsl.launching.jre.default"
-              label="%processor.label.0"
-              processorTypeId="org.eclipse.wst.xsl.launching.processorType.jreDefault"
-              supports="1.0"/>
-	 </extension>
-	
-</plugin>
diff --git a/bundles/org.eclipse.wst.xsl.launching/schema/debugger.exsd b/bundles/org.eclipse.wst.xsl.launching/schema/debugger.exsd
deleted file mode 100644
index d7d27e2..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/schema/debugger.exsd
+++ /dev/null
@@ -1,134 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.xsl.launching">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.xsl.launching" id="debugger" name="XSLT Debugger"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="debugger" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="debugger">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="classpath" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="processorTypeId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="className" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2007 Chase Technology Ltd - &lt;a href=&quot;http://www.chasetechnology.co.uk&quot;&gt;http://www.chasetechnology.co.uk&lt;/a&gt;.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.wst.xsl.launching/schema/invoke.exsd b/bundles/org.eclipse.wst.xsl.launching/schema/invoke.exsd
deleted file mode 100644
index e456d2e..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/schema/invoke.exsd
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.xsl.launching">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.xsl.launching" id="invoke" name="XSLT Processor Invoker"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="invoker"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="invoker">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Unique id for this invoker
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A class that implements the IProcessorInvoker interface
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="classpath" type="string" use="required">
-            <annotation>
-               <documentation>
-                  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.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         &lt;b&gt;This extension point is internal and should not be used by any other plugins.&lt;/b&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2007 Chase Technology Ltd - &lt;a href=&quot;http://www.chasetechnology.co.uk&quot;&gt;http://www.chasetechnology.co.uk&lt;/a&gt;.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.wst.xsl.launching/schema/processor.exsd b/bundles/org.eclipse.wst.xsl.launching/schema/processor.exsd
deleted file mode 100644
index aa345fa..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/schema/processor.exsd
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.xsl.launching">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.xsl.launching" id="processor" name="XSLT Processor"/>
-      </appInfo>
-      <documentation>
-         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.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="processor" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="processor">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="processorTypeId" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="classpath" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="debuggerId" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="supports" type="string" use="required">
-            <annotation>
-               <documentation>
-                  A comma-separated list of supported XSLT versions e.g. 1.0,2.0
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.xsl.launching.processor&quot;&gt;
-      &lt;processor
-            classpath=&quot;xalan2.7.0.jar;serializer2.7.0.jar&quot;
-            id=&quot;org.eclipse.wst.xsl.launching.xalan.2_7_0&quot;
-            label=&quot;Xalan 2.7.0&quot;
-            processorTypeId=&quot;org.eclipse.wst.xsl.xalan.processorType&quot;
-            debuggerId=&quot;org.eclipse.wst.xsl.xalan.debugger&quot;
-            supports=&quot;1.0&quot;&gt;
-      &lt;/processor&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2007 Chase Technology Ltd - &lt;a href=&quot;http://www.chasetechnology.co.uk&quot;&gt;http://www.chasetechnology.co.uk&lt;/a&gt;.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.wst.xsl.launching/schema/processorType.exsd b/bundles/org.eclipse.wst.xsl.launching/schema/processorType.exsd
deleted file mode 100644
index bf96fe3..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/schema/processorType.exsd
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.wst.xsl.launching">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.wst.xsl.launching" id="processorType" name="XSLT Processor Type"/>
-      </appInfo>
-      <documentation>
-         Contribute a Java XSLT processor type (e.g. Xalan, Saxon). The processor type defines which features and output properies are supported.
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="processorType" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="processorType">
-      <annotation>
-         <appInfo>
-            <meta.element labelAttribute="label"/>
-         </appInfo>
-      </annotation>
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Unique id for the processor type
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="label" type="string" use="required">
-            <annotation>
-               <documentation>
-                  Name for display in the UI
-               </documentation>
-               <appInfo>
-                  <meta.attribute translatable="true"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-         <attribute name="transformerFactory" type="string">
-            <annotation>
-               <documentation>
-                  Transformer factory class name for this processor type
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="outputProperties" type="string">
-            <annotation>
-               <documentation>
-                  Location of a properties file containing the list of the processors output properties. Must be a path relative to the root of the bundle.
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="featureProperties" type="string">
-            <annotation>
-               <documentation>
-                  Location of a properties file containing the list of the features supported by this processor. Must be a path relative to the root of the bundle.
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         &lt;pre&gt;
-   &lt;extension
-         point=&quot;org.eclipse.wst.xsl.launching.processorType&quot;&gt;
-      &lt;processorType
-            featureProperties=&quot;XalanFeatures.properties&quot;
-            id=&quot;org.eclipse.wst.xsl.xalan.processorType&quot;
-            label=&quot;Xalan&quot;
-            outputProperties=&quot;XalanOutputProperties.properties&quot;
-            transformerFactory=&quot;org.apache.xalan.processor.TransformerFactoryImpl&quot;&gt;
-      &lt;/processorType&gt;
-   &lt;/extension&gt;
-&lt;/pre&gt;
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         Copyright (c) 2007 Chase Technology Ltd - &lt;a href=&quot;http://www.chasetechnology.co.uk&quot;&gt;http://www.chasetechnology.co.uk&lt;/a&gt;.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made 
-available under the terms of the Eclipse Public License v1.0 which accompanies 
-this distribution, and is available at &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/DebuggerDescriptor.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/DebuggerDescriptor.java
deleted file mode 100644
index 153004b..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/DebuggerDescriptor.java
+++ /dev/null
@@ -1,82 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xsl.launching.IDebugger;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class DebuggerDescriptor implements IDebugger
-{
-	private final String[] classpath;
-	private final String id;
-	private final String bundleId;
-	private final String name;
-	private final String processorTypeId;
-	private final String className;
-
-	public DebuggerDescriptor(String id, String bundleId, String className, String[] classpath, String name, String processorTypeId)
-	{
-		this.id = id;
-		this.classpath = classpath;
-		this.bundleId = bundleId;
-		this.name = name;
-		this.processorTypeId = processorTypeId;
-		this.className = className;
-	}
-
-	public String getClassName()
-	{
-		return className;
-	}
-
-	public String[] getClassPath()
-	{
-		List<String> entries = new ArrayList<String>();
-		try 
-		{
-			// in dev, add the bin dir
-			if (Platform.inDevelopmentMode())
-				entries.add(ProcessorInvokerDescriptor.getFileLocation(bundleId, "/bin"));
-			for (String jar : classpath)
-			{
-				String entry = ProcessorInvokerDescriptor.getFileLocation(bundleId, "/" + jar);
-				if (entry!=null)
-					entries.add(entry);
-			}
-		} 
-		catch (CoreException e) 
-		{
-			LaunchingPlugin.log(e);
-		}
-		return entries.toArray(new String[0]);
-	}
-
-	public String getId()
-	{
-		return id;
-	}
-
-	public String getName()
-	{
-		return name;
-	}
-
-	public IProcessorType getProcessorType()
-	{
-		return XSLTRuntime.getProcessorType(processorTypeId);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/Feature.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/Feature.java
deleted file mode 100644
index 9f812af..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/Feature.java
+++ /dev/null
@@ -1,104 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.JavaConventions;
-import org.eclipse.wst.xsl.launching.IFeature;
-
-public class Feature implements IFeature, Comparable<Object>
-{
-	private final String uri;
-	private final String description;
-	private final String type;
-
-	public Feature(String uri, String type, String description)
-	{
-		this.uri = uri;
-		this.type = type;
-		this.description = description;
-	}
-
-	public String getDescription()
-	{
-		return description;
-	}
-
-	public String getType()
-	{
-		return type;
-	}
-
-	public String getURI()
-	{
-		return uri;
-	}
-
-	public IStatus validateValue(String value)
-	{
-		IStatus status = null;
-		if (TYPE_BOOLEAN.equals(type))
-		{
-			boolean valid = "true".equals(value) || "false".equals(value);
-			if (!valid)
-				status = new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, 0, "Valid values are 'true' or 'false'", null);
-		}
-		else if (TYPE_INT.equals(type))
-		{
-			try
-			{
-				Integer.parseInt(value);
-			}
-			catch (NumberFormatException e)
-			{
-				status = new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, 0, "Value must be an integer", null);
-			}
-		}
-		else if (TYPE_DOUBLE.equals(type))
-		{
-			try
-			{
-				Double.parseDouble(value);
-			}
-			catch (NumberFormatException e)
-			{
-				status = new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, 0, "Value must be a double", null);
-			}
-		}
-		else if (TYPE_FLOAT.equals(type))
-		{
-			try
-			{
-				Float.parseFloat(value);
-			}
-			catch (NumberFormatException e)
-			{
-				status = new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, 0, "Value must be a float", null);
-			}
-		}
-		else if (TYPE_CLASS.equals(type) || TYPE_OBJECT.equals(type))
-		{
-			status = JavaConventions.validateJavaTypeName(value);
-		}
-		return status;
-	}
-
-	public int compareTo(Object o)
-	{
-		if (o instanceof IFeature)
-		{
-			IFeature f = (IFeature) o;
-			return f.getURI().compareTo(getURI());
-		}
-		return 0;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/FeaturePreferences.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/FeaturePreferences.java
deleted file mode 100644
index 683d2ce..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/FeaturePreferences.java
+++ /dev/null
@@ -1,121 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class FeaturePreferences
-{
-	private Map<String, Map<String, String>> typeFeatures;
-
-	public Map<String, String> getFeaturesValues(String typeId)
-	{
-		return typeFeatures.get(typeId);
-	}
-
-	public void setTypeFeatures(Map<String, Map<String, String>> typeFeatures)
-	{
-		this.typeFeatures = typeFeatures;
-	}
-
-	public String getAsXML() throws ParserConfigurationException, IOException, TransformerException
-	{
-		Document doc = PreferenceUtil.getDocument();
-		Element config = doc.createElement("featurePreferences"); 
-		doc.appendChild(config);
-		
-		for (String typeId : typeFeatures.keySet())
-		{
-			Element processorTypeElement = typeAsElement(doc, typeId);
-			Map<String, String> featureValues = typeFeatures.get(typeId);
-			featureValuesAsElement(doc, processorTypeElement, featureValues);
-			config.appendChild(processorTypeElement);
-		}
-
-		// Serialize the Document and return the resulting String
-		return PreferenceUtil.serializeDocument(doc);
-	}
-
-	public static FeaturePreferences fromXML(InputStream inputStream) throws CoreException
-	{
-		FeaturePreferences prefs = new FeaturePreferences();
-
-		// Do the parsing and obtain the top-level node
-		Document doc = PreferenceUtil.getDocument(inputStream);
-		Element config = doc.getDocumentElement();
-
-		Map<String, Map<String, String>> typeFeatures = new HashMap<String, Map<String, String>>();
-		Element[] processorTypeEls = PreferenceUtil.getChildElements(config, "processorType");
-		for (int i = 0; i < processorTypeEls.length; ++i)
-		{
-			Element processorTypeEl = processorTypeEls[i];
-			String type = elementAsType(processorTypeEl);
-			Map<String, String> featureValues = elementAsFeatureValues(processorTypeEl);
-			typeFeatures.put(type, featureValues);
-		}
-
-		prefs.setTypeFeatures(typeFeatures);
-
-		return prefs;
-	}
-
-	private static String elementAsType(Element parent)
-	{
-		String id = parent.getAttribute("id");
-		return id;
-	}
-
-	private static Element typeAsElement(Document doc, String type)
-	{
-		Element element = doc.createElement("processorType");
-		element.setAttribute("id", type);
-		return element;
-	}
-
-	private static Map<String, String> elementAsFeatureValues(Element element)
-	{
-		Element[] featureEls = PreferenceUtil.getChildElements(element, "feature");
-		Map<String, String> featureValues = new HashMap<String, String>(featureEls.length);
-		for (Element featureEl : featureEls)
-		{
-			String uri = featureEl.getAttribute("uri");
-			String value = featureEl.getAttribute("value");
-			featureValues.put(uri, value);
-		}
-		return featureValues;
-	}
-
-	private static void featureValuesAsElement(Document doc, Element featuresEl, Map<String, String> featureValues)
-	{
-		if (featureValues != null)
-		{
-			for (Map.Entry<String,String> entry2 : featureValues.entrySet())
-			{
-				String uri = (String) entry2.getKey();
-				String value = (String) entry2.getValue();
-				Element element = doc.createElement("feature");
-				element.setAttribute("uri", uri);
-				element.setAttribute("value", value);
-				featuresEl.appendChild(element);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/LaunchingPlugin.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/LaunchingPlugin.java
deleted file mode 100644
index 70ce815..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/LaunchingPlugin.java
+++ /dev/null
@@ -1,71 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-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;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class LaunchingPlugin extends Plugin
-{
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.launching";
-
-	// The shared instance
-	private static LaunchingPlugin plugin;
-
-	/**
-	 * The constructor
-	 */
-	public LaunchingPlugin()
-	{
-		plugin = this;
-	}
-
-	@Override
-	public void start(BundleContext context) throws Exception
-	{
-		super.start(context);
-	}
-
-	@Override
-	public void stop(BundleContext context) throws Exception
-	{
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 * 
-	 * @return the shared instance
-	 */
-	public static LaunchingPlugin getDefault()
-	{
-		return plugin;
-	}
-
-	public static void log(Exception e)
-	{
-		getDefault().getLog().log(new Status(IStatus.ERROR, PLUGIN_ID, 0, "", e));
-	}
-
-	public static void log(CoreException e)
-	{
-		getDefault().getLog().log(e.getStatus());
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/OutputProperty.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/OutputProperty.java
deleted file mode 100644
index aa9df1d..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/OutputProperty.java
+++ /dev/null
@@ -1,36 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import org.eclipse.wst.xsl.launching.IOutputProperty;
-
-public class OutputProperty implements IOutputProperty
-{
-	private final String name;
-	private final String desc;
-
-	public OutputProperty(String key, String desc)
-	{
-		this.name = key;
-		this.desc = desc;
-	}
-
-	public String getDescription()
-	{
-		return desc;
-	}
-
-	public String getURI()
-	{
-		return name;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/OutputPropertyPreferences.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/OutputPropertyPreferences.java
deleted file mode 100644
index c516fa8..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/OutputPropertyPreferences.java
+++ /dev/null
@@ -1,119 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class OutputPropertyPreferences
-{
-	private final Map<String, Properties> typeProperties = new HashMap<String, Properties>();
-
-	public Properties getOutputPropertyValues(String typeId)
-	{
-		return (Properties) typeProperties.get(typeId);
-	}
-
-	public void setOutputPropertyValues(String typeId, Properties properties)
-	{
-		typeProperties.put(typeId, properties);
-	}
-
-	public String getAsXML() throws ParserConfigurationException, IOException, TransformerException
-	{
-		Document doc = PreferenceUtil.getDocument();
-		Element config = doc.createElement("outputPropertyPreferences");
-		doc.appendChild(config);
-
-		for (String type : typeProperties.keySet())
-		{
-			Element processorTypeElement = typeAsElement(doc, type);
-			Properties propertyValues = (Properties) typeProperties.get(type);
-			featureValuesAsElement(doc, processorTypeElement, propertyValues);
-			config.appendChild(processorTypeElement);
-		}
-
-		// Serialize the Document and return the resulting String
-		return PreferenceUtil.serializeDocument(doc);
-	}
-
-	public static OutputPropertyPreferences fromXML(InputStream inputStream) throws CoreException
-	{
-		OutputPropertyPreferences prefs = new OutputPropertyPreferences();
-
-		// Do the parsing and obtain the top-level node
-		Document doc = PreferenceUtil.getDocument(inputStream);
-		Element config = doc.getDocumentElement();
-
-		Element[] processorTypeEls = PreferenceUtil.getChildElements(config, "processorType");
-		for (int i = 0; i < processorTypeEls.length; ++i)
-		{
-			Element processorTypeEl = processorTypeEls[i];
-			String type = elementAsType(processorTypeEl);
-			Properties featureValues = elementAsPropertyValues(processorTypeEl);
-			prefs.setOutputPropertyValues(type, featureValues);
-		}
-
-		return prefs;
-	}
-
-	private static String elementAsType(Element parent)
-	{
-		String id = parent.getAttribute("id");
-		return id;
-	}
-
-	private static Element typeAsElement(Document doc, String type)
-	{
-		Element element = doc.createElement("processorType");
-		element.setAttribute("id", type);
-		return element;
-	}
-
-	private static Properties elementAsPropertyValues(Element element)
-	{
-		Element[] propertyEls = PreferenceUtil.getChildElements(element, "property");
-		Properties propertyValues = new Properties();
-		for (Element featureEl : propertyEls)
-		{
-			String name = featureEl.getAttribute("name");
-			String value = featureEl.getAttribute("value");
-			propertyValues.put(name, value);
-		}
-		return propertyValues;
-	}
-
-	private static void featureValuesAsElement(Document doc, Element featuresEl, Properties propertyValues)
-	{
-		if (propertyValues != null)
-		{
-			for (Map.Entry<Object,Object> entry2 : propertyValues.entrySet())
-			{
-				String name = (String) entry2.getKey();
-				String value = (String) entry2.getValue();
-				Element element = doc.createElement("property");
-				element.setAttribute("name", name);
-				element.setAttribute("value", value);
-				featuresEl.appendChild(element);
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/PluginProcessorJar.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/PluginProcessorJar.java
deleted file mode 100644
index 9fe50d1..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/PluginProcessorJar.java
+++ /dev/null
@@ -1,62 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xsl.launching.IProcessorJar;
-import org.osgi.framework.Bundle;
-
-public class PluginProcessorJar implements IProcessorJar
-{
-	private final String pluginId;
-	private final IPath path;
-
-	public PluginProcessorJar(String pluginId, IPath path)
-	{
-		this.pluginId = pluginId;
-		this.path = path;
-	}
-
-	public URL asURL()
-	{
-		Bundle bundle = Platform.getBundle(pluginId);
-		IPath jarPath = new Path("/" + path);
-		URL url = null;
-		try
-		{
-			url = FileLocator.find(bundle, jarPath, null);
-			if (url != null)
-				url = FileLocator.resolve(url);
-		}
-		catch (IOException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-		return url;
-	}
-
-	public IPath getPath()
-	{
-		return path;
-	}
-
-	@Override
-	public String toString()
-	{
-		return "Plugin " + pluginId + ", path " + path;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/PreferenceInitializer.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/PreferenceInitializer.java
deleted file mode 100644
index 5cc507e..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/PreferenceInitializer.java
+++ /dev/null
@@ -1,66 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.IOException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-/**
- * Class used to initialize default preference values.
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer
-{
-
-	@Override
-	public void initializeDefaultPreferences()
-	{
-		IEclipsePreferences node = new DefaultScope().getNode(LaunchingPlugin.PLUGIN_ID);
-
-		ProcessorPreferences prefs = new ProcessorPreferences();
-		prefs.setDefaultProcessorId(XSLTRuntime.JRE_DEFAULT_PROCESSOR_ID);
-
-		OutputPropertyPreferences outputPrefs = new OutputPropertyPreferences();
-		outputPrefs.setOutputPropertyValues(XSLTRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID, XSLTRuntime.createDefaultOutputProperties(XSLTRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID));
-		outputPrefs.setOutputPropertyValues(XSLLaunchConfigurationConstants.XALAN_TYPE_ID, XSLTRuntime.createDefaultOutputProperties(XSLLaunchConfigurationConstants.XALAN_TYPE_ID));
-		outputPrefs.setOutputPropertyValues(XSLLaunchConfigurationConstants.SAXONB_TYPE_ID, XSLTRuntime.createDefaultOutputProperties(XSLLaunchConfigurationConstants.SAXONB_TYPE_ID));
-
-		try
-		{
-			String xml = prefs.getAsXML();
-			node.put(XSLTRuntime.PREF_PROCESSOR_XML, xml);
-
-			xml = outputPrefs.getAsXML();
-			node.put(XSLTRuntime.PREF_OUTPUT_PROPERTIES_XML, xml);
-
-			node.put(XSLLaunchConfigurationConstants.ATTR_DEFAULT_DEBUGGING_INSTALL_ID, "org.eclipse.wst.xsl.launching.xalan.2_7_0");
-		}
-		catch (ParserConfigurationException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-		catch (IOException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-		catch (TransformerException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/PreferenceUtil.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/PreferenceUtil.java
deleted file mode 100644
index c7f1ba1..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/PreferenceUtil.java
+++ /dev/null
@@ -1,155 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class PreferenceUtil
-{
-
-	public static void createCoreException(Throwable e) throws CoreException
-	{
-		throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, 0, e.getMessage(), e));
-	}
-
-	public static Document getDocument() throws ParserConfigurationException
-	{
-		DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
-		DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
-		Document doc = docBuilder.newDocument();
-		return doc;
-	}
-
-	public static String serializeDocument(Document doc) throws IOException, TransformerException
-	{
-		ByteArrayOutputStream s = new ByteArrayOutputStream();
-
-		TransformerFactory factory = TransformerFactory.newInstance();
-		Transformer transformer = factory.newTransformer();
-		transformer.setOutputProperty(OutputKeys.METHOD, "xml"); 
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
-
-		DOMSource source = new DOMSource(doc);
-		StreamResult outputTarget = new StreamResult(s);
-		transformer.transform(source, outputTarget);
-
-		return s.toString("UTF8"); 			
-	}
-
-	public static Element[] getChildElements(Element parent, String name)
-	{
-		List<Element> children = new ArrayList<Element>();
-		NodeList list = parent.getChildNodes();
-		int length = list.getLength();
-		for (int i = 0; i < length; ++i)
-		{
-			Node node = list.item(i);
-			short type = node.getNodeType();
-			if (type == Node.ELEMENT_NODE)
-			{
-				Element processorElement = (Element) node;
-				if (processorElement.getNodeName().equals(name))
-				{
-					children.add(processorElement);
-				}
-			}
-		}
-		return (Element[]) children.toArray(new Element[0]);
-	}
-
-	public static String getNodeText(Node node)
-	{
-		switch (node.getNodeType())
-		{
-			case Node.ELEMENT_NODE:
-				NodeList childNodes = node.getChildNodes();
-				StringBuffer sb = new StringBuffer();
-				for (int i = 0; i < childNodes.getLength(); i++)
-				{
-					Node child = childNodes.item(i);
-					if (child.getNodeType() == Node.TEXT_NODE)
-					{
-						sb.append(child.getNodeValue());
-					}
-				}
-				return sb.toString();
-			case Node.TEXT_NODE:
-			case Node.ATTRIBUTE_NODE:
-			default:
-				return node.getNodeValue();
-		}
-	}
-
-	public static Document getDocument(InputStream stream) throws CoreException
-	{
-		Document doc = null;
-		try
-		{
-			DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			parser.setErrorHandler(new DefaultHandler());
-			doc = parser.parse(new InputSource(stream));
-		}
-		catch (SAXException e)
-		{
-			PreferenceUtil.createCoreException(e);
-		}
-		catch (IOException e)
-		{
-			PreferenceUtil.createCoreException(e);
-		}
-		catch (ParserConfigurationException e)
-		{
-			PreferenceUtil.createCoreException(e);
-		}
-		catch (FactoryConfigurationError e)
-		{
-			PreferenceUtil.createCoreException(e);
-		}
-		finally
-		{
-			try
-			{
-				stream.close();
-			}
-			catch (IOException e)
-			{
-				PreferenceUtil.createCoreException(e);
-			}
-		}
-		return doc;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorInvokerDescriptor.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorInvokerDescriptor.java
deleted file mode 100644
index 01f33c3..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorInvokerDescriptor.java
+++ /dev/null
@@ -1,114 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-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.wst.xsl.launching.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)
-	{
-		this.id = id;
-		this.bundleId = bundleId;
-		this.invokerClass = invokerClass;
-		this.classpath = classpath;
-	}
-
-	public String[] getClasspathEntries()
-	{
-		List<String> entries = new ArrayList<String>();
-		try {
-			// if in dev mode, use the bin dir
-			if (Platform.inDevelopmentMode())
-				entries.add(getFileLocation(bundleId, "/bin"));
-			for (int i=0;i <classpath.length;i++) 
-			{
-				String string = classpath[i];
-				String entry;
-				if (string.startsWith("${eclipse_orbit:") && string.endsWith("}"))
-				{
-					string = string.substring("${eclipse_orbit:".length());
-					string = string.substring(0,string.length()-1);
-					entry = getFileLocation(string,"");
-				}
-				else
-				{
-					entry = getFileLocation(bundleId,string);
-				}
-				if (entry!=null)
-					entries.add(entry);
-			}
-		} 
-		catch (CoreException e) 
-		{
-			LaunchingPlugin.log(e);
-		}
-		return entries.toArray(new String[0]);
-	}
-
-	/**
-	 * The name of the class that implements IProcessorInvoker
-	 */
-	public String getInvokerClassName()
-	{
-		return invokerClass;
-	}
-
-	public String getId()
-	{
-		return id;
-	}
-	
-	private static URL getURL(String bundleId, String path)
-	{
-		return FileLocator.find(Platform.getBundle(bundleId), new Path(path), null);
-	}
-
-	static String getFileLocation(String bundleId, String path) throws CoreException
-	{
-		String location = null;
-		try
-		{
-			URL url = getURL(bundleId, path);
-			if (url != null)
-			{
-				URL fileUrl = FileLocator.toFileURL(url);
-				File file = new File(fileUrl.getFile());
-				location = file.getAbsolutePath();
-//				location = null;
-			}
-		}
-		catch (IOException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, "Error determining jar file location: " + path + " from bundle: " + bundleId, e));
-		} 
-		return location;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorJar.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorJar.java
deleted file mode 100644
index 9d1c17b..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorJar.java
+++ /dev/null
@@ -1,64 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.wst.xsl.launching.IProcessorJar;
-
-public class ProcessorJar implements IProcessorJar
-{
-	private final IPath path;
-
-	public ProcessorJar(IPath path)
-	{
-		this.path = path;
-	}
-
-	public URL asURL()
-	{
-		URL url = null;
-		try
-		{
-			// first try to resolve as workspace-relative path
-			IPath rootPath = ResourcesPlugin.getWorkspace().getRoot().getLocation();
-			File file = new File(rootPath.append(path).toOSString());
-			if (file.exists())
-				url = file.toURL();
-			else
-			{
-				// now try to resolve as an absolute path
-				file = new File(path.toOSString());
-				url = file.toURL();
-			}
-		}
-		catch (MalformedURLException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-		return url;
-	}
-
-	public IPath getPath()
-	{
-		return path;
-	}
-
-	@Override
-	public String toString()
-	{
-		return path.toString();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorPreferences.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorPreferences.java
deleted file mode 100644
index 1f9bd1a..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorPreferences.java
+++ /dev/null
@@ -1,168 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorJar;
-import org.eclipse.wst.xsl.launching.ProcessorInstall;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.Text;
-
-public class ProcessorPreferences
-{
-	private String defaultProcessorId;
-	private List<IProcessorInstall> processors = new ArrayList<IProcessorInstall>();
-
-	public void setProcessors(List<IProcessorInstall> processors)
-	{
-		this.processors = processors;
-	}
-
-	public List<IProcessorInstall> getProcessors()
-	{
-		return processors;
-	}
-
-	public String getDefaultProcessorId()
-	{
-		return defaultProcessorId;
-	}
-
-	public void setDefaultProcessorId(String defaultProcessorId)
-	{
-		this.defaultProcessorId = defaultProcessorId;
-	}
-
-	public String getAsXML() throws ParserConfigurationException, IOException, TransformerException
-	{
-		Document doc = PreferenceUtil.getDocument();
-		Element config = doc.createElement("processorSettings"); 
-		doc.appendChild(config);
-
-		// Set the defaultVM attribute on the top-level node
-		if (defaultProcessorId != null)
-		{
-			config.setAttribute("defaultProcessor", defaultProcessorId); 
-		}
-
-		for (Iterator<IProcessorInstall> iter = processors.iterator(); iter.hasNext();)
-		{
-			IProcessorInstall install = (IProcessorInstall) iter.next();
-			if (!install.isContributed())
-			{
-				Element vmTypeElement = installAsElement(doc, install);
-				config.appendChild(vmTypeElement);
-			}
-		}
-
-		// Serialize the Document and return the resulting String
-		return PreferenceUtil.serializeDocument(doc);
-	}
-
-	public static ProcessorPreferences fromXML(InputStream inputStream) throws CoreException
-	{
-		ProcessorPreferences prefs = new ProcessorPreferences();
-
-		Document doc = PreferenceUtil.getDocument(inputStream);
-		Element config = doc.getDocumentElement();
-
-		// Populate the default VM-related fields
-		prefs.setDefaultProcessorId(config.getAttribute("defaultProcessor"));
-
-		List<IProcessorInstall> processors = new ArrayList<IProcessorInstall>();
-		// Traverse the parsed structure and populate the VMType to VM Map
-		Element[] processorEls = PreferenceUtil.getChildElements(config, "processor");
-		for (int i = 0; i < processorEls.length; ++i)
-		{
-			IProcessorInstall processor = elementAsInstall(processorEls[i]);
-			processors.add(processor);
-		}
-
-		prefs.setProcessors(processors);
-
-		return prefs;
-	}
-
-	private static IProcessorInstall elementAsInstall(Element parent)
-	{
-		String id = parent.getAttribute("id");
-		String label = parent.getAttribute("label");
-		String typeId = parent.getAttribute("type");
-		String supports = parent.getAttribute("supports");
-		String debuggerId = parent.getAttribute("debuggerId");
-
-		IProcessorJar[] jars = null;
-		Element[] jarsEls = PreferenceUtil.getChildElements(parent, "jars");
-		if (jarsEls.length == 1)
-		{
-			jars = elementAsJars(jarsEls[0]);
-		}
-		IProcessorInstall install = new ProcessorInstall(id, label, typeId, jars, debuggerId, supports, false);
-		return install;
-	}
-
-	private static Element installAsElement(Document doc, IProcessorInstall install)
-	{
-		Element element = doc.createElement("processor");
-		element.setAttribute("id", install.getId());
-		element.setAttribute("label", install.getName());
-		element.setAttribute("type", install.getProcessorType().getId());
-		element.setAttribute("supports", install.getSupports());
-		element.setAttribute("debuggerId", install.getDebugger() != null ? install.getDebugger().getId() : null);
-		element.appendChild(jarsAsElement(doc, install.getProcessorJars()));
-		return element;
-	}
-
-	private static IProcessorJar[] elementAsJars(Element element)
-	{
-		Element[] jarEls = PreferenceUtil.getChildElements(element, "jar");
-		List<ProcessorJar> jars = new ArrayList<ProcessorJar>(jarEls.length);
-		for (Element jarEl : jarEls)
-		{
-			Node node = jarEl.getFirstChild();
-			if (node != null && node.getNodeType() == Node.TEXT_NODE)
-			{
-				String path = ((Text) node).getNodeValue();
-				jars.add(new ProcessorJar(Path.fromPortableString(path)));
-			}
-		}
-		return (IProcessorJar[]) jars.toArray(new IProcessorJar[0]);
-	}
-
-	private static Element jarsAsElement(Document doc, IProcessorJar[] jars)
-	{
-		Element jarsEl = doc.createElement("jars"); 
-		for (IProcessorJar jar : jars)
-		{
-			if (jar != null && jar.getPath() != null)
-			{
-				Element jarEl = doc.createElement("jar");
-				Text text = doc.createTextNode(jar.getPath().toPortableString());
-				jarEl.appendChild(text);
-				jarsEl.appendChild(jarEl);
-			}
-		}
-		return jarsEl;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorType.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorType.java
deleted file mode 100644
index cccba25..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/ProcessorType.java
+++ /dev/null
@@ -1,217 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.xsl.launching.IFeature;
-import org.eclipse.wst.xsl.launching.IOutputProperty;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class ProcessorType implements IProcessorType
-{
-	private static final String DESC_SUFFIX = ".DESC";
-	private static final String TYPE_SUFFIX = ".TYPE";
-
-	private final String id;
-	private final String name;
-	private final String transFactoryName;
-	private final URL featurePropertiesURL;
-	private final URL outputPropertiesURL;
-
-	private IFeature[] features;
-	private IOutputProperty[] outputProperties;
-	private Properties outputPropertyValues;
-	private Map<String, String> featureValues;
-
-	public ProcessorType(String id, String name, URL featurePropertiesURL, URL outputPropertiesURL, Map<String, String> featureValues, Properties outputPropertyValues, String transFactoryName)
-	{
-		this.id = id;
-		this.name = name;
-		this.featurePropertiesURL = featurePropertiesURL;
-		this.outputPropertiesURL = outputPropertiesURL;
-		this.featureValues = featureValues;
-		this.transFactoryName = transFactoryName;
-		this.outputPropertyValues = outputPropertyValues;
-	}
-
-	public String getId()
-	{
-		return id;
-	}
-
-	public String getLabel()
-	{
-		return name;
-	}
-
-	public Map<String, String> getFeatureValues()
-	{
-		return featureValues;
-	}
-
-	public IFeature[] getFeatures()
-	{
-		if (features == null)
-		{
-			if (featurePropertiesURL != null)
-				features = loadFeatures();
-			else
-				features = new IFeature[0];
-		}
-		return features;
-	}
-
-	public Properties getOutputPropertyValues()
-	{
-		return outputPropertyValues;
-	}
-
-	public boolean isJREDefault()
-	{
-		return XSLTRuntime.JRE_DEFAULT_PROCESSOR_TYPE_ID.equals(id);
-	}
-
-	public String getTransformerFactoryName()
-	{
-		return transFactoryName;
-	}
-
-	public IOutputProperty[] getOutputProperties()
-	{
-		if (outputProperties == null)
-		{
-			if (outputPropertiesURL != null)
-				outputProperties = loadOutputProperties();
-			else
-				outputProperties = new IOutputProperty[0];
-		}
-		return outputProperties;
-	}
-
-	private IOutputProperty[] loadOutputProperties()
-	{
-		BufferedInputStream is = null;
-		List<OutputProperty> outputs = new ArrayList<OutputProperty>();
-		Properties props = new Properties();
-		try
-		{
-
-			is = new BufferedInputStream(outputPropertiesURL.openStream());
-			props.load(is);
-			for (Object element : props.keySet())
-			{
-				String key = (String) element;
-				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);
-						outputs.add(prop);
-					}
-					else
-					{
-						LaunchingPlugin.log(new CoreException(new Status(IStatus.WARNING, LaunchingPlugin.PLUGIN_ID, "Output properties file " + outputPropertiesURL
-								+ " not configured properly for key " + key)));
-					}
-				}
-			}
-		}
-		catch (IOException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-		finally
-		{
-			if (is != null)
-			{
-				try
-				{
-					is.close();
-				}
-				catch (IOException e)
-				{
-					LaunchingPlugin.log(e);
-				}
-			}
-		}
-		return (IOutputProperty[]) outputs.toArray(new IOutputProperty[0]);
-	}
-
-	private IFeature[] loadFeatures()
-	{
-		BufferedInputStream is = null;
-		List<Feature> featuresList = new ArrayList<Feature>();
-		try
-		{
-			is = new BufferedInputStream(featurePropertiesURL.openStream());
-			Properties props = new Properties();
-			props.load(is);
-
-			for (Object element : props.keySet())
-			{
-				String key = (String) element;
-				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)
-					{
-						Feature feature = new Feature(uri.trim(), type.trim(), desc);
-						featuresList.add(feature);
-					}
-					else
-					{
-						LaunchingPlugin.log(new CoreException(new Status(IStatus.WARNING, LaunchingPlugin.PLUGIN_ID, "Feature properties file " + featurePropertiesURL
-								+ " not configured properly for key " + key)));
-					}
-				}
-			}
-
-		}
-		catch (IOException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-		finally
-		{
-			if (is != null)
-			{
-				try
-				{
-					is.close();
-				}
-				catch (IOException e)
-				{
-					LaunchingPlugin.log(e);
-				}
-			}
-		}
-		IFeature[] features = (IFeature[]) featuresList.toArray(new IFeature[0]);
-		Arrays.sort(features);
-		return features;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLPropertyTester.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLPropertyTester.java
deleted file mode 100644
index 12dd6b3..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLPropertyTester.java
+++ /dev/null
@@ -1,21 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import org.eclipse.core.expressions.PropertyTester;
-
-public class XSLPropertyTester extends PropertyTester
-{
-	public boolean test(Object arg0, String arg1, Object[] arg2, Object arg3)
-	{
-		return true;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTLaunchConfigurationDelegate.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTLaunchConfigurationDelegate.java
deleted file mode 100644
index 6ba8f25..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTLaunchConfigurationDelegate.java
+++ /dev/null
@@ -1,449 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.ISourceLocator;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.jdt.launching.IVMRunner;
-import org.eclipse.jdt.launching.JavaLaunchDelegate;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-import org.eclipse.wst.xsl.launching.IDebugger;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorInvoker;
-import org.eclipse.wst.xsl.launching.IProcessorJar;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-import org.eclipse.wst.xsl.launching.config.LaunchHelper;
-import org.eclipse.wst.xsl.launching.model.IXSLConstants;
-import org.eclipse.wst.xsl.launching.model.XSLDebugTarget;
-
-public class XSLTLaunchConfigurationDelegate extends JavaLaunchDelegate implements IDebugEventSetListener
-{
-	private String mode;
-	private LaunchHelper launchHelper;
-	
-	private class XSLDebugEventSetListener implements IDebugEventSetListener
-	{
-		private ILaunch launch;
-
-		public XSLDebugEventSetListener(ILaunch launch)
-		{
-			this.launch = launch;
-		}
-		
-		public void handleDebugEvents(DebugEvent[] events)
-		{
-			for (DebugEvent debugEvent : events)
-			{
-				if (debugEvent.getSource() == launch.getProcesses()[0] && debugEvent.getKind() == DebugEvent.TERMINATE)
-				{
-					// remove self as listener
-					DebugPlugin.getDefault().removeDebugEventListener(this);
-					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(){
-								@Override
-								public void done()
-								{
-									openFileIfRequired();
-								}
-							});
-						}
-						catch (CoreException e)
-						{
-							LaunchingPlugin.log(e);
-						}
-					}
-					else
-					{
-						openFileIfRequired();
-					}
-				}
-			}
-		}
-
-		private void openFileIfRequired()
-		{
-			// TODO this is dirty - need to declare extension point and move the UI code into the UI plugin
-			if (launchHelper.getOpenFileOnCompletion())
-			{
-				PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable()
-				{
-					public void run()
-					{
-						// Open editor on new file.
-						IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-						try
-						{
-							File file = launchHelper.getTarget();
-							Path path = new Path(file.getAbsolutePath());
-							IFileStore filestore = EFS.getLocalFileSystem().getStore(path);
-							IDE.openEditorOnFileStore(dw.getActivePage(), filestore);
-						}
-						catch (PartInitException e)
-						{
-							LaunchingPlugin.log(e);
-						}
-					}
-				});
-			}
-		}
-	}
-
-	@Override
-	public synchronized void launch(ILaunchConfiguration configuration, final String mode, final ILaunch launch, IProgressMonitor monitor) throws CoreException
-	{
-		this.mode = mode;
-		launchHelper = new LaunchHelper(configuration);
-		launchHelper.save(getLaunchConfigFile());
-		DebugPlugin.getDefault().addDebugEventListener(new XSLDebugEventSetListener(launch));
-
-		// 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 = (ISourceLocator)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);
-				if (sourceElement == null)
-					sourceElement = configuredLocator.getSourceElement(stackFrame);
-				return sourceElement;
-			}});
-		
-		IDebugTarget target = new XSLDebugTarget(launch, launch.getProcesses()[0], launchHelper);
-		launch.addDebugTarget(target);
-	}
-
-	/**
-	 * Get the Java breakpoint and the XSL breakpoints
-	 */
-	@Override
-	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);
-		
-		return breakpoints;
-	}
-
-	@Override
-	public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException
-	{
-		if (mode.equals(ILaunchManager.DEBUG_MODE))
-		{
-			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 = LaunchingPlugin.getDefault().getPluginPreferences().getString(XSLLaunchConfigurationConstants.ATTR_DEFAULT_DEBUGGING_INSTALL_ID);
-						IProcessorInstall processor = XSLTRuntime.getProcessor(debuggingInstallId);
-
-						IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-						result[0] = MessageDialog.openQuestion(dw.getShell(), "XSLT Processor Debugger", "The " + install.getName() + " XSLT processor does not support debugging.\n"
-								+ "Would you like to debug using the default " + processor.getName() + " processor instead?");
-					}
-				});
-				return result[0];
-			}
-		}
-		return super.preLaunchCheck(configuration, mode, monitor);
-	}
-
-	@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);
-		return super.getVMRunner(configuration, mode);
-	}
-
-	private File getLaunchConfigFile()
-	{
-		IPath launchPath = Platform.getStateLocation(LaunchingPlugin.getDefault().getBundle()).append("launch");
-		File launchDir = launchPath.toFile();
-		if (!launchDir.exists())
-			launchDir.mkdir();
-		File featuresFile = new File(launchDir, "launch.xml");
-		return featuresFile;
-	}
-
-	@Override
-	public IPath getWorkingDirectoryPath(ILaunchConfiguration configuration) throws CoreException
-	{
-		String path = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR_WORKING_DIR, (String) null);
-		if (path != null)
-		{
-			path = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(path);
-			return new Path(path);
-		}
-		return null;
-	}
-
-	private IProcessorInvoker getProcessorInvokerDescriptor(ILaunchConfiguration configuration) throws CoreException
-	{
-		String invokerId = configuration.getAttribute(XSLLaunchConfigurationConstants.INVOKER_DESCRIPTOR, (String) null);
-		if (invokerId == null)
-			invokerId = "org.eclipse.wst.xsl.launching.jaxp.invoke";
-		return XSLTRuntime.getProcessorInvoker(invokerId);
-	}
-
-	public static IProcessorInstall getProcessorInstall(ILaunchConfiguration configuration, String mode) throws CoreException
-	{
-		IProcessorInstall install;
-		boolean useDefaultProcessor = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, true);
-		if (useDefaultProcessor)
-		{
-			install = XSLTRuntime.getDefaultProcessor();
-		}
-		else
-		{
-			String processorId = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR, "");
-			install = XSLTRuntime.getProcessor(processorId);
-		}
-		if (mode.equals(ILaunchManager.DEBUG_MODE) && install.getDebugger() == null)
-		{
-			String debuggingInstallId = LaunchingPlugin.getDefault().getPluginPreferences().getString(XSLLaunchConfigurationConstants.ATTR_DEFAULT_DEBUGGING_INSTALL_ID);
-			install = XSLTRuntime.getProcessor(debuggingInstallId);
-		}
-		return install;
-	}
-
-	@Override
-	public String getMainTypeName(ILaunchConfiguration configuration) throws CoreException
-	{
-		if (ILaunchManager.DEBUG_MODE.equals(mode))
-			return "org.eclipse.wst.xsl.debugger.DebugRunner";
-		return "org.eclipse.wst.xsl.invoker.Main";
-	}
-
-	@Override
-	public String getProgramArguments(ILaunchConfiguration configuration) throws CoreException
-	{
-		// classname, sourceurl, output file
-		IProcessorInvoker invoker = getProcessorInvokerDescriptor(configuration);
-		String clazz = invoker.getInvokerClassName();
-
-		StringBuffer sb = new StringBuffer();
-		sb.append(clazz);
-		sb.append(" ");
-		sb.append("\"" + getLaunchConfigFile().getAbsolutePath() + "\"");
-		sb.append(" ");
-		sb.append("\"" + launchHelper.getSource() + "\"");
-		sb.append(" ");
-		sb.append("\"" + launchHelper.getTarget().getAbsolutePath() + "\"");
-		if (ILaunchManager.DEBUG_MODE.equals(mode))
-		{
-			IProcessorInstall install = getProcessorInstall(configuration, mode);
-			if (install.getDebugger() != null)
-			{
-				IDebugger debugger = install.getDebugger();
-				String className = debugger.getClassName();
-				sb.append(" -debug ").append(className).append(" ");
-				sb.append(launchHelper.getRequestPort()).append(" ").append(launchHelper.getEventPort());
-			}
-		}
-
-		return sb.toString();
-	}
-
-	@Override
-	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())
-		{
-			invokerCP.add(entry);
-		}
-
-		// add the debugger...
-		IProcessorInstall install = getProcessorInstall(configuration, mode);
-		if (ILaunchManager.DEBUG_MODE.equals(mode) && install.getDebugger() != null)
-		{
-			String[] jars = install.getDebugger().getClassPath();
-			for (String jar : jars)
-			{
-				invokerCP.add(jar);
-			}
-		}
-
-		String[] invokerClasspath = (String[]) 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);
-
-		return classpath;
-	}
-
-	@Override
-	public String getVMArguments(ILaunchConfiguration configuration) throws CoreException
-	{
-		String vmargs = super.getVMArguments(configuration);
-
-		IProcessorInstall install = getProcessorInstall(configuration, mode);
-		if (install != null && !install.getProcessorType().isJREDefault())
-		{
-			// clear the endorsed dir
-			File tempDir = getEndorsedDir();
-			if (tempDir.exists())
-			{
-				File[] children = tempDir.listFiles();
-				for (File child : children)
-				{
-					child.delete();
-				}
-				tempDir.delete();
-			}
-			tempDir.mkdir();
-
-			// move the required jars to the endorsed dir
-			IProcessorJar[] jars = install.getProcessorJars();
-			for (int i = 0; i < jars.length; i++)
-			{
-				URL entry = jars[i].asURL();
-				if (entry == null)
-					throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, "Could not locate jar file " + jars[i], null));
-				File file = new File(tempDir, "END_" + i + ".jar");
-				moveFile(entry, file);
-			}
-			// add the endorsed dir
-			vmargs += " -Djava.endorsed.dirs=\"" + tempDir.getAbsolutePath() + "\"";
-			String tfactory = install.getProcessorType().getTransformerFactoryName();
-			if (tfactory != null)
-				vmargs += " -Djavax.xml.transform.TransformerFactory=" + install.getProcessorType().getTransformerFactoryName();
-		}
-		return vmargs;
-	}
-
-	private File getEndorsedDir()
-	{
-		IPath tempLocation = Platform.getStateLocation(LaunchingPlugin.getDefault().getBundle()).append("endorsed");
-		return tempLocation.toFile();
-	}
-
-	private static void moveFile(URL src, File target) throws CoreException
-	{
-		BufferedOutputStream bos = null;
-		BufferedInputStream bis = null;
-		try
-		{
-			bos = new BufferedOutputStream(new FileOutputStream(target));
-			bis = new BufferedInputStream(src.openStream());
-			while (bis.available() > 0)
-			{
-				int size = bis.available();
-				if (size > 1024)
-					size = 1024;
-				byte[] b = new byte[size];
-				bis.read(b, 0, b.length);
-				bos.write(b);
-			}
-		}
-		catch (IOException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, "Error copying url " + src + " to " + target, e));
-		}
-		finally
-		{
-			if (bis != null)
-			{
-				try
-				{
-					bis.close();
-				}
-				catch (IOException e)
-				{
-					LaunchingPlugin.log(e);
-				}
-			}
-			if (bos != null)
-			{
-				try
-				{
-					bos.close();
-				}
-				catch (IOException e)
-				{
-					LaunchingPlugin.log(e);
-				}
-			}
-		}
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTSourceLookupDirector.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTSourceLookupDirector.java
deleted file mode 100644
index ea3e73c..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTSourceLookupDirector.java
+++ /dev/null
@@ -1,22 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant;
-
-public class XSLTSourceLookupDirector extends AbstractSourceLookupDirector
-{
-	public void initializeParticipants()
-	{
-		addParticipants(new ISourceLookupParticipant[]{ new XSLTSourceLookupParticipant() });
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTSourceLookupParticipant.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTSourceLookupParticipant.java
deleted file mode 100644
index 2e23289..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTSourceLookupParticipant.java
+++ /dev/null
@@ -1,30 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant;
-import org.eclipse.wst.xsl.launching.model.XSLStackFrame;
-
-/**
- * Translate a stack frame into a source file name
- */
-public class XSLTSourceLookupParticipant extends AbstractSourceLookupParticipant
-{
-	public String getSourceName(Object object) throws CoreException
-	{
-		if (object instanceof XSLStackFrame)
-		{
-			return ((XSLStackFrame) object).getSourceName();
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTSourcePathComputerDelegate.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTSourcePathComputerDelegate.java
deleted file mode 100644
index ffeb698..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/XSLTSourcePathComputerDelegate.java
+++ /dev/null
@@ -1,105 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching;
-
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.config.LaunchPipeline;
-import org.eclipse.wst.xsl.launching.config.LaunchTransform;
-
-public class XSLTSourcePathComputerDelegate implements ISourcePathComputerDelegate
-{
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException
-	{
-		List<ISourceContainer> containers = new ArrayList<ISourceContainer>();
-
-		String sourceFileExpr = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null);
-		IPath sourceFile = getSubstitutedPath(sourceFileExpr);
-		LaunchPipeline pipeline = hydratePipeline(configuration);
-
-		// TODO have some way of knowing whether it is an IResource or not
-		containers.add(new DirectorySourceContainer(sourceFile, false));
-
-		for (Iterator<?> iter = pipeline.getTransformDefs().iterator(); iter.hasNext();)
-		{
-			LaunchTransform transform = (LaunchTransform) iter.next();
-			IPath path = transform.getPath();
-			ISourceContainer sourceContainer = null;
-			if (transform.getPathType().equals(LaunchTransform.RESOURCE_TYPE))
-			{
-				IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(path);
-				IContainer container = resource.getParent();
-				if (container.getType() == IResource.PROJECT)
-				{
-					sourceContainer = new ProjectSourceContainer((IProject) container, false);
-				}
-				else if (container.getType() == IResource.FOLDER)
-				{
-					sourceContainer = new FolderSourceContainer(container, false);
-				}
-			}
-			else
-			{
-				sourceContainer = new DirectorySourceContainer(path, false);
-			}
-			containers.add(sourceContainer);
-		}
-
-		// if (sourceContainer == null)
-		// {
-		// sourceContainer = new WorkspaceSourceContainer();
-		// }
-
-		return (ISourceContainer[]) containers.toArray(new ISourceContainer[0]);
-	}
-
-	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());
-			pipeline = LaunchPipeline.fromXML(inputStream);
-		}
-		return pipeline;
-	}
-
-	private static IPath getSubstitutedPath(String path) throws CoreException
-	{
-		if (path != null)
-		{
-			path = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(path);
-			return new Path(path);
-		}
-		return null;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/AbstractRegistryReader.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/AbstractRegistryReader.java
deleted file mode 100644
index 99076c2..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/AbstractRegistryReader.java
+++ /dev/null
@@ -1,125 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching.registry;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-
-public abstract class AbstractRegistryReader
-{
-	public static final String ATT_CLASS = "class";
-	public static final String TAG_DESCRIPTION = "description";
-
-	protected static void logError(IConfigurationElement element, String text)
-	{
-		IExtension extension = element.getDeclaringExtension();
-		StringBuffer buf = new StringBuffer();
-		buf.append("Plugin " + extension.getNamespaceIdentifier() + ", extension " + extension.getExtensionPointUniqueIdentifier());
-		buf.append("\n" + text);
-		LaunchingPlugin.log(new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.OK, buf.toString(), null)));
-	}
-
-	protected static void logMissingAttribute(IConfigurationElement element, String attributeName)
-	{
-		logError(element, "Required attribute '" + attributeName + "' not defined");
-	}
-
-	protected static void logMissingElement(IConfigurationElement element, String elementName)
-	{
-		logError(element, "Required sub element '" + elementName + "' not defined");
-	}
-
-	protected static void logUnknownElement(IConfigurationElement element)
-	{
-		logError(element, "Unknown extension tag found: " + element.getName());
-	}
-
-	public static IExtension[] orderExtensions(IExtension[] extensions)
-	{
-		IExtension[] sortedExtension = new IExtension[extensions.length];
-		System.arraycopy(extensions, 0, sortedExtension, 0, extensions.length);
-		Comparator<IExtension> comparer = new Comparator<IExtension>()
-		{
-			public int compare(IExtension arg0, IExtension arg1)
-			{
-				String s1 = arg0.getNamespaceIdentifier();
-				String s2 = arg1.getNamespaceIdentifier();
-				return s1.compareToIgnoreCase(s2);
-			}
-		};
-		Collections.sort(Arrays.asList(sortedExtension), comparer);
-		return sortedExtension;
-	}
-
-	protected abstract boolean readElement(IConfigurationElement element);
-
-	protected void readElementChildren(IConfigurationElement element)
-	{
-		readElements(element.getChildren());
-	}
-
-	protected void readElements(IConfigurationElement[] elements)
-	{
-		for (int i = 0; i < elements.length; i++)
-		{
-			if (!readElement(elements[i]))
-				logUnknownElement(elements[i]);
-		}
-	}
-
-	protected void readExtension(IExtension extension)
-	{
-		readElements(extension.getConfigurationElements());
-	}
-
-	public void readRegistry(IExtensionRegistry registry, String pluginId, String extensionPoint)
-	{
-		IExtensionPoint point = registry.getExtensionPoint(pluginId, extensionPoint);
-		if (point == null)
-			return;
-		IExtension[] extensions = point.getExtensions();
-		extensions = orderExtensions(extensions);
-		for (IExtension element : extensions)
-			readExtension(element);
-	}
-
-	public static String getDescription(IConfigurationElement configElement)
-	{
-		IConfigurationElement[] children = configElement.getChildren(TAG_DESCRIPTION);
-		if (children.length >= 1)
-		{
-			return children[0].getValue();
-		}
-		return "";
-	}
-
-	public static String getClassValue(IConfigurationElement configElement, String classAttributeName)
-	{
-		String className = configElement.getAttribute(classAttributeName);
-		if (className != null)
-			return className;
-		IConfigurationElement[] candidateChildren = configElement.getChildren(classAttributeName);
-		if (candidateChildren.length == 0)
-			return null;
-
-		return candidateChildren[0].getAttribute(ATT_CLASS);
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/DebuggerRegistry.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/DebuggerRegistry.java
deleted file mode 100644
index e8aaedc..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/DebuggerRegistry.java
+++ /dev/null
@@ -1,43 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching.registry;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.xsl.internal.launching.DebuggerDescriptor;
-import org.eclipse.wst.xsl.launching.IDebugger;
-
-public class DebuggerRegistry
-{
-	private final Map<String, DebuggerDescriptor> debuggers = new HashMap<String, DebuggerDescriptor>();
-
-	public DebuggerRegistry()
-	{
-		DebuggerRegistryReader registryReader = new DebuggerRegistryReader();
-		registryReader.addConfigs(this);
-	}
-
-	public IDebugger getDebugger(String id)
-	{
-		return (IDebugger) debuggers.get(id);
-	}
-
-	public IDebugger[] getDebuggers()
-	{
-		return (IDebugger[]) debuggers.values().toArray(new IDebugger[0]);
-	}
-
-	public void addDebugger(DebuggerDescriptor desc)
-	{
-		debuggers.put(desc.getId(), desc);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/DebuggerRegistryReader.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/DebuggerRegistryReader.java
deleted file mode 100644
index c2d0cc3..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/DebuggerRegistryReader.java
+++ /dev/null
@@ -1,95 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xsl.internal.launching.DebuggerDescriptor;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-
-public class DebuggerRegistryReader extends AbstractRegistryReader
-{
-	public static final String TAG_DEBUGGER = "debugger";
-	public static final String ATT_ID = "id";
-	public static final String ATT_CLASSNAME = "className";
-	public static final String ATT_CLASSPATH = "classpath";
-	public static final String ATT_NAME = "name";
-	public static final String ATT_PROCESSOR_TYPE_ID = "processorTypeId";
-
-	private DebuggerRegistry registry;
-
-	@Override
-	protected boolean readElement(IConfigurationElement element)
-	{
-		if (!element.getName().equals(TAG_DEBUGGER))
-			return false;
-
-		String id = element.getAttribute(ATT_ID);
-		if (id == null)
-		{
-			logMissingAttribute(element, ATT_ID);
-			return true;
-		}
-
-		String className = element.getAttribute(ATT_CLASSNAME);
-		if (className == null)
-		{
-			logMissingAttribute(element, ATT_CLASSNAME);
-			return true;
-		}
-
-		String classpath = element.getAttribute(ATT_CLASSPATH);
-		if (classpath == null)
-		{
-			logMissingAttribute(element, ATT_CLASSPATH);
-			return true;
-		}
-
-		String[] entries = classpath.split(";");
-		for (int i = 0; i < entries.length; i++)
-		{
-			String string = entries[i];
-			entries[i] = string.trim();
-		}
-
-		String name = element.getAttribute(ATT_NAME);
-		if (name == null)
-		{
-			logMissingAttribute(element, ATT_NAME);
-			return true;
-		}
-
-		String processorTypeId = element.getAttribute(ATT_PROCESSOR_TYPE_ID);
-		if (processorTypeId == null)
-		{
-			logMissingAttribute(element, ATT_PROCESSOR_TYPE_ID);
-			return true;
-		}
-
-		registry.addDebugger(new DebuggerDescriptor(id, element.getContributor().getName(), className, entries, name, processorTypeId));
-
-		return true;
-	}
-
-	public void readElement(DebuggerRegistry registry, IConfigurationElement element)
-	{
-		this.registry = registry;
-		readElement(element);
-	}
-
-	public void addConfigs(DebuggerRegistry registry)
-	{
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		this.registry = registry;
-		readRegistry(extensionRegistry, LaunchingPlugin.PLUGIN_ID, "debugger");
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/InvokerRegistry.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/InvokerRegistry.java
deleted file mode 100644
index 85bd7ea..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/InvokerRegistry.java
+++ /dev/null
@@ -1,42 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching.registry;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.wst.xsl.launching.IProcessorInvoker;
-
-public class InvokerRegistry
-{
-	private final Map<String, IProcessorInvoker> invokers = new HashMap<String, IProcessorInvoker>();
-
-	public InvokerRegistry()
-	{
-		InvokerRegistryReader registryReader = new InvokerRegistryReader();
-		registryReader.addConfigs(this);
-	}
-
-	public IProcessorInvoker getProcessorInvoker(String id)
-	{
-		return (IProcessorInvoker) invokers.get(id);
-	}
-
-	public IProcessorInvoker[] getProcessorInvokers()
-	{
-		return (IProcessorInvoker[]) invokers.values().toArray(new IProcessorInvoker[0]);
-	}
-
-	public void addInvokerDescriptor(IProcessorInvoker desc)
-	{
-		invokers.put(desc.getId(), desc);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/InvokerRegistryReader.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/InvokerRegistryReader.java
deleted file mode 100644
index 21481b2..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/InvokerRegistryReader.java
+++ /dev/null
@@ -1,79 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-import org.eclipse.wst.xsl.internal.launching.ProcessorInvokerDescriptor;
-
-public class InvokerRegistryReader extends AbstractRegistryReader
-{
-	public static final String TAG_INVOKE = "invoker";
-	public static final String ATT_ID = "id";
-	public static final String ATT_CLASS = "class";
-	public static final String ATT_CLASSPATH = "classpath";
-
-	private InvokerRegistry registry;
-
-	@Override
-	protected boolean readElement(IConfigurationElement element)
-	{
-		if (!element.getName().equals(TAG_INVOKE))
-			return false;
-
-		String id = element.getAttribute(ATT_ID);
-		if (id == null)
-		{
-			logMissingAttribute(element, ATT_ID);
-			return true;
-		}
-
-		String classname = element.getAttribute(ATT_CLASS);
-		if (classname == null)
-		{
-			logMissingAttribute(element, ATT_CLASS);
-			return true;
-		}
-
-		String classpath = element.getAttribute(ATT_CLASSPATH);
-		if (classpath == null)
-		{
-			logMissingAttribute(element, ATT_CLASSPATH);
-			return true;
-		}
-
-		String[] entries = classpath.split(";");
-		for (int i = 0; i < entries.length; i++)
-		{
-			String string = entries[i];
-			entries[i] = string.trim();
-		}
-
-		registry.addInvokerDescriptor(new ProcessorInvokerDescriptor(id, element.getContributor().getName(), classname, entries));
-
-		return true;
-	}
-
-	public void readElement(InvokerRegistry registry, IConfigurationElement element)
-	{
-		this.registry = registry;
-		readElement(element);
-	}
-
-	public void addConfigs(InvokerRegistry registry)
-	{
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		this.registry = registry;
-		readRegistry(extensionRegistry, LaunchingPlugin.PLUGIN_ID, "invoke");
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorRegistry.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorRegistry.java
deleted file mode 100644
index 57a72a1..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorRegistry.java
+++ /dev/null
@@ -1,181 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching.registry;
-
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-import org.eclipse.wst.xsl.internal.launching.ProcessorPreferences;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorJar;
-import org.eclipse.wst.xsl.launching.ProcessorInstall;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class ProcessorRegistry
-{
-	private final List<ProcessorInstall> contributedInstalls = new ArrayList<ProcessorInstall>();
-	private List<IProcessorInstall> userInstalls = new ArrayList<IProcessorInstall>();
-	private IProcessorInstall defaultProcessor;
-	private IProcessorInstall jreDefaultProcessor;
-	private IProcessorInstall[] installs;
-
-	public ProcessorRegistry()
-	{
-		initializeFromStorage();
-	}
-
-	private void initializeFromStorage()
-	{
-		// read from the registry
-		ProcessorRegistryReader registryReader = new ProcessorRegistryReader();
-		registryReader.addConfigs(this);
-		// find the jre default
-		for (Iterator<ProcessorInstall> iter = contributedInstalls.iterator(); iter.hasNext();)
-		{
-			IProcessorInstall install = (IProcessorInstall) iter.next();
-			if (install.getId().equals(XSLTRuntime.JRE_DEFAULT_PROCESSOR_ID))
-			{
-				jreDefaultProcessor = install;
-				break;
-			}
-		}
-		// read from the preferences
-		addPersistedVMs();
-	}
-
-	private void addPersistedVMs()
-	{
-		// Try retrieving the VM preferences from the preference store
-		String vmXMLString = LaunchingPlugin.getDefault().getPluginPreferences().getString(XSLTRuntime.PREF_PROCESSOR_XML);
-
-		// If the preference was found, load VMs from it into memory
-		if (vmXMLString.length() > 0)
-		{
-			try
-			{
-				ByteArrayInputStream inputStream = new ByteArrayInputStream(vmXMLString.getBytes());
-				ProcessorPreferences prefs = ProcessorPreferences.fromXML(inputStream);
-				String defaultProcessorId = prefs.getDefaultProcessorId();
-				userInstalls = prefs.getProcessors();
-				for (Iterator<IProcessorInstall> iter = userInstalls.iterator(); iter.hasNext();)
-				{
-					IProcessorInstall install = (IProcessorInstall) iter.next();
-					if (install.getId().equals(defaultProcessorId))
-					{
-						defaultProcessor = install;
-					}
-				}
-				if (defaultProcessor == null)
-				{
-					for (Iterator<ProcessorInstall> iter = contributedInstalls.iterator(); iter.hasNext();)
-					{
-						IProcessorInstall install = (IProcessorInstall) iter.next();
-						if (defaultProcessor == null && install.getId().equals(defaultProcessorId))
-						{
-							defaultProcessor = install;
-						}
-					}
-				}
-			}
-			catch (CoreException e)
-			{
-				LaunchingPlugin.log(e);
-			}
-		}
-		// make the JRE the default default
-		if (defaultProcessor == null)
-		{
-			defaultProcessor = jreDefaultProcessor;
-		}
-	}
-
-	public void addProcessor(String bundleId, String id, String label, String processorTypeId, String classpath, String debuggerId, String supports)
-	{
-		IProcessorJar[] jars = ProcessorInstall.createJars(bundleId, classpath);
-		contributedInstalls.add(new ProcessorInstall(id, label, processorTypeId, jars, debuggerId, supports, true));
-	}
-
-	public void addProcessor(IProcessorInstall install)
-	{
-		if (!install.isContributed())
-			userInstalls.add(install);
-		IProcessorInstall[] newinstalls = new IProcessorInstall[installs.length + 1];
-		System.arraycopy(installs, 0, newinstalls, 0, installs.length);
-		newinstalls[installs.length] = install;
-		installs = newinstalls;
-	}
-
-	public void removeProcessor(int index)
-	{
-		IProcessorInstall removed = installs[index];
-		if (!removed.isContributed())
-			userInstalls.remove(removed);
-		IProcessorInstall[] newinstalls = new IProcessorInstall[installs.length - 1];
-		System.arraycopy(installs, 0, newinstalls, 0, index);
-		System.arraycopy(installs, index + 1, newinstalls, index, newinstalls.length - index);
-		installs = newinstalls;
-	}
-
-	public IProcessorInstall[] getProcessors()
-	{
-		if (installs == null)
-		{
-			installs = new IProcessorInstall[contributedInstalls.size() + userInstalls.size()];
-			int startIndex = 0;
-			for (int i = 0; i < contributedInstalls.size(); i++)
-			{
-				installs[i] = (IProcessorInstall) contributedInstalls.get(i);
-				startIndex = i + 1;
-			}
-			for (int i = 0; i < userInstalls.size(); i++)
-			{
-				installs[startIndex + i] = (IProcessorInstall) userInstalls.get(i);
-			}
-		}
-		return installs;
-	}
-
-	public IProcessorInstall[] getProcessors(String id)
-	{
-		IProcessorInstall[] installs = getProcessors();
-		List<IProcessorInstall> result = new ArrayList<IProcessorInstall>();
-		for (IProcessorInstall type : installs)
-		{
-			if (type.getProcessorType().getId().equals(id))
-				result.add(type);
-		}
-		return (IProcessorInstall[]) result.toArray(new IProcessorInstall[0]);
-	}
-
-	public void setDefaultProcessor(IProcessorInstall defaultInstall)
-	{
-		defaultProcessor = defaultInstall;
-	}
-
-	public IProcessorInstall getDefaultProcessor()
-	{
-		return defaultProcessor;
-	}
-
-	public IProcessorInstall getJREDefaultProcessor()
-	{
-		return jreDefaultProcessor;
-	}
-
-	public IProcessorInstall[] getContributedProcessors()
-	{
-		return (IProcessorInstall[]) contributedInstalls.toArray(new IProcessorInstall[0]);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorRegistryReader.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorRegistryReader.java
deleted file mode 100644
index 67ada8a..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorRegistryReader.java
+++ /dev/null
@@ -1,90 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-
-public class ProcessorRegistryReader extends AbstractRegistryReader
-{
-	public static final String TAG_processor = "processor";
-	public static final String ATT_ID = "id";
-	public static final String ATT_LABEL = "label";
-	public static final String ATT_TYPE_ID = "processorTypeId";
-	public static final String ATT_DEBUGGER_ID = "debuggerId";
-	public static final String ATT_CLASSPATH = "classpath";
-	public static final String ATT_SUPPORTS = "supports";
-
-	private ProcessorRegistry registry;
-
-	@Override
-	protected boolean readElement(IConfigurationElement element)
-	{
-		if (!element.getName().equals(TAG_processor))
-			return false;
-
-		String id = element.getAttribute(ATT_ID);
-		if (id == null)
-		{
-			logMissingAttribute(element, ATT_ID);
-			return true;
-		}
-
-		String label = element.getAttribute(ATT_LABEL);
-		if (label == null)
-		{
-			logMissingAttribute(element, ATT_LABEL);
-			return true;
-		}
-
-		String processorTypeId = element.getAttribute(ATT_TYPE_ID);
-		if (processorTypeId == null)
-		{
-			logMissingAttribute(element, ATT_TYPE_ID);
-			return true;
-		}
-
-		String classpath = element.getAttribute(ATT_CLASSPATH);
-		if (classpath == null)
-		{
-			logMissingAttribute(element, ATT_CLASSPATH);
-			return true;
-		}
-
-		String debuggerId = element.getAttribute(ATT_DEBUGGER_ID);
-
-		String supports = element.getAttribute(ATT_SUPPORTS);
-		if (classpath == null)
-		{
-			logMissingAttribute(element, ATT_SUPPORTS);
-			return true;
-		}
-
-		registry.addProcessor(element.getContributor().getName(), id, label, processorTypeId, classpath, debuggerId, supports);
-
-		return true;
-	}
-
-	public void readElement(ProcessorRegistry registry, IConfigurationElement element)
-	{
-		this.registry = registry;
-		readElement(element);
-	}
-
-	public void addConfigs(ProcessorRegistry registry)
-	{
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		this.registry = registry;
-		readRegistry(extensionRegistry, LaunchingPlugin.PLUGIN_ID, "processor");
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorTypeRegistry.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorTypeRegistry.java
deleted file mode 100644
index d45a694..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorTypeRegistry.java
+++ /dev/null
@@ -1,137 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching.registry;
-
-import java.io.ByteArrayInputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xsl.internal.launching.FeaturePreferences;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-import org.eclipse.wst.xsl.internal.launching.OutputPropertyPreferences;
-import org.eclipse.wst.xsl.internal.launching.ProcessorType;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-
-public class ProcessorTypeRegistry
-{
-	protected static final String DESC_SUFFIX = ".DESC";
-	protected static final String TYPE_SUFFIX = ".TYPE";
-
-	private final List<IConfigurationElement> elements = new ArrayList<IConfigurationElement>();
-	private IProcessorType[] installTypes;
-
-	public ProcessorTypeRegistry()
-	{
-		ProcessorTypeRegistryReader registryReader = new ProcessorTypeRegistryReader();
-		registryReader.addConfigs(this);
-	}
-
-	public IProcessorType[] getProcessorTypes()
-	{
-		if (installTypes == null)
-		{
-			List<ProcessorType> types = new ArrayList<ProcessorType>();
-			String featureXMLString = LaunchingPlugin.getDefault().getPluginPreferences().getString(XSLTRuntime.PREF_FEATURE_XML);
-			// If the preference was found, load VMs from it into memory
-			FeaturePreferences prefs = null;
-			if (featureXMLString.length() > 0)
-			{
-				try
-				{
-					ByteArrayInputStream inputStream = new ByteArrayInputStream(featureXMLString.getBytes());
-					prefs = FeaturePreferences.fromXML(inputStream);
-				}
-				catch (CoreException e)
-				{
-					LaunchingPlugin.log(e);
-				}
-			}
-
-			String propXMLString = LaunchingPlugin.getDefault().getPluginPreferences().getString(XSLTRuntime.PREF_OUTPUT_PROPERTIES_XML);
-			// If the preference was found, load VMs from it into memory
-			OutputPropertyPreferences outputprefs = null;
-			if (propXMLString.length() > 0)
-			{
-				try
-				{
-					ByteArrayInputStream inputStream = new ByteArrayInputStream(propXMLString.getBytes());
-					outputprefs = OutputPropertyPreferences.fromXML(inputStream);
-				}
-				catch (CoreException e)
-				{
-					LaunchingPlugin.log(e);
-				}
-			}
-
-			for (Iterator<IConfigurationElement> iter = elements.iterator(); iter.hasNext();)
-			{
-				IConfigurationElement element = (IConfigurationElement) iter.next();
-				String id = element.getAttribute(ProcessorTypeRegistryReader.ATT_ID);
-				String label = element.getAttribute(ProcessorTypeRegistryReader.ATT_LABEL);
-				String transFactoryName = element.getAttribute(ProcessorTypeRegistryReader.ATT_TRANSFORMER_FACTORY_NAME);
-				Map<String, String> featureValues = new HashMap<String, String>();
-				Properties propertyValues = new Properties();
-				if (prefs != null && prefs.getFeaturesValues(id) != null)
-					featureValues.putAll(prefs.getFeaturesValues(id));
-				if (outputprefs != null && outputprefs.getOutputPropertyValues(id) != null)
-					propertyValues.putAll(outputprefs.getOutputPropertyValues(id));
-
-				String outputProperties = element.getAttribute(ProcessorTypeRegistryReader.ATT_OUTPUT_PROPERTIES);
-				URL outputPropertiesURL = FileLocator.find(Platform.getBundle(element.getContributor().getName()), new Path(outputProperties), null);
-				String featureProperties = element.getAttribute(ProcessorTypeRegistryReader.ATT_FEATURE_PROPERTIES);
-				URL featurePropertiesURL = FileLocator.find(Platform.getBundle(element.getContributor().getName()), new Path(featureProperties), null);
-				
-				types.add(new ProcessorType(id, label, featurePropertiesURL, outputPropertiesURL, featureValues, propertyValues, transFactoryName));
-			}
-			installTypes = (IProcessorType[]) types.toArray(new IProcessorType[0]);
-		}
-		return installTypes;
-	}
-
-	public IProcessorType[] getProcessorTypesExclJREDefault()
-	{
-		IProcessorType[] installTypes = getProcessorTypes();
-		List<IProcessorType> exclTypes = new ArrayList<IProcessorType>(installTypes.length - 1);
-		for (IProcessorType type : installTypes)
-		{
-			if (!type.isJREDefault())
-				exclTypes.add(type);
-		}
-		return (IProcessorType[]) exclTypes.toArray(new IProcessorType[0]);
-	}
-
-	public void addType(IConfigurationElement element)
-	{
-		elements.add(element);
-	}
-
-	public IProcessorType getProcessorType(String id)
-	{
-		IProcessorType[] installTypes = getProcessorTypes();
-		for (IProcessorType type : installTypes)
-		{
-			if (type.getId().equals(id))
-				return type;
-		}
-		return null;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorTypeRegistryReader.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorTypeRegistryReader.java
deleted file mode 100644
index 82f767c..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/internal/launching/registry/ProcessorTypeRegistryReader.java
+++ /dev/null
@@ -1,80 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.launching.registry;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-
-public class ProcessorTypeRegistryReader extends AbstractRegistryReader
-{
-	public static final String TAG_processorType = "processorType";
-	public static final String ATT_ID = "id";
-	public static final String ATT_LABEL = "label";
-	public static final String ATT_TRANSFORMER_FACTORY_NAME = "transformerFactory";
-	public static final String ATT_OUTPUT_PROPERTIES = "outputProperties";
-	public static final String ATT_FEATURE_PROPERTIES = "featureProperties";
-
-	private ProcessorTypeRegistry registry;
-
-	@Override
-	protected boolean readElement(IConfigurationElement element)
-	{
-		if (!element.getName().equals(TAG_processorType))
-			return false;
-
-		String id = element.getAttribute(ATT_ID);
-		if (id == null)
-		{
-			logMissingAttribute(element, ATT_ID);
-			return true;
-		}
-
-		String label = element.getAttribute(ATT_LABEL);
-		if (label == null)
-		{
-			logMissingAttribute(element, ATT_LABEL);
-			return true;
-		}
-
-		String outputProperties = element.getAttribute(ATT_OUTPUT_PROPERTIES);
-		if (outputProperties == null)
-		{
-			logMissingAttribute(element, ATT_OUTPUT_PROPERTIES);
-			return true;
-		}
-
-		String featureProperties = element.getAttribute(ATT_FEATURE_PROPERTIES);
-		if (featureProperties == null)
-		{
-			logMissingAttribute(element, ATT_FEATURE_PROPERTIES);
-			return true;
-		}
-
-		registry.addType(element);
-
-		return true;
-	}
-
-	public void readElement(ProcessorTypeRegistry registry, IConfigurationElement element)
-	{
-		this.registry = registry;
-		readElement(element);
-	}
-
-	protected void addConfigs(ProcessorTypeRegistry registry)
-	{
-		IExtensionRegistry extensionRegistry = Platform.getExtensionRegistry();
-		this.registry = registry;
-		readRegistry(extensionRegistry, LaunchingPlugin.PLUGIN_ID, "processorType");
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IDebugger.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IDebugger.java
deleted file mode 100644
index de47be9..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IDebugger.java
+++ /dev/null
@@ -1,50 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-/**
- * An XSLT debugger. Typically this will have been 
- * contributed via the <code>org.eclipse.wst.xsl.launching.debugger</code> extension point.
- * 
- * @author Doug Satchwell
- */
-public interface IDebugger
-{
-	/**
-	 * Get the unique id for this debugger.
-	 * @return debugger id
-	 */
-	String getId();
-
-	/**
-	 * Get the set of bundle-relative jar files to add to the classpath. 
-	 * @return array of bundle-relative jars
-	 */
-	String[] getClassPath();
-
-	/**
-	 * Get a unique name for this debugger
-	 * @return the name for the debugger
-	 */
-	String getName();
-
-	/**
-	 * Get the processor type that this debugger is associated with
-	 * @return the processor type
-	 */
-	IProcessorType getProcessorType();
-
-	/**
-	 * Get the class name for this debugger
-	 * @return the class name
-	 */
-	String getClassName();
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IFeature.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IFeature.java
deleted file mode 100644
index f4d893c..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IFeature.java
+++ /dev/null
@@ -1,89 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-import org.eclipse.core.runtime.IStatus;
-
-/**
- * A feature supported by an XSLT processor. 
- * 
- * @author Doug Satchwell
- */
-public interface IFeature
-{
-	/**
-	 * Constant for features of type <code>string</code>
-	 * @see #getType()
-	 */
-	String TYPE_STRING = "string";
-	
-	/**
-	 * Constant for features of type <code>boolean</code>
-	 * @see #getType()
-	 */
-	String TYPE_BOOLEAN = "boolean";
-	
-	/**
-	 * Constant for features of type <code>int</code>
-	 * @see #getType()
-	 */
-	String TYPE_INT = "int";
-	
-	/**
-	 * Constant for features of type <code>double</code>
-	 * @see #getType()
-	 */
-	String TYPE_DOUBLE = "double";
-	
-	/**
-	 * Constant for features of type <code>float</code>
-	 * @see #getType()
-	 */
-	String TYPE_FLOAT = "float";
-	
-	/**
-	 * Constant for features of type <code>class</code>
-	 * @see #getType()
-	 */
-	String TYPE_CLASS = "class";
-	
-	/**
-	 * Constant for features of type <code>object</code>
-	 * @see #getType()
-	 */
-	String TYPE_OBJECT = "object";
-
-	/**
-	 * Get the URI for this feature
-	 * @return the feature URI
-	 */
-	String getURI();
-
-	/**
-	 * Get a description for this feature
-	 * @return the feature description
-	 */
-	String getDescription();
-
-	/**
-	 * Get the type of this feature. Will match one of the TYPE constants in this interface.
-	 * @return the feature type: one of <code>TYPE_STRING</code>, <code>TYPE_BOOLEAN</code>, 
-	 * <code>TYPE_INT</code>, <code>TYPE_DOUBLE</code>, <code>TYPE_FLOAT</code>, <code>TYPE_CLASS</code>, 
-	 * or <code>TYPE_OBJECT</code>
-	 */
-	String getType();
-
-	/**
-	 * Determine whether the given value is a valid one for this feature.
-	 * @return an <code>IStatus</code> with severity <code>OK</code> if valid, or <code>ERROR</code> if invalid.
-	 */
-	IStatus validateValue(String value);
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IOutputProperty.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IOutputProperty.java
deleted file mode 100644
index 4e3ebe5..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IOutputProperty.java
+++ /dev/null
@@ -1,31 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-/**
- * An output property supported by an XSLT processor. 
- * 
- * @author Doug Satchwell
- */
-public interface IOutputProperty
-{
-	/**
-	 * Get the URI of this output property. 
-	 * @return a unique URI
-	 */
-	String getURI();
-
-	/**
-	 * Get a description for this output property. 
-	 * @return a description
-	 */
-	String getDescription();
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorInstall.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorInstall.java
deleted file mode 100644
index 12e70e6..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorInstall.java
+++ /dev/null
@@ -1,69 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-/**
- * An instance of an XSLT processor (e.g. Xalan 2.7.0).
- * 
- * @see IProcessorInstall
- * @author Doug Satchwell
- */
-public interface IProcessorInstall
-{
-	/**
-	 * Get the unqiue id of this install
-	 * @return the unique id
-	 */
-	String getId();
-
-	/**
-	 * Get the name of this install
-	 * @return the name of this install
-	 */
-	String getName();
-
-	/**
-	 * Get the the processor type associated with this install
-	 * @return the processor type id
-	 */
-	IProcessorType getProcessorType();
-
-	/**
-	 * Get the jar files for this processor
-	 * @return a set of jar files
-	 */
-	IProcessorJar[] getProcessorJars();
-
-	/**
-	 * Get whether this install has been contributed via the <code>org.eclipse.wst.xsl.launching.processor</code> extension point.
-	 * @return <code>true</code> if contributed via the extension point, otherwise <code>false</code>.
-	 */
-	boolean isContributed();
-
-	/**
-	 * Get the list of supported XSLT versions
-	 * @return <code>true</code> if this install has a debugger, otherwise <code>false</code>.
-	 */
-	// TODO deprecate and use boolean supports instaed
-	String getSupports();
-
-	/**
-	 * Get whether this install supports the specified xslt version.
-	 * @return <code>true</code> if this install supports the version, otherwise <code>false</code>.
-	 */
-	boolean supports(String xsltVersion);
-
-	/**
-	 * Get the debugger associated with this install
-	 * @return the debugger, or null if no debugger has been set
-	 */
-	IDebugger getDebugger();
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorInvoker.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorInvoker.java
deleted file mode 100644
index 587e440..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorInvoker.java
+++ /dev/null
@@ -1,20 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-public interface IProcessorInvoker
-{
-	String getId();
-
-	String getInvokerClassName();
-
-	String[] getClasspathEntries();
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorJar.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorJar.java
deleted file mode 100644
index f02dc5a..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorJar.java
+++ /dev/null
@@ -1,36 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.IPath;
-
-/**
- * A jar file for an XSLT processor
- * 
- * @see IProcessorInstall
- * @author Doug Satchwell
- */
-public interface IProcessorJar
-{
-	/**
-	 * The path may be relative or absolute; in the workspace or external.
-	 * @return the path to this jar
-	 */
-	IPath getPath();
-
-	/**
-	 * The URL will always be absolute and can be opened.
-	 * @return a URL to the jar
-	 */
-	URL asURL();
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorType.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorType.java
deleted file mode 100644
index a518a13..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/IProcessorType.java
+++ /dev/null
@@ -1,39 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-import java.util.Map;
-import java.util.Properties;
-
-/**
- * A particular type of XSLT Processor (e.g. Xalan) for which there may be any number of installs.
- * 
- * @see IProcessorInstall
- * @author Doug Satchwell
- */
-public interface IProcessorType
-{
-	String getId();
-
-	String getLabel();
-
-	boolean isJREDefault();
-
-	String getTransformerFactoryName();
-
-	IFeature[] getFeatures();
-
-	Map<String, String> getFeatureValues();
-
-	IOutputProperty[] getOutputProperties();
-
-	Properties getOutputPropertyValues();
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/ProcessorInstall.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/ProcessorInstall.java
deleted file mode 100644
index c6a5c04..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/ProcessorInstall.java
+++ /dev/null
@@ -1,126 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.wst.xsl.internal.launching.PluginProcessorJar;
-
-public class ProcessorInstall implements IProcessorInstall
-{
-	private final String id;
-	private String name;
-	private String type;
-	private IProcessorJar[] jars;
-	private final boolean contributed;
-	private String debuggerId;
-	private String supports;
-
-	public ProcessorInstall(String id, String label, String typeId, IProcessorJar[] jars, String debuggerId, String supports, boolean contributed)
-	{
-		this.id = id;
-		name = label;
-		type = typeId;
-		this.debuggerId = debuggerId;
-		this.contributed = contributed;
-		this.jars = jars;
-		this.supports = supports;
-	}
-
-	public String getId()
-	{
-		return id;
-	}
-
-	public String getName()
-	{
-		return name;
-	}
-
-	public void setName(String name)
-	{
-		this.name = name;
-	}
-
-	public IProcessorJar[] getProcessorJars()
-	{
-		return jars;
-	}
-
-	public void setProcessorJars(IProcessorJar[] jars)
-	{
-		this.jars = jars;
-	}
-
-	public String getProcessorTypeId()
-	{
-		return type;
-	}
-
-	public IProcessorType getProcessorType()
-	{
-		return XSLTRuntime.getProcessorType(type);
-	}
-
-	public void setProcessorTypeId(String id)
-	{
-		type = id;
-	}
-
-	public boolean isContributed()
-	{
-		return contributed;
-	}
-
-	public static IProcessorJar[] createJars(String bundleId, String classpath)
-	{
-		IProcessorJar[] jars;
-		if (classpath == null)
-			return new IProcessorJar[0];
-		String[] jarstring = classpath.split(";");
-		jars = new IProcessorJar[jarstring.length];
-		for (int i = 0; i < jarstring.length; i++)
-		{
-			String jar = jarstring[i];
-			jars[i] = new PluginProcessorJar(bundleId, new Path(jar));
-		}
-		return jars;
-	}
-
-	public boolean hasDebugger()
-	{
-		return debuggerId != null;
-	}
-
-	public boolean supports(String xsltVersion)
-	{
-		return supports.indexOf(xsltVersion) >= 0;
-	}
-
-	public String getSupports()
-	{
-		return supports;
-	}
-
-	public void setSupports(String supports)
-	{
-		this.supports = supports;
-	}
-
-	public IDebugger getDebugger()
-	{
-		return XSLTRuntime.getDebugger(debuggerId);
-	}
-
-	public void setDebuggerId(String debuggerId)
-	{
-		this.debuggerId = debuggerId;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/XSLLaunchConfigurationConstants.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/XSLLaunchConfigurationConstants.java
deleted file mode 100644
index 8530fb2..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/XSLLaunchConfigurationConstants.java
+++ /dev/null
@@ -1,45 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-
-public class XSLLaunchConfigurationConstants
-{
-	public static final String INVOKER_DESCRIPTOR = LaunchingPlugin.PLUGIN_ID + ".INVOKER_DESCRIPTOR";
-	public static final String ATTR_PROCESSOR = LaunchingPlugin.PLUGIN_ID + ".ATTR_PROCESSOR";
-	public static final String ATTR_LAUNCH_TYPE = LaunchingPlugin.PLUGIN_ID + ".ATTR_LAUNCH_TYPE";
-	public static final String ATTR_BASE_URI_TYPE = LaunchingPlugin.PLUGIN_ID + ".ATTR_BASE_URI_TYPE";
-	public static final String ATTR_BASE_URI_DIRECTORY = LaunchingPlugin.PLUGIN_ID + ".ATTR_BASE_URI_DIRECTORY";
-	public static final String ATTR_PROJECT_NAME = LaunchingPlugin.PLUGIN_ID + ".ATTR_PROJECT_NAME";
-	public static final String ATTR_INPUT_FILE = LaunchingPlugin.PLUGIN_ID + ".ATTR_INPUT_FILE";
-	public static final String ATTR_OUTPUT_FILE = LaunchingPlugin.PLUGIN_ID + ".ATTR_OUTPUT_FILE";
-	public static final String ATTR_OUTPUT_METHOD = LaunchingPlugin.PLUGIN_ID + ".ATTR_OUTPUT_METHOD";
-	public static final String ATTR_OUTPUT_PROPERTIES = LaunchingPlugin.PLUGIN_ID + ".ATTR_OUTPUT_PROPERTIES";
-	public static final String ATTR_STYLESHEETS_LIST = LaunchingPlugin.PLUGIN_ID + ".ATTR_STYLESHEETS_LIST";
-	public static final String ATTR_RENDER_TO = LaunchingPlugin.PLUGIN_ID + ".ATTR_RENDER_TO";
-	public static final String ID_LAUNCH_CONFIG_TYPE = LaunchingPlugin.PLUGIN_ID + ".launchConfigurationType";
-	public static final String ATTR_PERFORM_RENDER = LaunchingPlugin.PLUGIN_ID + ".ATTR_PERFORM_RENDER";
-	public static final String ATTR_USE_DEFAULT_OUTPUT_FILE = LaunchingPlugin.PLUGIN_ID + ".ATTR_USE_DEFAULT_OUTPUT_FILE";
-	public static final String ATTR_OPEN_FILE = LaunchingPlugin.PLUGIN_ID + ".ATTR_OPEN_FILE";
-	public static final String ATTR_PROCESSOR_WORKING_DIR = LaunchingPlugin.PLUGIN_ID + ".ATTR_PROCESSOR_WORKING_DIR";
-	public static final String ATTR_USE_DEFAULT_PROCESSOR_WORKING_DIR = LaunchingPlugin.PLUGIN_ID + ".ATTR_USE_DEFAULT_PROCESSOR_WORKING_DIR";
-	public static final String ATTR_USE_DEFAULT_PROCESSOR = LaunchingPlugin.PLUGIN_ID + ".ATTR_USE_DEFAULT_PROCESSOR";
-	public static final String ATTR_USE_FEATURES_FROM_PREFERENCES = LaunchingPlugin.PLUGIN_ID + ".ATTR_USE_FEATURES_FROM_PREFERENCES";
-	public static final String ATTR_USE_PROPERTIES_FROM_PREFERENCES = LaunchingPlugin.PLUGIN_ID + ".ATTR_USE_PROPERTIES_FROM_PREFERENCES";
-	public static final String ATTR_JRE_DEFAULT_TYPE_TYPE = ".ATTR_JRE_DEFAULT_TYPE_TYPE";
-	public static final String ATTR_FEATURES = LaunchingPlugin.PLUGIN_ID + ".ATTR_FEATURES";
-	public static final String ATTR_PIPELINE = LaunchingPlugin.PLUGIN_ID + ".ATTR_PIPELINE";
-	public static final String ATTR_DEFAULT_DEBUGGING_INSTALL_ID = LaunchingPlugin.PLUGIN_ID + ".ATTR_DEFAULT_DEBUGGING_INSTALL_ID";;
-
-	public static final String XALAN_TYPE_ID = "org.eclipse.wst.xsl.xalan.processorType";
-	public static final String SAXONB_TYPE_ID = "org.eclipse.wst.xsl.saxon.processorType";
-}
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
deleted file mode 100644
index 31d9f68..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/XSLTRuntime.java
+++ /dev/null
@@ -1,358 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.wst.xsl.internal.launching.FeaturePreferences;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-import org.eclipse.wst.xsl.internal.launching.OutputPropertyPreferences;
-import org.eclipse.wst.xsl.internal.launching.ProcessorJar;
-import org.eclipse.wst.xsl.internal.launching.ProcessorPreferences;
-import org.eclipse.wst.xsl.internal.launching.registry.DebuggerRegistry;
-import org.eclipse.wst.xsl.internal.launching.registry.InvokerRegistry;
-import org.eclipse.wst.xsl.internal.launching.registry.ProcessorRegistry;
-import org.eclipse.wst.xsl.internal.launching.registry.ProcessorTypeRegistry;
-
-public class XSLTRuntime
-{
-	public static final String PREF_PROCESSOR_XML = "PREF_PROCESSOR_XML";
-	public static final String PREF_FEATURE_XML = "PREF_FEATURE_XML";
-	public static final String PREF_OUTPUT_PROPERTIES_XML = "PREF_OUTPUT_PROPERTIES_XML";
-	public static final String JRE_DEFAULT_PROCESSOR_ID = "org.eclipse.wst.xsl.launching.jre.default";
-	public static final String JRE_DEFAULT_PROCESSOR_TYPE_ID = "org.eclipse.wst.xsl.launching.processorType.jreDefault";
-
-	private static byte[] NEXT_ID_LOCK = new byte[0];
-	private static byte[] REGISTRY_LOCK = new byte[0];
-
-	private static int lastStandinID;
-	private static ProcessorTypeRegistry processorTypeRegistry;
-	private static ProcessorRegistry processorRegistry;
-	private static InvokerRegistry invokerRegistry;
-	private static DebuggerRegistry debuggerRegistry;
-
-	private static ProcessorTypeRegistry getProcessorTypeRegistry()
-	{
-		synchronized (REGISTRY_LOCK)
-		{
-			if (processorTypeRegistry == null)
-				processorTypeRegistry = new ProcessorTypeRegistry();
-		}
-		return processorTypeRegistry;
-	}
-
-	public static ProcessorRegistry getProcessorRegistry()
-	{
-		synchronized (REGISTRY_LOCK)
-		{
-			if (processorRegistry == null)
-				processorRegistry = new ProcessorRegistry();
-		}
-		return processorRegistry;
-	}
-
-	private static InvokerRegistry getInvokerRegistry()
-	{
-		synchronized (REGISTRY_LOCK)
-		{
-			if (invokerRegistry == null)
-				invokerRegistry = new InvokerRegistry();
-		}
-		return invokerRegistry;
-	}
-
-	private static DebuggerRegistry getDebuggerRegistry()
-	{
-		synchronized (REGISTRY_LOCK)
-		{
-			if (debuggerRegistry == null)
-				debuggerRegistry = new DebuggerRegistry();
-		}
-		return debuggerRegistry;
-	}
-	
-	private static void savePreferences()
-	{
-		LaunchingPlugin.getDefault().savePluginPreferences();
-		synchronized (REGISTRY_LOCK)
-		{
-			// force the registries to be re-initialised next time it is required
-			processorRegistry = null;
-			processorTypeRegistry = null;
-		}
-	}
-
-	/**
-	 * Find a unique processor install id. Check existing 'real' processors, as
-	 * well as the last id used for a standin.
-	 */
-	public static String createUniqueProcessorId(IProcessorType type)
-	{
-		IProcessorInstall[] installs = XSLTRuntime.getProcessors(type.getId());
-		String id = null;
-		synchronized (NEXT_ID_LOCK)
-		{
-			do
-			{
-				id = String.valueOf(++lastStandinID);
-			}
-			while (isTaken(id, installs));
-		}
-		return id;
-	}
-
-	public static IProcessorJar createProcessorJar(IPath path)
-	{
-		return new ProcessorJar(path);
-	}
-
-	private static boolean isTaken(String id, IProcessorInstall[] installs)
-	{
-		for (IProcessorInstall install : installs)
-		{
-			if (install.getId().equals(id))
-				return true;
-		}
-		return false;
-	}
-
-	public static IDebugger[] getDebuggers()
-	{
-		return getDebuggerRegistry().getDebuggers();
-	}
-
-	public static IDebugger getDebugger(String id)
-	{
-		return getDebuggerRegistry().getDebugger(id);
-	}
-
-	public static IProcessorInstall[] getProcessors()
-	{
-		return getProcessorRegistry().getProcessors();
-	}
-
-	public static IProcessorInstall[] getProcessors(String typeId)
-	{
-		return getProcessorRegistry().getProcessors(typeId);
-	}
-
-	public static IProcessorInstall getProcessor(String processorId)
-	{
-		IProcessorInstall[] processors = getProcessors();
-		for (IProcessorInstall install : processors)
-		{
-			if (install.getId().equals(processorId))
-				return install;
-		}
-		return null;
-	}
-
-	public static IProcessorInstall getDefaultProcessor()
-	{
-		return getProcessorRegistry().getDefaultProcessor();
-	}
-
-	public static IProcessorInstall getJREDefaultProcessor()
-	{
-		return getProcessorRegistry().getJREDefaultProcessor();
-	}
-
-	public static IProcessorType[] getProcessorTypes()
-	{
-		return getProcessorTypeRegistry().getProcessorTypes();
-	}
-
-	public static IProcessorType[] getProcessorTypesExclJREDefault()
-	{
-		return getProcessorTypeRegistry().getProcessorTypesExclJREDefault();
-	}
-
-	public static IProcessorType getProcessorType(String id)
-	{
-		return getProcessorTypeRegistry().getProcessorType(id);
-	}
-
-	public static IProcessorInvoker getProcessorInvoker(String invokerId)
-	{
-		return getInvokerRegistry().getProcessorInvoker(invokerId);
-	}
-
-	public static IProcessorInvoker[] getProcessorInvokers()
-	{
-		return getInvokerRegistry().getProcessorInvokers();
-	}
-
-	private static Preferences getPreferences()
-	{
-		return LaunchingPlugin.getDefault().getPluginPreferences();
-	}
-
-	public static void saveFeaturePreferences(Map<IProcessorType, Map<String, String>> typeFeatures, IProgressMonitor monitor) throws CoreException
-	{
-		if (monitor.isCanceled())
-			return;
-		try
-		{
-			monitor.beginTask("Saving features...", 100);
-			FeaturePreferences prefs = new FeaturePreferences();
-			Map<String,Map<String,String>> typeIdFeatures = new HashMap<String,Map<String,String>>(typeFeatures.size());
-			for (IProcessorType type : typeFeatures.keySet())
-			{
-				Map<String,String> values = typeFeatures.get(type);
-				typeIdFeatures.put(type.getId(), values);
-			}
-			prefs.setTypeFeatures(typeIdFeatures);
-			String xml = prefs.getAsXML();
-			monitor.worked(40);
-			if (monitor.isCanceled())
-				return;
-			XSLTRuntime.getPreferences().setValue(XSLTRuntime.PREF_FEATURE_XML, xml);
-			monitor.worked(30);
-			if (monitor.isCanceled())
-				return;
-			XSLTRuntime.savePreferences();
-			monitor.worked(30);
-		}
-		catch (Exception e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR,LaunchingPlugin.PLUGIN_ID,"Failed to save feature preferences",e));
-		}
-		finally
-		{
-			monitor.done();
-		}
-	}
-
-	public static void saveOutputPropertyPreferences(Map<IProcessorType, Properties> typeProperties, IProgressMonitor monitor) throws CoreException
-	{
-		if (monitor.isCanceled())
-			return;
-		try
-		{
-			monitor.beginTask("Saving properties...", 100);
-			OutputPropertyPreferences prefs = new OutputPropertyPreferences();
-			for (IProcessorType type : typeProperties.keySet())
-			{
-				prefs.setOutputPropertyValues(type.getId(), typeProperties.get(type));
-			}
-			String xml = prefs.getAsXML();
-			monitor.worked(40);
-			if (monitor.isCanceled())
-				return;
-			XSLTRuntime.getPreferences().setValue(XSLTRuntime.PREF_OUTPUT_PROPERTIES_XML, xml);
-			monitor.worked(30);
-			if (monitor.isCanceled())
-				return;
-			XSLTRuntime.savePreferences();
-			monitor.worked(30);
-		}
-		catch (Exception e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR,LaunchingPlugin.PLUGIN_ID,"Failed to save output property preferences",e));
-		}
-		finally
-		{
-			monitor.done();
-		}
-	}
-
-	public static void saveProcessorPreferences(IProcessorInstall[] installs, IProcessorInstall defaultInstall, IProgressMonitor monitor) throws CoreException
-	{
-		if (monitor.isCanceled())
-			return;
-		try
-		{
-			monitor.beginTask("Saving processors...", 100);
-			ProcessorPreferences prefs = new ProcessorPreferences();
-			if (defaultInstall != null)
-				prefs.setDefaultProcessorId(defaultInstall.getId());
-			prefs.setProcessors(new ArrayList<IProcessorInstall>(Arrays.asList(installs)));
-			String xml = prefs.getAsXML();
-			monitor.worked(40);
-			if (monitor.isCanceled())
-				return;
-			XSLTRuntime.getPreferences().setValue(XSLTRuntime.PREF_PROCESSOR_XML, xml);
-			monitor.worked(30);
-			if (monitor.isCanceled())
-				return;
-			XSLTRuntime.savePreferences();
-			monitor.worked(30);
-		}
-		catch (Exception e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR,LaunchingPlugin.PLUGIN_ID,"Failed to save process preferences",e));
-		}
-		finally
-		{
-			monitor.done();
-		}
-	}
-
-	public static Properties createDefaultOutputProperties(String typeId)
-	{
-		Properties props = new Properties();
-		if (JRE_DEFAULT_PROCESSOR_TYPE_ID.equals(typeId))
-			props.put("indent", "yes");
-		else if (XSLLaunchConfigurationConstants.XALAN_TYPE_ID.equals(typeId))
-			props.put("{http://xml.apache.org/xslt}indent-amount", "4");
-		else if (XSLLaunchConfigurationConstants.SAXONB_TYPE_ID.equals(typeId))
-			props.put("{http://saxon.sf.net/}indent-spaces", "4");
-		return props;
-	}
-	
-	/*
-	 * TODO move to XSLCore
-	 */
-	public static boolean isXMLFile(IFile file)
-	{
-		IContentTypeManager contentTypeManager = Platform.getContentTypeManager();
-		IContentType[] types = contentTypeManager.findContentTypesFor(file.getName());
-		for (IContentType contentType : types)
-		{
-			if (contentType.isKindOf(contentTypeManager.getContentType("org.eclipse.core.runtime.xml")) || contentType.isKindOf(contentTypeManager.getContentType("org.eclipse.wst.xml.core.xmlsource")))
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-	
-	/*
-	 * TODO move to XSLCore
-	 */
-	public static boolean isXSLFile(IFile file)
-	{
-		IContentTypeManager contentTypeManager = Platform.getContentTypeManager();
-		IContentType[] types = contentTypeManager.findContentTypesFor(file.getName());
-		for (IContentType contentType : types)
-		{
-			if (contentType.isKindOf(contentTypeManager.getContentType("org.eclipse.wst.xml.core.xslsource")))
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchAttribute.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchAttribute.java
deleted file mode 100644
index 04878f7..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchAttribute.java
+++ /dev/null
@@ -1,58 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.config;
-
-public class LaunchAttribute
-{
-	public static final String TYPE_SUFFIX = ".TYPE";
-	public static final String VALUE_SUFFIX = ".VALUE";
-
-	public static final String TYPE_STRING = "string";
-	public static final String TYPE_BOOLEAN = "boolean";
-	public static final String TYPE_INT = "int";
-	public static final String TYPE_DOUBLE = "double";
-	public static final String TYPE_FLOAT = "float";
-	public static final String TYPE_CLASS = "class";
-	public static final String TYPE_OBJECT = "object";
-
-	public final String uri;
-	public String type;
-	public String value;
-
-	public LaunchAttribute(String uri, String type, String value)
-	{
-		this.uri = uri;
-		this.type = type;
-		this.value = value;
-	}
-
-	public void setValue(String value)
-	{
-		this.value = value;
-	}
-
-	@Override
-	public int hashCode()
-	{
-		return uri.hashCode();
-	}
-
-	@Override
-	public boolean equals(Object obj)
-	{
-		if (obj instanceof LaunchAttribute)
-		{
-			LaunchAttribute att = (LaunchAttribute) obj;
-			return att.uri.equals(uri);
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchFeatures.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchFeatures.java
deleted file mode 100644
index e13789b..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchFeatures.java
+++ /dev/null
@@ -1,105 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.config;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.xsl.internal.launching.PreferenceUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class LaunchFeatures
-{
-	private final Set<LaunchAttribute> features = new HashSet<LaunchAttribute>();
-
-	public Set<LaunchAttribute> getFeatures()
-	{
-		return features;
-	}
-
-	public void addFeature(LaunchAttribute feature)
-	{
-		features.add(feature);
-	}
-
-	public LaunchAttribute getFeature(String uri)
-	{
-		for (Iterator<LaunchAttribute> iter = features.iterator(); iter.hasNext();)
-		{
-			LaunchAttribute tv = (LaunchAttribute) iter.next();
-			if (tv.uri.equals(uri))
-				return tv;
-		}
-		return null;
-	}
-
-	public void removeFeature(String uri)
-	{
-		for (Iterator<LaunchAttribute> iter = features.iterator(); iter.hasNext();)
-		{
-			LaunchAttribute feature = (LaunchAttribute) iter.next();
-			if (feature.uri.equals(uri))
-				iter.remove();
-		}
-	}
-
-	public String toXML() throws ParserConfigurationException, IOException, TransformerException
-	{
-		Document doc = PreferenceUtil.getDocument();
-
-		Element featuresEl = doc.createElement("Features");
-		doc.appendChild(featuresEl);
-
-		for (Iterator<LaunchAttribute> iter = features.iterator(); iter.hasNext();)
-		{
-			LaunchAttribute feature = (LaunchAttribute) iter.next();
-			if (feature.value == null)
-				continue;
-			Element featureEl = doc.createElement("Feature");
-			featureEl.setAttribute("name", feature.uri);
-			featureEl.setAttribute("type", feature.type);
-			featureEl.setAttribute("value", feature.value);
-			featuresEl.appendChild(featureEl);
-		}
-
-		return PreferenceUtil.serializeDocument(doc);
-	}
-
-	public static LaunchFeatures fromXML(InputStream inputStream) throws CoreException
-	{
-		Document doc = PreferenceUtil.getDocument(inputStream);
-
-		LaunchFeatures pdef = new LaunchFeatures();
-
-		Element featuresEl = doc.getDocumentElement();
-
-		NodeList featureEls = featuresEl.getElementsByTagName("Feature");
-		for (int i = 0; i < featureEls.getLength(); i++)
-		{
-			Element featureEl = (Element) featureEls.item(i);
-			String name = featureEl.getAttribute("name");
-			String type = featureEl.getAttribute("type");
-			String value = featureEl.getAttribute("value");
-			pdef.addFeature(new LaunchAttribute(name, type, value));
-		}
-
-		return pdef;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchHelper.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchHelper.java
deleted file mode 100644
index 2555cd6..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchHelper.java
+++ /dev/null
@@ -1,399 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.config;
-
-import java.io.BufferedWriter;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.ServerSocket;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-import org.eclipse.wst.xsl.internal.launching.PreferenceUtil;
-import org.eclipse.wst.xsl.invoker.config.PipelineDefinition;
-import org.eclipse.wst.xsl.invoker.config.TransformDefinition;
-import org.eclipse.wst.xsl.invoker.config.TypedValue;
-import org.eclipse.wst.xsl.launching.IFeature;
-import org.eclipse.wst.xsl.launching.IOutputProperty;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.IProcessorType;
-import org.eclipse.wst.xsl.launching.XSLLaunchConfigurationConstants;
-import org.eclipse.wst.xsl.launching.XSLTRuntime;
-import org.w3c.dom.Document;
-
-public class LaunchHelper
-{
-	private IPath sourceFile;
-	private final URL source;
-	private final File target;
-	private final LaunchFeatures features;
-	private final LaunchPipeline pipeline;
-	private final LaunchProperties outputProperties;
-	private int requestPort = -1;
-	private int eventPort = -1;
-	private final boolean openFileOnCompletion;
-
-	public LaunchHelper(ILaunchConfiguration configuration) throws CoreException
-	{
-		source = hydrateSourceFileURL(configuration);
-		target = hydrateOutputFile(configuration);
-		features = hydrateFeatures(configuration);
-		outputProperties = hydrateOutputProperties(configuration);
-		pipeline = hydratePipeline(configuration);
-		openFileOnCompletion = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OPEN_FILE, true);
-	}
-
-	public int getRequestPort()
-	{
-		if (requestPort == -1)
-			requestPort = findFreePort();
-		return requestPort;
-	}
-
-	public int getEventPort()
-	{
-		if (eventPort == -1)
-			eventPort = findFreePort();
-		return eventPort;
-	}
-
-	public LaunchProperties getProperties()
-	{
-		return outputProperties;
-	}
-
-	public LaunchFeatures getFeatures()
-	{
-		return features;
-	}
-
-	public LaunchPipeline getPipeline()
-	{
-		return pipeline;
-	}
-
-	public URL getSource()
-	{
-		return source;
-	}
-
-	public File getTarget()
-	{
-		return target;
-	}
-
-	public void save(File file) throws CoreException
-	{
-		BufferedWriter writer = null;
-		try
-		{
-			// ensure it exists
-			file.createNewFile();
-			writer = new BufferedWriter(new FileWriter(file));
-			PipelineDefinition pdef = new PipelineDefinition();
-			for (Iterator<?> iter = features.getFeatures().iterator(); iter.hasNext();)
-			{
-				LaunchAttribute att = (LaunchAttribute) iter.next();
-				pdef.addFeature(new TypedValue(att.uri, att.type, att.value));
-			}
-			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();)
-				{
-					LaunchAttribute att = (LaunchAttribute) iterator.next();
-					tdef.addParameter(new TypedValue(att.uri, att.type, att.value));
-				}
-				// set the output props for the LAST transform only
-				if (!iter.hasNext())
-				{
-					for (Iterator<?> iterator = outputProperties.getProperties().entrySet().iterator(); iterator.hasNext();)
-					{
-						Map.Entry entry = (Map.Entry) iterator.next();
-						String name = (String) entry.getKey();
-						String value = (String) entry.getValue();
-						if (name != null && value != null)
-							tdef.setOutputProperty(name, value);
-					}
-				}
-				pdef.addTransformDef(tdef);
-			}
-
-			Document doc = pdef.toXML();
-			String s = PreferenceUtil.serializeDocument(doc);
-			writer.write(s);
-		}
-		catch (FileNotFoundException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, "File not found", e));
-		}
-		catch (IOException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, "IO Exception", e));
-		}
-		catch (ParserConfigurationException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, "ParserConfigurationException", e));
-		}
-		catch (TransformerException e)
-		{
-			throw new CoreException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, IStatus.ERROR, "TransformerException", e));
-		}
-		finally
-		{
-			if (writer != null)
-			{
-				try
-				{
-					writer.close();
-				}
-				catch (IOException e)
-				{
-					LaunchingPlugin.log(e);
-				}
-			}
-		}
-	}
-
-	private LaunchProperties hydrateOutputProperties(ILaunchConfiguration configuration) throws CoreException
-	{
-		LaunchProperties properties = null;
-		boolean usePreferenceProperties = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_PROPERTIES_FROM_PREFERENCES, true);
-		IProcessorType defaultType = XSLTRuntime.getJREDefaultProcessor().getProcessorType();
-		IProcessorType pt = getProcessorInstall(configuration).getProcessorType();
-		if (usePreferenceProperties)
-		{
-			properties = new LaunchProperties();
-			// get the standard properties
-			for (Object element : defaultType.getOutputPropertyValues().entrySet())
-			{
-				Map.Entry entry = (Map.Entry) element;
-				String name = (String) entry.getKey();
-				String value = (String) entry.getValue();
-				properties.setProperty(name, value);
-			}
-			// get the processor-specific properties
-			if (!pt.equals(defaultType))
-			{
-				for (Object element : pt.getOutputPropertyValues().entrySet())
-				{
-					Map.Entry entry = (Map.Entry) element;
-					String name = (String) entry.getKey();
-					String value = (String) entry.getValue();
-					properties.setProperty(name, value);
-				}
-			}
-		}
-		else
-		{
-			String s = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_PROPERTIES, (String) null);
-			if (s != null && s.length() > 0)
-			{
-				ByteArrayInputStream inputStream = new ByteArrayInputStream(s.getBytes());
-				properties = LaunchProperties.fromXML(inputStream);
-				// ensure all properties pertain to the current processor type
-				IOutputProperty[] defaultProps = defaultType.getOutputProperties();
-				IOutputProperty[] specificProps = pt.getOutputProperties();
-				IOutputProperty[] props = new IOutputProperty[specificProps.length + defaultProps.length];
-				System.arraycopy(specificProps, 0, props, 0, specificProps.length);
-				System.arraycopy(defaultProps, 0, props, specificProps.length, defaultProps.length);
-				for (Iterator<?> iterator = properties.getProperties().keySet().iterator(); iterator.hasNext();)
-				{
-					String key = (String) iterator.next();
-					boolean found = false;
-					for (IOutputProperty outputProperty : props)
-					{
-						if (outputProperty.getURI().equals(key))
-						{
-							found = true;
-						}
-					}
-					if (!found)
-						properties.removeProperty(key);
-				}
-			}
-		}
-		return properties;
-	}
-
-	private LaunchFeatures hydrateFeatures(ILaunchConfiguration configuration) throws CoreException
-	{
-		LaunchFeatures features = null;
-		boolean useDefaultFeatures = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_FEATURES_FROM_PREFERENCES, true);
-		if (useDefaultFeatures)
-		{
-			features = new LaunchFeatures();
-			IProcessorType pt = getProcessorInstall(configuration).getProcessorType();
-			Map<?, ?> fvals = pt.getFeatureValues();
-			for (Iterator<?> iter = fvals.entrySet().iterator(); iter.hasNext();)
-			{
-				Map.Entry entry = (Map.Entry) iter.next();
-				String uri = (String) entry.getKey();
-				IFeature feature = getFeature(pt.getFeatures(), uri);
-				features.addFeature(new LaunchAttribute(uri, feature.getType(), (String) entry.getValue()));
-			}
-		}
-		else
-		{
-			String s = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_FEATURES, (String) null);
-			if (s != null && s.length() > 0)
-			{
-				ByteArrayInputStream inputStream = new ByteArrayInputStream(s.getBytes());
-				features = LaunchFeatures.fromXML(inputStream);
-			}
-		}
-		return features;
-	}
-
-	private IFeature getFeature(IFeature[] features, String uri)
-	{
-		for (IFeature feature : features)
-		{
-			if (feature.getURI().equals(uri))
-				return feature;
-		}
-		return null;
-	}
-
-	private 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());
-			pipeline = LaunchPipeline.fromXML(inputStream);
-		}
-		return pipeline;
-	}
-
-	private URL hydrateSourceFileURL(ILaunchConfiguration configuration) throws CoreException
-	{
-		String sourceFileExpr = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null);
-		sourceFile = getSubstitutedPath(sourceFileExpr);
-		URL url = pathToURL(sourceFile);
-		return url;
-	}
-
-	private 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));
-		}
-		return url;
-	}
-
-	private File hydrateOutputFile(ILaunchConfiguration configuration) throws CoreException
-	{
-		IPath outputFile = null;
-		boolean useDefaultOutputFile = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_OUTPUT_FILE, true);
-		if (!useDefaultOutputFile)
-		{
-			String outputFileExpr = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_OUTPUT_FILE, (String) null);
-			outputFile = getSubstitutedPath(outputFileExpr);
-		}
-		else
-		{
-			// TODO: where is the default output file? And must share this with
-			// the value displayed in the UI.
-			outputFile = (IPath) sourceFile.clone();
-			outputFile = outputFile.addFileExtension("out").addFileExtension("xml");
-		}
-		return outputFile.toFile();
-	}
-
-	private static IPath getSubstitutedPath(String path) throws CoreException
-	{
-		if (path != null)
-		{
-			path = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(path);
-			return new Path(path);
-		}
-		return null;
-	}
-
-	private IProcessorInstall getProcessorInstall(ILaunchConfiguration configuration) throws CoreException
-	{
-		boolean useDefaultProcessor = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_USE_DEFAULT_PROCESSOR, true);
-		if (useDefaultProcessor)
-			return XSLTRuntime.getDefaultProcessor();
-		String processorId = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_PROCESSOR, "");
-		IProcessorInstall processor = XSLTRuntime.getProcessor(processorId);
-		return processor;
-	}
-
-	/**
-	 * Returns a free port number on localhost, or -1 if unable to find a free
-	 * port.
-	 * 
-	 * @return a free port number on localhost, or -1 if unable to find a free
-	 *         port
-	 */
-	public static int findFreePort()
-	{
-		ServerSocket socket = null;
-		try
-		{
-			socket = new ServerSocket(0);
-			return socket.getLocalPort();
-		}
-		catch (IOException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-		finally
-		{
-			if (socket != null)
-			{
-				try
-				{
-					socket.close();
-				}
-				catch (IOException e)
-				{
-					LaunchingPlugin.log(e);
-				}
-			}
-		}
-		return -1;
-	}
-
-	public boolean getOpenFileOnCompletion()
-	{
-		return openFileOnCompletion;
-	}
-}
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
deleted file mode 100644
index 7cde436..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchPipeline.java
+++ /dev/null
@@ -1,149 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.config;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-import org.eclipse.wst.xsl.internal.launching.PreferenceUtil;
-import org.w3c.dom.DOMException;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class LaunchPipeline
-{
-	private List<LaunchTransform> transformDefs = new ArrayList<LaunchTransform>();
-	private final Properties outputProperties = new Properties();
-
-	public Properties getOutputProperties()
-	{
-		return outputProperties;
-	}
-
-	public void addOutputProperty(String name, String value)
-	{
-		outputProperties.put(name, value);
-	}
-
-	public List<LaunchTransform> getTransformDefs()
-	{
-		return transformDefs;
-	}
-
-	public void setTransformDefs(List<LaunchTransform> transforms)
-	{
-		transformDefs = transforms;
-	}
-
-	public void addTransformDef(LaunchTransform tdef)
-	{
-		tdef.setPipeline(this);
-		transformDefs.add(tdef);
-	}
-
-	public void removeTransformDef(LaunchTransform tdef)
-	{
-		transformDefs.remove(tdef);
-	}
-
-	public String toXML() throws CoreException
-	{
-		String xml = null;
-		try
-		{
-			Document doc = PreferenceUtil.getDocument();
-			Element rootEl = doc.createElement("Pipeline");
-			doc.appendChild(rootEl);
-
-			Element opEl = doc.createElement("OutputProperties");
-			rootEl.appendChild(opEl);
-			for (Object element : outputProperties.entrySet())
-			{
-				Map.Entry entry = (Map.Entry) element;
-				Element propEl = doc.createElement("Property");
-				propEl.setAttribute("name", (String) entry.getKey());
-				propEl.setAttribute("value", (String) entry.getValue());
-				opEl.appendChild(propEl);
-			}
-
-			for (Iterator<LaunchTransform> iter = transformDefs.iterator(); iter.hasNext();)
-			{
-				LaunchTransform tdef = (LaunchTransform) 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));
-		}
-		return xml;
-	}
-
-	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);
-		if (opEl != null)
-		{
-			NodeList propEls = opEl.getElementsByTagName("Property");
-			for (int i = 0; i < propEls.getLength(); i++)
-			{
-				Element propEl = (Element) propEls.item(i);
-				String name = propEl.getAttribute("name");
-				String value = propEl.getAttribute("value");
-				pdef.addOutputProperty(name, value);
-			}
-		}
-
-		NodeList transformEls = rootEl.getElementsByTagName("Transform");
-		for (int i = 0; i < transformEls.getLength(); i++)
-		{
-			Element transformEl = (Element) transformEls.item(i);
-			LaunchTransform tdef = LaunchTransform.fromXML(transformEl);
-			pdef.addTransformDef(tdef);
-		}
-
-		return pdef;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchProperties.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchProperties.java
deleted file mode 100644
index ddd9212..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchProperties.java
+++ /dev/null
@@ -1,94 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.config;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.wst.xsl.internal.launching.PreferenceUtil;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class LaunchProperties
-{
-	private final Map<String, String> properties = new HashMap<String, String>();
-
-	public Map<String, String> getProperties()
-	{
-		return properties;
-	}
-
-	public void setProperty(String name, String value)
-	{
-		properties.put(name, value);
-	}
-
-	public String getProperty(String name)
-	{
-		return (String) properties.get(name);
-	}
-
-	public void removeProperty(String name)
-	{
-		properties.remove(name);
-	}
-
-	public String toXML() throws ParserConfigurationException, IOException, TransformerException
-	{
-		Document doc = PreferenceUtil.getDocument();
-
-		Element featuresEl = doc.createElement("Properties");
-		doc.appendChild(featuresEl);
-
-		for (Iterator<?> iter = properties.entrySet().iterator(); iter.hasNext();)
-		{
-			Map.Entry entry = (Map.Entry) iter.next();
-			String name = (String) entry.getKey();
-			String value = (String) entry.getValue();
-			if (value == null)
-				continue;
-			Element featureEl = doc.createElement("Property");
-			featureEl.setAttribute("name", name);
-			featureEl.setAttribute("value", value);
-			featuresEl.appendChild(featureEl);
-		}
-
-		return PreferenceUtil.serializeDocument(doc);
-	}
-
-	public static LaunchProperties fromXML(InputStream inputStream) throws CoreException
-	{
-		Document doc = PreferenceUtil.getDocument(inputStream);
-
-		LaunchProperties pdef = new LaunchProperties();
-
-		Element featuresEl = doc.getDocumentElement();
-
-		NodeList featureEls = featuresEl.getElementsByTagName("Property");
-		for (int i = 0; i < featureEls.getLength(); i++)
-		{
-			Element featureEl = (Element) featureEls.item(i);
-			String name = featureEl.getAttribute("name");
-			String value = featureEl.getAttribute("value");
-			pdef.setProperty(name, value);
-		}
-
-		return pdef;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchTransform.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchTransform.java
deleted file mode 100644
index 2b3dfa7..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/LaunchTransform.java
+++ /dev/null
@@ -1,206 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.config;
-
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-public class LaunchTransform
-{
-	public static final String RESOURCE_TYPE = "resource";
-	public static final String EXTERNAL_TYPE = "external";
-
-	private final String stylesheet;
-	private final String pathType;
-	private String resolver;
-	private final Set<LaunchAttribute> parameters = new HashSet<LaunchAttribute>();
-	private LaunchPipeline pipeline;
-
-	/**
-	 * The path may be an IResource to a file in the workspace, or an IPath to a
-	 * file outside of the workspace - depending on the pathType. The path
-	 * should be created using IPath.toPortableString(). The path may also
-	 * contain variables defined by the VariablePlugin.
-	 * 
-	 * @param path
-	 * @param pathType
-	 */
-	public LaunchTransform(String path, String pathType)
-	{
-		stylesheet = path;
-		this.pathType = pathType;
-	}
-
-	public Set<LaunchAttribute> getParameters()
-	{
-		return parameters;
-	}
-
-	public void addParameter(LaunchAttribute parameter)
-	{
-		parameters.add(parameter);
-	}
-
-	public String getResolver()
-	{
-		return resolver;
-	}
-
-	public void setResolver(String resolver)
-	{
-		this.resolver = resolver;
-	}
-
-	public IPath getPath() throws CoreException
-	{
-		String substitutedValue = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(stylesheet);
-		return Path.fromPortableString(substitutedValue);
-	}
-
-	public String getPathType()
-	{
-		return pathType;
-	}
-
-	/**
-	 * The full path to the file in the local file system (with any string
-	 * subsitutions already made).
-	 * 
-	 * @return
-	 * @throws CoreException
-	 */
-	public IPath getLocation() throws CoreException
-	{
-		IPath partialPath = getPath();
-		IPath fullPath = null;
-		if (RESOURCE_TYPE.equals(pathType))
-		{
-			IFile file = (IFile) ResourcesPlugin.getWorkspace().getRoot().findMember(partialPath);
-			fullPath = file.getLocation();
-		}
-		else if (EXTERNAL_TYPE.equals(pathType))
-		{
-			fullPath = partialPath;
-		}
-		return fullPath;
-	}
-
-	public Element asXML(Document doc)
-	{
-		Element tdefEl = doc.createElement("Transform");
-		tdefEl.setAttribute("path", stylesheet);
-		tdefEl.setAttribute("pathType", pathType);
-		if (resolver != null)
-			tdefEl.setAttribute("uriResolver", resolver);
-		Element paramsEl = doc.createElement("Parameters");
-		tdefEl.appendChild(paramsEl);
-		for (Iterator<LaunchAttribute> iter = parameters.iterator(); iter.hasNext();)
-		{
-			LaunchAttribute param = (LaunchAttribute) iter.next();
-			Element propEl = doc.createElement("Parameter");
-			propEl.setAttribute("name", param.uri);
-			propEl.setAttribute("type", param.type);
-			propEl.setAttribute("value", param.value);
-			paramsEl.appendChild(propEl);
-		}
-		return tdefEl;
-	}
-
-	public static LaunchTransform fromXML(Element transformEl)
-	{
-		String path = transformEl.getAttribute("path");
-		String pathType = transformEl.getAttribute("pathType");
-
-		LaunchTransform tdef = new LaunchTransform(path, pathType);
-
-		String uriResolver = transformEl.getAttribute("uriResolver");
-		tdef.setResolver(uriResolver);
-
-		Element paramsEl = (Element) transformEl.getElementsByTagName("Parameters").item(0);
-		NodeList paramEls = paramsEl.getElementsByTagName("Parameter");
-		for (int i = 0; i < paramEls.getLength(); i++)
-		{
-			Element paramEl = (Element) paramEls.item(i);
-			String name = paramEl.getAttribute("name");
-			String type = paramEl.getAttribute("type");
-			String value = paramEl.getAttribute("value");
-			tdef.addParameter(new LaunchAttribute(name, type, value));
-		}
-
-		return tdef;
-	}
-
-	public void setPipeline(LaunchPipeline pipeline)
-	{
-		this.pipeline = pipeline;
-	}
-
-	public LaunchPipeline getPipeline()
-	{
-		return pipeline;
-	}
-
-	/*
-	 * private File getURIResolverDirectory(ILaunchConfiguration configuration)
-	 * throws CoreException { File resolverDir = null; String baseURIType =
-	 * configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_BASE_URI_TYPE,
-	 * XSLLaunchConfigurationConstants.BASE_URI_WORKING_DIR_RELATIVE); if
-	 * (XSLLaunchConfigurationConstants.BASE_URI_ABSOLUTE.equals(baseURIType)) {
-	 * String uriDir =
-	 * configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_BASE_URI_DIRECTORY,
-	 * (String)null); if (uriDir!=null) { String pathExpr =
-	 * VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(uriDir);
-	 * Path path = new Path(pathExpr); if (path.isAbsolute()) { File dir = new
-	 * File(path.toOSString()); if (dir.isDirectory() && dir.exists()) { return
-	 * dir; } // This may be a workspace relative path returned by a variable. //
-	 * However variable paths start with a slash and thus are thought to // be
-	 * absolute, so fall through to below } IResource res =
-	 * ResourcesPlugin.getWorkspace().getRoot().findMember(path); if (res
-	 * instanceof IContainer && res.exists()) return res.getLocation().toFile();
-	 * abort("URI path is invalid",null,0); } } else if
-	 * (XSLLaunchConfigurationConstants.BASE_URI_STYLESHEET_RELATIVE.equals(baseURIType)) {
-	 * resolverDir = getStylesheetRelativeURIResolver(configuration); } // no
-	 * need to handle the case of working_dir relative - this is the default for
-	 * JAXP so return null return resolverDir; }
-	 * 
-	 * private File getStylesheetRelativeURIResolver(ILaunchConfiguration
-	 * configuration) throws CoreException { List stylesheets =
-	 * configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_STYLESHEETS_LIST,(List)null);
-	 * if (stylesheets == null || stylesheets.size() == 0) abort("No stylesheets
-	 * defined for this launch configuration", null, 0); else { String sheet =
-	 * (String)stylesheets.get(0); String pathExpr =
-	 * VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(sheet);
-	 * Path path = new Path(pathExpr); if (path.isAbsolute()) { File file = new
-	 * File(path.toOSString()); if (file.exists()) { File dir =
-	 * file.getParentFile(); return dir; } // This may be a workspace relative
-	 * path returned by a variable. // However variable paths start with a slash
-	 * and thus are thought to // be absolute IResource res =
-	 * ResourcesPlugin.getWorkspace().getRoot().findMember(path); IContainer
-	 * parent = res.getParent(); if (parent.exists()) return
-	 * parent.getLocation().toFile(); abort("Stylesheet path is
-	 * invalid",null,0); } else { IResource res =
-	 * ResourcesPlugin.getWorkspace().getRoot().findMember(path); IContainer
-	 * parent = res.getParent(); if (parent.exists()) return
-	 * parent.getLocation().toFile(); abort("Stylesheet path is
-	 * invalid",null,0); } } return null; }
-	 */
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/IXSLConstants.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/IXSLConstants.java
deleted file mode 100644
index f449f37..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/IXSLConstants.java
+++ /dev/null
@@ -1,19 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.model;
-
-public interface IXSLConstants
-{
-
-	public static final String ID_XSL_DEBUG_MODEL = "org.eclipse.wst.xsl.launching.XSLDebugModel";
-	public static final String MARKER_ID = "org.eclipse.wst.xsl.launching.xslLineBreakpointMarker";
-
-}
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
deleted file mode 100644
index 3452008..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLDebugElement.java
+++ /dev/null
@@ -1,121 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.model;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-
-public abstract class XSLDebugElement extends PlatformObject implements IDebugElement
-{
-	protected XSLDebugTarget debugTarget;
-
-	public XSLDebugElement(XSLDebugTarget target)
-	{
-		debugTarget = target;
-	}
-
-	public String getModelIdentifier()
-	{
-		return IXSLConstants.ID_XSL_DEBUG_MODEL;
-	}
-
-	public IDebugTarget getDebugTarget()
-	{
-		return debugTarget;
-	}
-
-	public ILaunch getLaunch()
-	{
-		return getDebugTarget().getLaunch();
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public Object getAdapter(Class adapter)
-	{
-		if (adapter == IDebugElement.class)
-		{
-			return this;
-		}
-		else if (adapter == ILaunch.class)
-		{
-			return getLaunch();
-		}
-		return super.getAdapter(adapter);
-	}
-
-	protected void abort(String message, Throwable e) throws DebugException
-	{
-		if (!getDebugTarget().isTerminated())
-			getDebugTarget().getProcess().terminate();
-		throw new DebugException(new Status(IStatus.ERROR, LaunchingPlugin.PLUGIN_ID, DebugPlugin.INTERNAL_ERROR, message, e));
-	}
-
-	/**
-	 * Fires a debug event
-	 * 
-	 * @param event
-	 *            the event to be fired
-	 */
-	protected void fireEvent(DebugEvent event)
-	{
-		DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[]
-		{ event });
-	}
-
-	/**
-	 * Fires a <code>CREATE</code> event for this element.
-	 */
-	protected void fireCreationEvent()
-	{
-		fireEvent(new DebugEvent(this, DebugEvent.CREATE));
-	}
-
-	/**
-	 * Fires a <code>RESUME</code> event for this element with the given
-	 * detail.
-	 * 
-	 * @param detail
-	 *            event detail code
-	 */
-	public void fireResumeEvent(int detail)
-	{
-		fireEvent(new DebugEvent(this, DebugEvent.RESUME, detail));
-	}
-
-	/**
-	 * Fires a <code>SUSPEND</code> event for this element with the given
-	 * detail.
-	 * 
-	 * @param detail
-	 *            event detail code
-	 */
-	public void fireSuspendEvent(int detail)
-	{
-		fireEvent(new DebugEvent(this, DebugEvent.SUSPEND, detail));
-	}
-
-	/**
-	 * Fires a <code>TERMINATE</code> event for this element.
-	 */
-	protected void fireTerminateEvent()
-	{
-		fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLDebugTarget.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLDebugTarget.java
deleted file mode 100644
index 5179baa..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLDebugTarget.java
+++ /dev/null
@@ -1,706 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.model;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.net.ConnectException;
-import java.net.MalformedURLException;
-import java.net.Socket;
-import java.net.URL;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.ILineBreakpoint;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.wst.xsl.debugger.DebugConstants;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-import org.eclipse.wst.xsl.internal.launching.XSLTLaunchConfigurationDelegate;
-import org.eclipse.wst.xsl.launching.IProcessorInstall;
-import org.eclipse.wst.xsl.launching.config.LaunchHelper;
-
-public class XSLDebugTarget extends XSLDebugElement implements IDebugTarget
-{
-	private final byte[] STACK_FRAMES_LOCK = new byte[0];
-	private final byte[] VALUE_MAP_LOCK = new byte[0];
-	private final byte[] WRITE_LOCK = new byte[0];
-
-	private final int CONNECT_ATTEMPTS = 10;
-	private final int CONNECT_WAIT = 1000;
-
-	private final IProcess process;
-	private final ILaunch launch;
-	private XSLThread thread;
-	private IThread[] threads;
-	private IStackFrame[] stackFramesCache = new IStackFrame[0];
-
-	private EventDispatchJob eventDispatch;
-
-	private final Map<Integer,XSLVariable> variableMapCache = new HashMap<Integer, XSLVariable>();
-	private final Map<XSLVariable, XSLValue> valueMapCache = new HashMap<XSLVariable, XSLValue>();
-	private String name;
-	private boolean suspended;
-	private boolean terminated;
-
-	private Socket requestSocket;
-	private Socket eventSocket;
-	private BufferedReader requestReader;
-	private BufferedReader eventReader;
-	private PrintWriter requestWriter;
-	private boolean stale;
-
-	public XSLDebugTarget(ILaunch launch, IProcess process, LaunchHelper launchHelper) throws CoreException
-	{
-		super(null);
-		this.launch = launch;
-		this.debugTarget = this;
-		this.process = process;
-		this.requestSocket = attemptConnect(launchHelper.getRequestPort());
-		this.eventSocket = attemptConnect(launchHelper.getEventPort());
-
-		if (!process.isTerminated())
-		{
-			try
-			{
-				this.eventReader = new BufferedReader(new InputStreamReader(eventSocket.getInputStream()));
-				this.requestWriter = new PrintWriter(requestSocket.getOutputStream());
-				this.requestReader = new BufferedReader(new InputStreamReader(requestSocket.getInputStream()));
-			}
-			catch (IOException e)
-			{
-				abort("Unable to connect to debugger", e);
-			}
-			this.thread = new XSLThread(this);
-			this.threads = new IThread[]{ thread };
-			this.eventDispatch = new EventDispatchJob();
-			this.eventDispatch.schedule();
-	
-			DebugPlugin.getDefault().getBreakpointManager().addBreakpointListener(this);
-		}
-	}
-	
-	private Socket attemptConnect(int port) throws CoreException
-	{
-		Socket socket = null;
-		for(int i=0;i<CONNECT_ATTEMPTS;i++)
-		{	
-			// break out if process is terminated
-			if (process.isTerminated())
-				break;
-			try
-			{
-				socket = new Socket("localhost",port);
-			}
-			catch (ConnectException e)
-			{}
-			catch (IOException e)
-			{}
-			if (socket != null)
-				break;
-			try
-			{
-				Thread.sleep(CONNECT_WAIT);
-			}
-			catch (InterruptedException e)
-			{}
-		}
-		if (socket == null && !process.isTerminated())
-			throw new CoreException(new Status(Status.ERROR, LaunchingPlugin.PLUGIN_ID, "Could not connect to socket "+port+" after "+CONNECT_ATTEMPTS+" attempts"));
-		return socket;
-	}
-
-	public IProcess getProcess()
-	{
-		return process;
-	}
-
-	public IThread[] getThreads() throws DebugException
-	{
-		return threads;
-	}
-
-	public boolean hasThreads() throws DebugException
-	{
-		return threads != null && threads.length > 0;
-	}
-
-	public String getName() throws DebugException
-	{
-		if (name == null)
-		{
-			try
-			{
-				IProcessorInstall install = XSLTLaunchConfigurationDelegate.getProcessorInstall(getLaunch().getLaunchConfiguration(), ILaunchManager.DEBUG_MODE);
-				String type = install.getProcessorType().getLabel();
-				name = type + " [" + install.getName() + "]";
-			}
-			catch (CoreException e)
-			{
-				throw new DebugException(e.getStatus());
-			}
-		}
-		return name;
-	}
-
-	public boolean supportsBreakpoint(IBreakpoint breakpoint)
-	{
-		if (breakpoint.getModelIdentifier().equals(IXSLConstants.ID_XSL_DEBUG_MODEL) && breakpoint instanceof ILineBreakpoint)
-		{
-//			try
-//			{
-//				ILineBreakpoint lb = (ILineBreakpoint) breakpoint;
-//				IMarker marker = lb.getMarker();
-//				for (Iterator<?> iter = launchHelper.getPipeline().getTransformDefs().iterator(); iter.hasNext();)
-//				{
-//					LaunchTransform lt = (LaunchTransform) iter.next();
-//					if (marker.getResource().getLocation().equals(lt.getLocation()))
-//						return true;
-//				}
-//			}
-//			catch (CoreException e)
-//			{
-//				LaunchingPlugin.log(e);
-//			}
-			return true;
-		}
-		return false;
-	}
-
-	@Override
-	public IDebugTarget getDebugTarget()
-	{
-		return this;
-	}
-
-	@Override
-	public ILaunch getLaunch()
-	{
-		return launch;
-	}
-
-	public boolean canTerminate()
-	{
-		return getProcess().canTerminate();
-	}
-
-	public boolean isTerminated()
-	{
-		return terminated;
-	}
-
-	public void terminate() throws DebugException
-	{
-		synchronized (WRITE_LOCK)
-		{
-			getProcess().terminate();
-		}
-	}
-
-	public boolean canResume()
-	{
-		return !isTerminated() && isSuspended();
-	}
-
-	public boolean canSuspend()
-	{
-		return !isTerminated() && !isSuspended();
-	}
-
-	public boolean isSuspended()
-	{
-		return suspended;
-	}
-
-	public void resume() throws DebugException
-	{
-		sendRequest(DebugConstants.REQUEST_RESUME);
-	}
-
-	private void resumed(int detail)
-	{
-		suspended = false;
-		thread.fireResumeEvent(detail);
-	}
-
-	private void suspended(int detail)
-	{
-		suspended = true;
-		thread.fireSuspendEvent(detail);
-	}
-
-	public void suspend() throws DebugException
-	{
-		sendRequest(DebugConstants.REQUEST_SUSPEND);
-	}
-
-	public void breakpointAdded(IBreakpoint breakpoint)
-	{
-		if (supportsBreakpoint(breakpoint))
-		{
-			try
-			{
-				ILineBreakpoint lb = (ILineBreakpoint) breakpoint;
-				if (breakpoint.isEnabled())
-				{
-					try
-					{
-						IMarker marker = lb.getMarker();
-						if (marker != null)
-						{
-							URL file = marker.getResource().getLocation().toFile().toURI().toURL();
-							sendRequest(DebugConstants.REQUEST_ADD_BREAKPOINT + " " + file + " " + lb.getLineNumber());
-						}
-					}
-					catch (CoreException e)
-					{
-						LaunchingPlugin.log(e);
-					}
-					catch (MalformedURLException e)
-					{
-						LaunchingPlugin.log(e);
-					}
-				}
-			}
-			catch (CoreException e)
-			{
-			}
-		}
-	}
-
-	public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta)
-	{
-		if (supportsBreakpoint(breakpoint))
-		{
-			try
-			{
-				ILineBreakpoint lb = (ILineBreakpoint) breakpoint;
-				IMarker marker = lb.getMarker();
-				if (marker != null)
-				{
-					URL file = marker.getResource().getLocation().toFile().toURI().toURL();
-					sendRequest(DebugConstants.REQUEST_REMOVE_BREAKPOINT + " " + file + " " + lb.getLineNumber());
-				}
-			}
-			catch (CoreException e)
-			{
-				LaunchingPlugin.log(e);
-			}
-			catch (MalformedURLException e)
-			{
-				LaunchingPlugin.log(e);
-			}
-		}
-	}
-
-	public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta)
-	{
-		if (supportsBreakpoint(breakpoint))
-		{
-			try
-			{
-				if (breakpoint.isEnabled())
-				{
-					breakpointAdded(breakpoint);
-				}
-				else
-				{
-					breakpointRemoved(breakpoint, null);
-				}
-			}
-			catch (CoreException e)
-			{
-			}
-		}
-	}
-
-	public boolean canDisconnect()
-	{
-		return false;
-	}
-
-	public void disconnect() throws DebugException
-	{
-	}
-
-	public boolean isDisconnected()
-	{
-		return false;
-	}
-
-	public boolean supportsStorageRetrieval()
-	{
-		return false;
-	}
-
-	public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException
-	{
-		return null;
-	}
-
-	private void ready()
-	{
-		fireCreationEvent();
-		installDeferredBreakpoints();
-		try
-		{
-			sendRequest(DebugConstants.REQUEST_START);
-		}
-		catch (DebugException e)
-		{
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * Install breakpoints that are already registered with the breakpoint
-	 * manager.
-	 */
-	private void installDeferredBreakpoints()
-	{
-		IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IXSLConstants.ID_XSL_DEBUG_MODEL);
-		for (IBreakpoint element : breakpoints)
-		{
-			breakpointAdded(element);
-		}
-	}
-
-	private void terminated()
-	{
-		terminated = true;
-		suspended = true;
-		DebugPlugin.getDefault().getBreakpointManager().removeBreakpointListener(this);
-
-		threads = new IThread[0];
-
-		fireTerminateEvent();
-	}
-
-	/**
-	 * Returns the current stack frames in the target.
-	 */
-	protected IStackFrame[] getStackFrames() throws DebugException
-	{
-		synchronized (STACK_FRAMES_LOCK)
-		{
-			if (stale)
-			{
-				stale = false;
-				String framesData = sendRequest(DebugConstants.REQUEST_STACK);
-				String[] frames = framesData.split("\\$\\$\\$");
-				IStackFrame[] sf = new IStackFrame[frames.length];
-				List<IStackFrame> currentFrames = Arrays.asList(stackFramesCache);
-				for (int i = 0; i < frames.length; i++)
-				{
-					String data = frames[i];
-					XSLStackFrame frame = new XSLStackFrame(thread, data, i);
-					int index;
-					if ((index = currentFrames.indexOf(frame)) != -1)
-					{
-						XSLStackFrame curr = (XSLStackFrame)currentFrames.get(index);
-						curr.setLineNumber(frame.getLineNumber());
-						curr.setVariables(frame.getVariables());
-						frame = curr;
-					}
-					sf[frames.length - i - 1] = frame;
-				}
-				stackFramesCache = sf;
-			}
-			return stackFramesCache;
-		}
-	}
-	
-/*
-	private void init(String data)
-	{
-
-		String[] strings = data.split("\\|");
-		String fileName = strings[0];
-		try
-		{
-			URL url = new URL(fileName);
-			Path p = new Path(url.getFile());
-			xslFileName = (new Path(fileName)).lastSegment();
-
-			String idString = strings[1];
-			id = Integer.parseInt(idString);
-			String pc = strings[2];
-			lineNumber = Integer.parseInt(pc);
-			String safename = strings[3];
-
-			int theIndex;
-			while ((theIndex = safename.indexOf("%@_PIPE_@%")) != -1)
-			{
-				safename = safename.substring(0, theIndex) + "|" + safename.substring(theIndex + "%@_PIPE_@%".length(), safename.length());
-			}
-
-			name = p.lastSegment() + " " + safename;
-
-			int numVars = strings.length - 4;
-			variables = new IVariable[numVars];
-			for (int i = 0; i < numVars; i++)
-			{
-				String val = strings[i + 4];
-				int index = val.lastIndexOf('&');
-				int slotNumber = Integer.parseInt(val.substring(index + 1));
-				val = val.substring(0, index);
-				index = val.lastIndexOf('&');
-				String name = val.substring(0, index);
-				String scope = val.substring(index + 1);
-				variables[i] = new XSLVariable(this, scope, name, slotNumber);
-			}
-		}
-		catch (MalformedURLException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-	}
-*/
-
-	private void ressetStackFramesCache()
-	{
-		stale = true;
-		synchronized (VALUE_MAP_LOCK)
-		{
-			valueMapCache.clear();
-		}
-	}
-
-	/**
-	 * Single step the interpreter.
-	 */
-	protected void stepOver() throws DebugException
-	{
-		sendRequest(DebugConstants.REQUEST_STEP_OVER);
-	}
-
-	protected void stepInto() throws DebugException
-	{
-		sendRequest(DebugConstants.REQUEST_STEP_INTO);
-	}
-
-	protected void stepReturn() throws DebugException
-	{
-		sendRequest(DebugConstants.REQUEST_STEP_RETURN);
-	}
-
-	XSLVariable getVariable(int varId) throws DebugException
-	{
-		synchronized (variableMapCache)
-		{
-			XSLVariable var = variableMapCache.get(varId);
-			if (var == null)
-			{
-				var = new XSLVariable(this,varId);
-				String res = sendRequest(DebugConstants.REQUEST_VARIABLE + " " + varId);
-				String[] data = res.split("&");
-				var.setScope(data[0]);
-				var.setName(data[1]);
-				variableMapCache.put(varId,var);
-			}
-			return var;
-		}
-	}
-
-	IValue getVariableValue(XSLVariable variable) throws DebugException
-	{
-		synchronized (VALUE_MAP_LOCK)
-		{
-			XSLValue value = (XSLValue) valueMapCache.get(variable);
-			if (value == null && isSuspended())
-			{
-				String res = sendRequest(DebugConstants.REQUEST_VALUE + " " + variable.getId());
-				String[] data = res.split("&");
-				String type = data[0];
-				String theval;
-				if (data.length > 1)
-					theval = data[1];
-				else
-					theval = "";
-				value = new XSLValue(this, type, theval);
-			}
-			valueMapCache.put(variable, value);
-			return value;
-		}
-	}
-
-	private String sendRequest(String request) throws DebugException
-	{
-		String response = null;
-		synchronized (WRITE_LOCK)
-		{
-			// System.out.println("REQUEST: " + request);
-			requestWriter.println(request);
-			requestWriter.flush();
-			try
-			{
-				// wait for response
-				response = requestReader.readLine();
-				// System.out.println("RESPONSE: " + response);
-			}
-			catch (IOException e)
-			{
-				abort("Request failed: " + request, e);
-			}
-		}
-		return response;
-	}
-
-	private void breakpointHit(String event)
-	{
-		// determine which breakpoint was hit, and set the thread's breakpoint
-		int lastSpace = event.lastIndexOf(' ');
-		if (lastSpace > 0)
-		{
-			String line = event.substring(lastSpace + 1);
-			int lineNumber = Integer.parseInt(line);
-			IBreakpoint[] breakpoints = DebugPlugin.getDefault().getBreakpointManager().getBreakpoints(IXSLConstants.ID_XSL_DEBUG_MODEL);
-			for (IBreakpoint breakpoint : breakpoints)
-			{
-				if (supportsBreakpoint(breakpoint))
-				{
-					if (breakpoint instanceof ILineBreakpoint)
-					{
-						ILineBreakpoint lineBreakpoint = (ILineBreakpoint) breakpoint;
-						try
-						{
-							if (lineBreakpoint.getLineNumber() == lineNumber)
-							{
-								thread.setBreakpoints(new IBreakpoint[]{ breakpoint });
-								break;
-							}
-						}
-						catch (CoreException e)
-						{
-						}
-					}
-				}
-			}
-		}
-		suspended(DebugEvent.BREAKPOINT);
-	}
-
-	private class EventDispatchJob extends Job
-	{
-
-		public EventDispatchJob()
-		{
-			super("Event Dispatch");
-			setSystem(true);
-		}
-
-		@Override
-		protected IStatus run(IProgressMonitor monitor)
-		{
-			String event = "";
-			while (!isTerminated() && event != null)
-			{
-				try
-				{
-					event = eventReader.readLine();
-					if (event != null)
-					{
-						thread.setBreakpoints(null);
-						thread.setStepping(false);
-						if (event.equals("ready"))
-						{
-							ready();
-						}
-						else if (event.equals("stopped"))
-						{
-							try
-							{
-								terminate();
-							}
-							catch (DebugException e)
-							{
-							}
-						}
-						else if (event.equals("terminated"))
-						{
-							terminated();
-						}
-						else if (event.startsWith("resumed"))
-						{
-							if (event.endsWith("step"))
-							{
-								thread.setStepping(true);
-								resumed(DebugEvent.STEP_OVER);
-							}
-							else if (event.endsWith("client"))
-							{
-								resumed(DebugEvent.CLIENT_REQUEST);
-							}
-							else
-							{
-								// System.out.println("Did not understand event:
-								// " + event);
-							}
-						}
-						else if (event.startsWith("suspended"))
-						{
-							// clear down the frames so that they are re-fetched
-							ressetStackFramesCache();
-							if (event.endsWith("client"))
-							{
-								suspended(DebugEvent.CLIENT_REQUEST);
-							}
-							else if (event.endsWith("step"))
-							{
-								suspended(DebugEvent.STEP_END);
-							}
-							else if (event.indexOf("breakpoint") >= 0)
-							{
-								breakpointHit(event);
-							}
-							else
-							{
-								// System.out.println("Did not understand event:
-								// " + event);
-							}
-						}
-						else
-						{
-							// System.out.println("Did not understand event: " +
-							// event);
-						}
-					}
-				}
-				catch (IOException e)
-				{
-					terminated();
-				}
-			}
-			return Status.OK_STATUS;
-		}
-	}
-}
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
deleted file mode 100644
index cd8e4ca..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLLineBreakpoint.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Bjorn Freeman-Benson - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.model;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.LineBreakpoint;
-
-public class XSLLineBreakpoint extends LineBreakpoint
-{
-	private int lineNumber;
-
-	public XSLLineBreakpoint()
-	{
-	}
-
-	public XSLLineBreakpoint(final IResource resource, final int lineNumber, final int charStart, final int charEnd) throws CoreException
-	{
-		this.lineNumber = lineNumber;
-		IWorkspaceRunnable runnable = new IWorkspaceRunnable()
-		{
-			public void run(IProgressMonitor monitor) throws CoreException
-			{
-				IMarker marker = resource.createMarker(IXSLConstants.MARKER_ID);
-				setMarker(marker);
-				marker.setAttribute(IBreakpoint.ID, getModelIdentifier());
-				marker.setAttribute(IBreakpoint.ENABLED, Boolean.TRUE);
-				marker.setAttribute(IMarker.MESSAGE, "Line Breakpoint: " + resource.getName() + " [line: " + lineNumber + "]");
-
-				marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
-				marker.setAttribute(IMarker.CHAR_START, new Integer(charStart));
-				marker.setAttribute(IMarker.CHAR_END, new Integer(charEnd));
-
-				register(true);
-			}
-		};
-		run(getMarkerRule(resource), runnable);
-	}
-
-	@Override
-	public int getLineNumber() throws CoreException
-	{
-		int line = super.getLineNumber();
-		return line == -1 ? lineNumber : line;
-	}
-
-	protected void register(boolean register) throws CoreException
-	{
-		DebugPlugin plugin = DebugPlugin.getDefault();
-		if (plugin != null && register)
-		{
-			plugin.getBreakpointManager().addBreakpoint(this);
-		}
-		else
-		{
-			setRegistered(false);
-		}
-	}
-
-	public String getModelIdentifier()
-	{
-		return IXSLConstants.ID_XSL_DEBUG_MODEL;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLStackFrame.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLStackFrame.java
deleted file mode 100644
index 1c5cfa5..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLStackFrame.java
+++ /dev/null
@@ -1,248 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.model;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IRegisterGroup;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-import org.eclipse.debug.core.model.IVariable;
-import org.eclipse.wst.xsl.internal.launching.LaunchingPlugin;
-
-/**
- * XSL stack frame.
- */
-public class XSLStackFrame extends XSLDebugElement implements IStackFrame
-{
-	private final XSLThread xslThread;
-	private int id;
-	private String name;
-	private int lineNumber;
-	private String xslFileName;
-	private IVariable[] variables;
-
-	public XSLStackFrame(XSLThread thread, String data, int index)
-	{
-		super((XSLDebugTarget) thread.getDebugTarget());
-		this.xslThread = thread;
-		init(data,(XSLDebugTarget) thread.getDebugTarget());
-	}
-
-	private void init(String data,XSLDebugTarget debugTarget)
-	{
-
-		String[] strings = data.split("\\|");
-		String fileName = strings[0];
-		try
-		{
-			URL url = new URL(fileName);
-			Path p = new Path(url.getFile());
-			xslFileName = (new Path(fileName)).lastSegment();
-
-			String idString = strings[1];
-			id = Integer.parseInt(idString);
-			String pc = strings[2];
-			lineNumber = Integer.parseInt(pc);
-			String safename = strings[3];
-
-			int theIndex;
-			while ((theIndex = safename.indexOf("%@_PIPE_@%")) != -1)
-			{
-				safename = safename.substring(0, theIndex) + "|" + safename.substring(theIndex + "%@_PIPE_@%".length(), safename.length());
-			}
-
-			name = p.lastSegment() + " " + safename;
-			
-			variables = new XSLVariable[strings.length-4];
-			for (int i=0;i<variables.length;i++)
-			{
-				int varId = Integer.parseInt(strings[i+4]);
-				try
-				{
-					XSLVariable var = debugTarget.getVariable(varId);
-					variables[i] = var;
-				}
-				catch (DebugException e)
-				{
-					LaunchingPlugin.log(e);
-				}
-			}
-		}
-		catch (MalformedURLException e)
-		{
-			LaunchingPlugin.log(e);
-		}
-	}
-
-	public IThread getThread()
-	{
-		return xslThread;
-	}
-
-	public IVariable[] getVariables() throws DebugException
-	{
-		return variables;
-	}
-
-	public boolean hasVariables() throws DebugException
-	{
-		return variables.length > 0;
-	}
-
-	public int getLineNumber() throws DebugException
-	{
-		return lineNumber;
-	}
-
-	public int getCharStart() throws DebugException
-	{
-		return -1;
-	}
-
-	public int getCharEnd() throws DebugException
-	{
-		return -1;
-	}
-
-	public String getName() throws DebugException
-	{
-		return name + " line: " + lineNumber;
-	}
-
-	public IRegisterGroup[] getRegisterGroups() throws DebugException
-	{
-		return null;
-	}
-
-	public boolean hasRegisterGroups() throws DebugException
-	{
-		return false;
-	}
-
-	public boolean canStepInto()
-	{
-		return getThread().canStepInto();
-	}
-
-	public boolean canStepOver()
-	{
-		return getThread().canStepOver();
-	}
-
-	public boolean canStepReturn()
-	{
-		return getThread().canStepReturn();
-	}
-
-	public boolean isStepping()
-	{
-		return getThread().isStepping();
-	}
-
-	public void stepInto() throws DebugException
-	{
-		getThread().stepInto();
-	}
-
-	public void stepOver() throws DebugException
-	{
-		getThread().stepOver();
-	}
-
-	public void stepReturn() throws DebugException
-	{
-		getThread().stepReturn();
-	}
-
-	public boolean canResume()
-	{
-		return getThread().canResume();
-	}
-
-	public boolean canSuspend()
-	{
-		return getThread().canSuspend();
-	}
-
-	public boolean isSuspended()
-	{
-		return getThread().isSuspended();
-	}
-
-	public void resume() throws DebugException
-	{
-		getThread().resume();
-	}
-
-	public void suspend() throws DebugException
-	{
-		getThread().suspend();
-	}
-
-	public boolean canTerminate()
-	{
-		return getThread().canTerminate();
-	}
-
-	public boolean isTerminated()
-	{
-		return getThread().isTerminated();
-	}
-
-	public void terminate() throws DebugException
-	{
-		getThread().terminate();
-	}
-
-	/**
-	 * Returns the name of the source file this stack frame is associated with.
-	 */
-	public String getSourceName()
-	{
-		return xslFileName;
-	}
-
-	@Override
-	public boolean equals(Object obj)
-	{
-		if (obj instanceof XSLStackFrame)
-		{
-			XSLStackFrame sf = (XSLStackFrame) obj;
-			return sf.id == id;
-		}
-		return false;
-	}
-
-	@Override
-	public int hashCode()
-	{
-		return getSourceName().hashCode() + id;
-	}
-
-	protected int getIdentifier()
-	{
-		return id;
-	}
-
-	public void setLineNumber(int lineNumber)
-	{
-		this.lineNumber = lineNumber;
-	}
-
-	public void setVariables(IVariable[] variables)
-	{
-		this.variables = variables;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLThread.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLThread.java
deleted file mode 100644
index 81cf88d..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLThread.java
+++ /dev/null
@@ -1,177 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.model;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IThread;
-
-public class XSLThread extends XSLDebugElement implements IThread
-{
-
-	/**
-	 * Breakpoints this thread is suspended at or <code>null</code> if none.
-	 */
-	private IBreakpoint[] fBreakpoints;
-
-	/**
-	 * Whether this thread is stepping
-	 */
-	private boolean fStepping = false;
-
-	/**
-	 * Constructs a new thread for the given target
-	 */
-	public XSLThread(XSLDebugTarget target)
-	{
-		super(target);
-	}
-
-	public IStackFrame[] getStackFrames() throws DebugException
-	{
-		if (isSuspended())
-		{
-			return ((XSLDebugTarget) getDebugTarget()).getStackFrames();
-		}
-		else
-		{
-			return new IStackFrame[0];
-		}
-	}
-
-	public boolean hasStackFrames() throws DebugException
-	{
-		return isSuspended();
-	}
-
-	public int getPriority() throws DebugException
-	{
-		return 0;
-	}
-
-	public IStackFrame getTopStackFrame() throws DebugException
-	{
-		IStackFrame[] frames = getStackFrames();
-		if (frames.length > 0)
-		{
-			return frames[0];
-		}
-		return null;
-	}
-
-	public String getName() throws DebugException
-	{
-		return "Thread[1]";
-	}
-
-	public IBreakpoint[] getBreakpoints()
-	{
-		if (fBreakpoints == null)
-		{
-			return new IBreakpoint[0];
-		}
-		return fBreakpoints;
-	}
-
-	/**
-	 * Sets the breakpoints this thread is suspended at, or <code>null</code>
-	 * if none.
-	 * 
-	 * @param breakpoints
-	 *            the breakpoints this thread is suspended at, or
-	 *            <code>null</code> if none
-	 */
-	protected void setBreakpoints(IBreakpoint[] breakpoints)
-	{
-		fBreakpoints = breakpoints;
-	}
-
-	public boolean canResume()
-	{
-		return isSuspended();
-	}
-
-	public boolean canSuspend()
-	{
-		return !isSuspended();
-	}
-
-	public boolean isSuspended()
-	{
-		return getDebugTarget().isSuspended();
-	}
-
-	public void resume() throws DebugException
-	{
-		getDebugTarget().resume();
-	}
-
-	public void suspend() throws DebugException
-	{
-		getDebugTarget().suspend();
-	}
-
-	public boolean canStepInto()
-	{
-		return isSuspended();
-	}
-
-	public boolean canStepOver()
-	{
-		return isSuspended();
-	}
-
-	public boolean canStepReturn()
-	{
-		return isSuspended();
-	}
-
-	public boolean isStepping()
-	{
-		return fStepping;
-	}
-
-	public void stepInto() throws DebugException
-	{
-		((XSLDebugTarget) getDebugTarget()).stepInto();
-	}
-
-	public void stepOver() throws DebugException
-	{
-		((XSLDebugTarget) getDebugTarget()).stepOver();
-	}
-
-	public void stepReturn() throws DebugException
-	{
-		((XSLDebugTarget) getDebugTarget()).stepReturn();
-	}
-
-	public boolean canTerminate()
-	{
-		return !isTerminated();
-	}
-
-	public boolean isTerminated()
-	{
-		return getDebugTarget().isTerminated();
-	}
-
-	public void terminate() throws DebugException
-	{
-		getDebugTarget().terminate();
-	}
-
-	protected void setStepping(boolean stepping)
-	{
-		fStepping = stepping;
-	}
-}
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
deleted file mode 100644
index 1e27958..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLValue.java
+++ /dev/null
@@ -1,55 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.model;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-
-public class XSLValue extends XSLDebugElement implements IValue
-{
-	private final String fValue;
-	private final String type;
-
-	public XSLValue(XSLDebugTarget target, String type, String value)
-	{
-		super(target);
-		this.type = type;
-		fValue = value;
-	}
-
-	public String getReferenceTypeName() throws DebugException
-	{
-		return type;
-	}
-
-	public String getValueString() throws DebugException
-	{
-		if ("string".equals(type))
-			return "'"+fValue+"'";
-		return fValue;
-	}
-
-	public boolean isAllocated() throws DebugException
-	{
-		return true;
-	}
-
-	public IVariable[] getVariables() throws DebugException
-	{
-		return new IVariable[0];
-	}
-
-	public boolean hasVariables() throws DebugException
-	{
-		return 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
deleted file mode 100644
index 7aaae35..0000000
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/model/XSLVariable.java
+++ /dev/null
@@ -1,98 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.launching.model;
-
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IVariable;
-
-public class XSLVariable extends XSLDebugElement implements IVariable
-{
-	public static final String LOCAL_SCOPE = "L";
-	public static final String TUNNEL_SCOPE = "T";
-	public static final String GLOBAL_SCOPE = "G";
-
-	private final int id;
-	private String fName;
-	private String scope;
-	private String type;
-
-	public XSLVariable(XSLDebugTarget target, int id)
-	{
-		super(target);
-		this.id = id;
-	}
-
-	public int getId()
-	{
-		return id;
-	}
-
-	public IValue getValue() throws DebugException
-	{
-		return ((XSLDebugTarget) getDebugTarget()).getVariableValue(this);
-	}
-	
-	public void setName(String name)
-	{
-		this.fName = name;
-	}
-
-	public String getName() throws DebugException
-	{
-		return fName;
-	}
-
-	public String getReferenceTypeName() throws DebugException
-	{
-		if (GLOBAL_SCOPE.equals(scope))
-			return "global";
-		return "local";
-	}
-
-	public boolean hasValueChanged() throws DebugException
-	{
-		return false;
-	}
-
-	public void setValue(String expression) throws DebugException
-	{
-	}
-
-	public void setValue(IValue value) throws DebugException
-	{
-	}
-
-	public boolean supportsValueModification()
-	{
-		return false;
-	}
-
-	public boolean verifyValue(String expression) throws DebugException
-	{
-		return false;
-	}
-
-	public boolean verifyValue(IValue value) throws DebugException
-	{
-		return false;
-	}
-	
-	public void setScope(String scope)
-	{
-		this.scope = scope;
-	}
-
-	public String getScope()
-	{
-		return scope;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.saxon/.classpath b/bundles/org.eclipse.wst.xsl.saxon/.classpath
deleted file mode 100644
index de15a1a..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src-debugger"/>
-	<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="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xsl.saxon/.project b/bundles/org.eclipse.wst.xsl.saxon/.project
deleted file mode 100644
index f884eee..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xsl.saxon</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.saxon/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.saxon/META-INF/MANIFEST.MF
deleted file mode 100644
index 0650256..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.xsl.saxon;singleton:=true
-Bundle-Version: 0.5.0.qualifier
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Require-Bundle: org.eclipse.wst.xsl.debug
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
diff --git a/bundles/org.eclipse.wst.xsl.saxon/SaxonFeatures.properties b/bundles/org.eclipse.wst.xsl.saxon/SaxonFeatures.properties
deleted file mode 100644
index dfc488e..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/SaxonFeatures.properties
+++ /dev/null
@@ -1,73 +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
-###############################################################################
-ALLOW_EXTERNAL_FUNCTIONS=http://saxon.sf.net/feature/allow-external-functions
-ALLOW_EXTERNAL_FUNCTIONS.TYPE=boolean
-ALLOW_EXTERNAL_FUNCTIONS.DESC=true if the stylesheet allows external functions to be called. Default is true. The setting false is recommended in an environment where untrusted stylesheets may be executed. Setting this value to false  also disables user-defined extension elements, together with the writing of multiple output files, all of which carry similar security risks.
-
-TRACE_EXTERNAL_FUNCTIONS=http://saxon.sf.net/feature/trace-external-functions
-TRACE_EXTERNAL_FUNCTIONS.TYPE=boolean
-TRACE_EXTERNAL_FUNCTIONS.DESC=true if the tracing of calls to external Java methods is required. Default is false. This switch is useful when analyzing why Saxon fails to find a Java method to match an extension function call in the stylesheet, or why it chooses one method over another when several are available. The trace output is sent to System.err.
-
-TIMING=http://saxon.sf.net/feature/timing
-TIMING.TYPE=boolean
-TIMING.DESC=true if basic timing information is to be output to the standard error output stream.
-
-TREE_MODEL=http://saxon.sf.net/feature/treeModel
-TREE_MODEL.TYPE=int
-TREE_MODEL.DESC=Builder.STANDARD_TREE or Builder.TINY_TREE. Selects an implementation of the Saxon tree model. The default is Builder.TINY_TREE.
-
-TRACE_LISTENER=http://saxon.sf.net/feature/traceListener
-TRACE_LISTENER.TYPE=object
-TRACE_LISTENER.DESC=an instance of the class net.sf.saxon.trace.TraceListener. This object will be notified of significant events occurring during the transformation, for tracing or debugging purposes.
-
-LINE_NUMBERING=http://saxon.sf.net/feature/linenumbering
-LINE_NUMBERING.TYPE=boolean
-LINE_NUMBERING.DESC=indicates whether line numbers are to be maintained for the source document. This will not be possible if the source document is supplied as a DOM. The line numbers are accessible through the tracing interface, and also via the saxon:line-number() extension function.
-
-RECOVERY_POLICY=http://saxon.sf.net/feature/recoveryPolicy
-RECOVERY_POLICY.TYPE=int
-RECOVERY_POLICY.DESC=An Integer. Indicates how dynamic errors should be handled. One of the values (defined as constants in the Controller class) RECOVER_SILENTLY, RECOVER_WITH_WARNINGS, or DO_NOT_RECOVER).
-
-MESSAGE_EMITTER_CLASS=http://saxon.sf.net/feature/messageEmitterClass
-MESSAGE_EMITTER_CLASS.TYPE=class
-MESSAGE_EMITTER_CLASS.DESC=The full name of a saxon emitter class. that implements the net.sf.saxon.output.Emitter interface; the class will be used to format the output of the xsl:message instruction.
-
-SOURCE_PARSER_CLASS=http://saxon.sf.net/feature/sourceParserClass
-SOURCE_PARSER_CLASS.TYPE=class
-SOURCE_PARSER_CLASS.DESC=The full name of a class that implements the org.xml.sax.XMLReader interface; the class will be used to parse source documents (that is, the principal source document plus any secondary source documents read using the document() function)
-
-STYLE_PARSER_CLASS=http://saxon.sf.net/feature/styleParserClass
-STYLE_PARSER_CLASS.TYPE=class
-STYLE_PARSER_CLASS.DESC=The full name of a class that implements the org.xml.sax.XMLReader interface; the class will be used to parse stylesheet documents (that is, the principal stylesheet module plus any secondary source documents read using xsl:include or xsl:import)
-
-OUTPUT_URI_RESOLVER=http://saxon.sf.net/feature/outputURIResolver
-OUTPUT_URI_RESOLVER.TYPE=object
-OUTPUT_URI_RESOLVER.DESC=An instance of the class net.sf.saxon.OutputURIResolver; this object will be used to resolve URIs of secondary result documents specified in the href attribute of the xsl:result-document  instruction
-
-DTD_VALIDATION=http://saxon.sf.net/feature/validation
-DTD_VALIDATION.TYPE=boolean
-DTD_VALIDATION.DESC=Indicates whether the XML parser should be asked to validate source documents against their DTD. This applies to the initial source document and any source documents read using the document() function, unless handled by a user-written URIResolver.
-
-VALIDATION_WARNINGS=http://saxon.sf.net/feature/validation-warnings
-VALIDATION_WARNINGS.TYPE=boolean
-VALIDATION_WARNINGS.DESC=This determines whether validation errors in result documents should be treated as fatal. By default they are fatal; with this option set, they are treated as warnings.
-
-SCHEMA_VALIDATION=http://saxon.sf.net/feature/schema-validation
-SCHEMA_VALIDATION.TYPE=boolean
-SCHEMA_VALIDATION.DESC=This determines whether source documents should be parsed with schema-validation enabled.
-
-VERSION_WARNING=http://saxon.sf.net/feature/version-warning
-VERSION_WARNING.TYPE=boolean
-VERSION_WARNING.DESC=This determines whether a warning should be output when running an XSLT 2.0 processor against an XSLT 1.0 stylesheet. The XSLT specification requires this to be done by default.
-
-NAME_POOL=http://saxon.sf.net/feature/namePool
-NAME_POOL.TYPE=object
-NAME_POOL.DESC=A instance of class net.sf.saxon.om.NamePool. Indicates that the supplied NamePool should be used as the target (run-time) NamePool by all stylesheets compiled (using newTemplates()) after this call on setAttribute. Normally a single system-allocated NamePool is used for all stylesheets compiled while the Java VM remains loaded; this attribute allows user control over the allocation of NamePools. Note that source trees used as input to a transformation must be built using the same NamePool that is used when the stylesheet is compiled: this will happen automatically if the input to a transformation is supplied as a SAXSource or StreamSource but it is under user control if you build the source tree yourself.
diff --git a/bundles/org.eclipse.wst.xsl.saxon/SaxonOutputProperties.properties b/bundles/org.eclipse.wst.xsl.saxon/SaxonOutputProperties.properties
deleted file mode 100644
index e979071..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/SaxonOutputProperties.properties
+++ /dev/null
@@ -1,27 +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
-###############################################################################
-INDENT_SPACES={http://saxon.sf.net/}indent-spaces
-INDENT_SPACES.DESC=(integer value).Defines the number of spaces used for indentation of output
-
-UNDECLARE_NAMESPACES={http://saxon.sf.net/}undeclare-namespaces
-UNDECLARE_NAMESPACES.DESC=include-content-type = "yes" | "no". This attribute is defined in XSLT 2.0. Indicates XML 1.1 namespace declarations are to be output.
-
-CHARACTER_REPRESENTATION={http://saxon.sf.net/}character-representation
-CHARACTER_REPRESENTATION.DESC=(rep1[;rep2]). Indicates the preferred way of representing non-ASCII characters in HTML and XML output. rep1 is for characters in the range 128-256, rep2 for those above 256.
-
-NEXT_IN_CHAIN={http://saxon.sf.net/}next-in-chain
-NEXT_IN_CHAIN.DESC=(uri). Indicates that the output is to be piped into another XSLT stylesheet to perform another transformation. The auxiliary property NEXT_IN_CHAIN_BASE_URI records the base URI of the stylesheet element where this attribute was found.
-
-TYPE_INFORMATION={http://saxon.sf.net/}type-information
-TYPE_INFORMATION.DESC=(none|preserve|strict|lax). Indicates the value of the type-information attribute: "none", "preserve", "strict", "lax"
-
-REQUIRE_WELL_FORMED={http://saxon.sf.net/}require-well-formed
-REQUIRE_WELL_FORMED.DESC=(yes|no). Indicates whether a user-supplied ContentHandler requires the stream of SAX events to be well-formed (that is, to have a single element node and no text nodes as children of the root). The default is "no".
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.saxon/about.html b/bundles/org.eclipse.wst.xsl.saxon/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</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.saxon/build.properties b/bundles/org.eclipse.wst.xsl.saxon/build.properties
deleted file mode 100644
index 2b47d51..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src-debugger/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               SaxonFeatures.properties,\
-               SaxonOutputProperties.properties,\
-               about.html,\
-               plugin.xml
diff --git a/bundles/org.eclipse.wst.xsl.saxon/plugin.properties b/bundles/org.eclipse.wst.xsl.saxon/plugin.properties
deleted file mode 100644
index 14778c7..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-#Properties file for org.eclipse.wst.xsl.saxon
-Bundle-Name.0 = Saxon Plug-in (Incubating)
-processorType.label.0 = Saxon
-Bundle-Vendor.0 = Eclipse.org
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.saxon/plugin.xml b/bundles/org.eclipse.wst.xsl.saxon/plugin.xml
deleted file mode 100644
index 6982b1d..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.wst.xsl.launching.processorType">
-      <processorType
-            featureProperties="SaxonFeatures.properties"
-            id="org.eclipse.wst.xsl.saxon.processorType"
-            label="%processorType.label.0"
-            outputProperties="SaxonOutputProperties.properties"
-            transformerFactory="net.sf.saxon.TransformerFactoryImpl">
-      </processorType>
-   </extension>
-
-</plugin>
diff --git a/bundles/org.eclipse.wst.xsl.saxon/src-debugger/README.txt b/bundles/org.eclipse.wst.xsl.saxon/src-debugger/README.txt
deleted file mode 100644
index 1063a57..0000000
--- a/bundles/org.eclipse.wst.xsl.saxon/src-debugger/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-Just a placeholder to ensure src folder appears.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.ui/.classpath b/bundles/org.eclipse.wst.xsl.ui/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xsl.ui/.project b/bundles/org.eclipse.wst.xsl.ui/.project
deleted file mode 100644
index ea6d47e..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xsl.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 4bcf924..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.xsl.ui;singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.wst.xsl.internal.ui.XSLTUIPlugin
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.ui.editors,
- org.eclipse.wst.xml.core,
- org.eclipse.ui.console,
- org.eclipse.debug.ui,
- org.eclipse.wst.xml.ui.xpath,
- org.eclipse.search
-Eclipse-LazyStart: true
-Bundle-Vendor: %providerName
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/bundles/org.eclipse.wst.xsl.ui/build.properties b/bundles/org.eclipse.wst.xsl.ui/build.properties
deleted file mode 100644
index 62c2c9c..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               icons/,\
-               catalogs/,\
-               plugin.properties,\
-               templates/
diff --git a/bundles/org.eclipse.wst.xsl.ui/catalogs/xslt10.xsd b/bundles/org.eclipse.wst.xsl.ui/catalogs/xslt10.xsd
deleted file mode 100644
index 03973d3..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/catalogs/xslt10.xsd
+++ /dev/null
@@ -1,1697 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-*******************************************************************************
- * Copyright (c) 2001, 2007 - W3C, 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 - 20071228 - STAR - Updated to XML Schemas 2001 1.0
- *         Note this schemas is a modified version of the schema for XSLT 2.0, it has
- *         been stripped of all XSLT 2.0 additions, to bring it in line with the XSLT 1.0
- *         specification.
- *         The original version may be found at http://www.w3.org/2007/schema-for-xslt20.xsd
- *         The original W3C copyright notice is included.
- *******************************************************************************
- *******************************************************************************
- * W3C® SOFTWARE NOTICE AND LICENSE
- * http://www.w3.org/Consortium/Legal/copyright-software-19980720
- *
- * Copyright © 1994-2002 World Wide Web Consortium, (Massachusetts Institute of
- * Technology, Institut National de Recherche en Informatique et en Automatique,
- * Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/
- *
- * This W3C work (including software, documents, or other related items) is being
- * provided by the copyright holders under the following license. By obtaining,
- * using and/or copying this work, you (the licensee) agree that you have read,
- * understood, and will comply with the following terms and conditions:
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation, with or without modification,  for any purpose and without fee
- * or royalty is hereby granted, provided that you include the following on ALL copies
- * of the software and documentation or portions thereof, including modifications, that
- * you make:
- *
- *  1. The full text of this NOTICE in a location viewable to users of the redistributed
- *     or derivative work.
- *  2. Any pre-existing intellectual property disclaimers, notices, or terms and
- *     conditions. If none exist, a short notice of the following form (hypertext is preferred, text is permitted) should be used within the body of any redistributed or derivative code: "Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/"
- *  3. Notice of any changes or modifications to the W3C files, including the date changes
- *     were made. (We recommend you provide URIs to the location from which the code is
- *     derived.)
- *
- * THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO 
- * REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, 
- * WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF
- * THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
- * TRADEMARKS OR OTHER RIGHTS.
- *
- * COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL
- * DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
- *
- * The name and trademarks of copyright holders may NOT be used in advertising or publicity
- * pertaining to the software without specific, written prior permission. Title to copyright
- * in this software and any associated documentation will at all times remain with copyright
- * holders.
- ******************************************************************************************** 
- -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-           xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-           targetNamespace="http://www.w3.org/1999/XSL/Transform" 
-           elementFormDefault="qualified" >
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-  
-   </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
- 
-<!--
-The declaration of xml:space and xml:lang may need to be commented out because
-of problems processing the schema using various tools
--->
-      
-<xs:import namespace="http://www.w3.org/XML/1998/namespace" 
-  schemaLocation="http://www.w3.org/2001/xml.xsd"/>
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-    PART A: definitions of complex types and model groups used as the basis 
-            for element definitions
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:complexType name="generic-element-type" mixed="true">
-  <xs:attribute name="default-collation" type="xsl:uri-list"/>
-
-  <xs:attribute name="exclude-result-prefixes" type="xsl:prefix-list-or-all"/>
-  <xs:attribute name="extension-element-prefixes" type="xsl:prefix-list"/>
-  <xs:attribute name="use-when" type="xsl:expression"/>
-  <xs:attribute name="xpath-default-namespace" type="xs:anyURI"/>
-  <xs:anyAttribute namespace="##other" processContents="lax"/>
-</xs:complexType>
-
-<xs:complexType name="versioned-element-type" mixed="true">
-  <xs:complexContent>
-    <xs:extension base="xsl:generic-element-type">    
-      <xs:attribute name="version" type="xs:decimal" use="optional"/>
-
-    </xs:extension>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:complexType name="element-only-versioned-element-type" mixed="false">
-  <xs:complexContent>
-    <xs:restriction base="xsl:versioned-element-type">
-      <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-  </xs:complexContent>
-
-</xs:complexType>
-
-<xs:complexType name="sequence-constructor">
-  <xs:complexContent mixed="true">
-    <xs:extension base="xsl:versioned-element-type">    
-      <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-    </xs:extension>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:group name="sequence-constructor-group">
-  <xs:choice>
-
-    <xs:element ref="xsl:variable"/>
-    <xs:element ref="xsl:instruction"/>
-    <xs:group ref="xsl:result-elements"/>
-  </xs:choice>
-</xs:group>
-
-<xs:element name="declaration" type="xsl:generic-element-type" abstract="true"/>
-
-<xs:element name="instruction" type="xsl:versioned-element-type" abstract="true"/>
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-
-    PART B: definitions of individual XSLT elements    
-    Elements are listed in alphabetical order.    
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:element name="apply-imports" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        This command applies template rule from an imported style sheet.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type"/>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="apply-templates" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Applies template rules based on a given XPath selection criteria.  If no template
-        is found the built in templates are used.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:choice minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="xsl:sort"/>
-          <xs:element ref="xsl:with-param"/>
-        </xs:choice>
-        <xs:attribute name="select" type="xsl:expression" default="child::node()">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Specifies the XPath criteria to be used to apply the templates.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="mode" type="xsl:mode">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Specifies the type of template to be used if there is more than
-                 one way in which to process the given criteria.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="attribute" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Defines an attribute that will be put in the result set.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required. The name of the attribute to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="namespace" type="xsl:avt">
-              <xs:annotation>
-                 <xs:documentation source="http://www.w3.org/TR/xslt">
-                    Optional. The namespace for the attribute.
-                 </xs:documentation>
-              </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>        
-
-<xs:element name="attribute-set" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Defines a group of attributes that will be created and can be reused
-         by other portions of the stylesheet during processing.  These attributes
-         will appear on the resulting document when used.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence minOccurs="0" maxOccurs="unbounded">
-          <xs:element ref="xsl:attribute"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  Name of the attribute set.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default="">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  A list of attributes-sets separated by spaces to be used in this
-                  attribute set.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="call-template" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Specifies the name of a template to be called. A called template
-        is only executed when it is called.  It is not executed directly by
-        an apply-templates command.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:with-param" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The name of the template to be called.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="choose" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Choose is the beginning of a When/Otherwise combination.  It is
-         the way to implement case selection of If/Then/ElseIf type logical
-         processing.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:when" maxOccurs="unbounded"/>
-          <xs:element ref="xsl:otherwise" minOccurs="0"/>
-        </xs:sequence>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="comment" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Creates a comment node in the result document.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor"/>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="copy" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Copy creates a duplicate of the current node being processed.  It
-         does not copy the attributes or children nodes.  See copy-of for
-         copying attributes and children nodes.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default="">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  A space separated list of attributes sets to apply to the
-                 result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="copy-of" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Creates a copy-of the current node and all attributes, and children nodes.
-         It copies the nodes specified by the XPath selection criteria.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:attribute name="select" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  XPath expressions that select the nodes to be copied.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="decimal-format" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Defines the output format to be used when converting numbers into strings when
-         used with the XPath function format-number().
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="name" type="xsl:QName">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The unique name for this format.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="decimal-separator" type="xsl:char" default=".">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The character to use to represent a decimal point.
-                  The default value is a period.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="grouping-separator" type="xsl:char" default=",">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to seperate thousands.  The
-                  default is a comma.              
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="infinity" type="xs:string" default="Infinity">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The string to be used to represent infinity. The default
-                  is Infinity.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="minus-sign" type="xsl:char" default="-">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to represent negative numbers.
-                  The default is the minus sign.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="NaN" type="xs:string" default="NaN">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The string to be used when the input is Not a Number.
-                  The default is NaN.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="percent" type="xsl:char" default="%">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to represent a percent.
-                  The default is a percent sign.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="per-mille" type="xsl:char" default="&#x2030;">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The character to be used to represet per thousand.
-                  The default is &#x2030;
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="zero-digit" type="xsl:char" default="0">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to represent the digit zero.
-                  The default is the number zero.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="digit" type="xsl:char" default="#">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                   Optional. The character to be used to indicated where a digit
-                   is required.  The default values is # character.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="pattern-separator" type="xsl:char" default=";">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                   Optional. The character to be used to separate positive and
-                   negative sub-patterns in a pattern.  The default is a semi-colon.                   
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="element" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Creates an element in the result document.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType mixed="true">
-    <xs:complexContent>
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The name of the element to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="namespace" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                   Optional. The namespace the element belongs.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="use-attribute-sets" type="xsl:QNames" default="">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                   Optional.  A space separated list of attribute-set names to 
-                   be included on the element.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="fallback" substitutionGroup="xsl:instruction" type="xsl:sequence-constructor">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-          Specifies alternate code to be run if the XSLT processor doesn't understand
-          a particular xsl element.
-     </xs:documentation>
-  </xs:annotation>
-</xs:element>
-
-<xs:element name="for-each" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         A looping command that processes each node returned from the
-         XPath selection criteria.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:sort" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="select" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                    Required.  The XPath selection criteria to be used to retrieve the
-                    node set to be processed by the loop.              
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="if" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         A logical construct, that will only be applied when the XPath expression
-         test returns true.  It does not support a Else statement, see Choose
-         for implementing If/Then/ElseIf logic.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="test" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                    Required.  The XPath expression to test the variable or node against.
-                    The statements nested will only be executed if the test returns
-                    true.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="import">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Allows the inclusion of one stylesheet into another.  If there are
-        templates that are the same in the parent stylesheet that are in the
-        stylesheet being imported, the parent stylesheet's templates will 
-        take precedence.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="href" type="xs:anyURI" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The URI for the stylesheet.  This is either a relative
-                  or physical URI.  If it is relative, it is relative to the location
-                  of the stylesheet.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-
-<xs:element name="include" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Include brings in another stylesheet into the current one.  Unlike
-         the Import statement, the stylesheet templates have the same precedence
-         as the one being included in to.
-     </xs:documentation>
-  </xs:annotation>
-    <xs:complexType>
-      <xs:complexContent>
-        <xs:extension base="xsl:element-only-versioned-element-type">
-          <xs:attribute name="href" type="xs:anyURI" use="required">
-              <xs:annotation>
-                 <xs:documentation source="http://www.w3.org/TR/xslt">
-                     Required.  The URI for the stylesheet.  This is either a relative
-                     or physical URI.  If it is relative, it is relative to the location
-                     of the stylesheet.
-                 </xs:documentation>
-              </xs:annotation>
-          </xs:attribute>
-        </xs:extension>
-      </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="key" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        A key is a way to index a set of nodes to be retrieved later by the XPath
-        key() function.  It allows faster access to a series of nodes based off of a
-        unique key with in a list of nodes.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The name of the key to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="match" type="xsl:pattern" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Defines the XPath expression to which the nodes will
-                  be applied.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="use" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                    Required.  The value of the key for each of the nodes.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-</xs:element>
-
-<xs:element name="message" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Writes a message to the output, usually stdout or stderro.  Typically
-         used to report errors during processing.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="terminate" type="xsl:avt" default="no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Indicates whether processing should be ended after
-                  producing the message.  The default value is no.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="namespace-alias" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Allows replacing of a particular namespace from the style sheet to a different
-         namespace when writing the result document.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="stylesheet-prefix" type="xsl:prefix-or-default" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  Specifies the name of the prefix you want to change.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="result-prefix" type="xsl:prefix-or-default" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  Specifies the name of the prefix the result is to use.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="number" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Used to determine the integer position of the current node.  Also used
-        in formatting a number.     
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:attribute name="value" type="xsl:expression">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  A number provided by the implementor instead of
-                  a system generated number.  The position() xpath function can
-                  be used as well.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="level" type="xsl:level" default="single">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Specifies how the sequence number is assigned.  Valid values
-                 are single (default), multiple, and any.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="count" type="xsl:pattern">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  An XPath expression that indicates what nodes are to be
-                 counted.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="from" type="xsl:pattern">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  An XPath expression that indicates where counting will start.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="format" type="xsl:avt" default="1">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  The format string in which the number is to be formatted.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="lang" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  The language code used to indicate what spoken language is
-                 to be used for the format string.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="letter-value" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Specifies whether the number is alphabetical or traditional.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="grouping-separator" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The character to be used to seperate a group of numbers.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="grouping-size" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. A number indicating the number of digits in a group.  The
-                  default is 3.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="otherwise" type="xsl:sequence-constructor">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Otherwise is used to indicate the default action when none of the 
-         When tests are true, in a Choose statement.
-     </xs:documentation>
-   </xs:annotation>
-</xs:element>
-
-<xs:element name="output" substitutionGroup="xsl:declaration">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Specifies the format for the result document.
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:generic-element-type">
-        <xs:attribute name="method" type="xsl:method">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Valid values are xml, html, and text.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="cdata-section-elements" type="xsl:QNames">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. A space separated list of elements whose content should
-                 be wrapped with CDATA.                
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="doctype-public" type="xs:string">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Sets the value of the Public doctype attribute.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="doctype-system" type="xs:string">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Sets the value of the System doctype attribute.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="encoding" type="xs:string">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Specifies the type of encoding to use.  i.e. UTF-8, UTF-16, etc.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="indent" type="xsl:yes-or-no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Should the result document be pretty-printed.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="media-type" type="xs:string">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The mime type of the result document.  i.e. text/xml
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="omit-xml-declaration" type="xsl:yes-or-no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Whether the xml declation should be created in the 
-                  result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="standalone" type="xsl:yes-or-no-or-omit">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Indicates if a standalone declartion should occcur in the
-                 result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="version" type="xs:NMTOKEN">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. Sets the W3C version number to be used with the
-                 result document.  Only used for HTML or XML output.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="param">
-     <xs:annotation>
-        <xs:documentation source="http://www.w3.org/TR/xslt">
-            Used to declare a local or global parameter.
-        </xs:documentation>
-     </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The name of the parameter to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="select" type="xsl:expression">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  An XPath expression to be used to populate the parameter
-                  if nothing is passed to it.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-
-<xs:element name="preserve-space" substitutionGroup="xsl:declaration">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Indicates the elements that are to have white space preserved when
-         creating the result document.
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="elements" type="xsl:nametests" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  A space seperated list of elements in which
-                  white space is significant and should be preserved when
-                  creating the result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="processing-instruction" substitutionGroup="xsl:instruction">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         Creates a processing instruction in the result document.
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:avt" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The name of the processing instruction to be created.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="sort">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Sorts the output of the node set.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="select" type="xsl:expression">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Specifies the XPath expression to be used to create the nodeset
-                 to be sorted.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>  
-        <xs:attribute name="lang" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. The language code to be used for sorting.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>        
-        <xs:attribute name="data-type" type="xsl:avt" default="text">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The type of data that is being sorted. The default
-                  is text.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>        
-        <xs:attribute name="order" type="xsl:avt" default="ascending">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The order in which the data is to be sorted.  The
-                  default is ascending.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>        
-        <xs:attribute name="case-order" type="xsl:avt">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Specifies if upper or lowercase letters are to 
-                  be sorted first.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="strip-space" substitutionGroup="xsl:declaration">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Defines which elements are to have white space stripped when
-        writing the result document.     
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:element-only-versioned-element-type">
-        <xs:attribute name="elements" type="xsl:nametests" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  A space separeated list of elements are to have
-                 white space removed when writing the result document.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="stylesheet" substitutionGroup="xsl:transform">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         The root element of a style sheet.  Also see the transform element.
-         Either stylesheet or transform can be used.  Typically stylsheet is
-         used.
-     </xs:documentation>
-  </xs:annotation>
-</xs:element>
-
-<xs:element name="template" substitutionGroup="xsl:declaration">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        A template contains processing instructions and commands for nodes in the
-        input document that match the specified XPath expression.
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:versioned-element-type">
-        <xs:sequence>
-          <xs:element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:sequence>
-        <xs:attribute name="match" type="xsl:pattern">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional. An XPath expression or expressions that this template will
-                 be applied to.  Note if this is omitted, then a name attribute must
-                 be used.  Either a namoe or a match are to be used, but not both.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="priority" type="xs:decimal">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  Indicates the numeric priortity for processing the
-                  template.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="mode" type="xsl:modes">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The name of the mode for this template.  Used to match
-                  up with the apply-templates mode attribute.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="name" type="xsl:QName">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The name of a called template.  Note that if name is
-                  not used, then match must be used.  You can have one or the other
-                  but not both.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:complexType name="text-element-base-type">
-  <xs:simpleContent>
-    <xs:restriction base="xsl:versioned-element-type">
-
-      <xs:simpleType>
-        <xs:restriction base="xs:string"/>
-      </xs:simpleType>
-      <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-  </xs:simpleContent>
-</xs:complexType>
-
-<xs:element name="text" substitutionGroup="xsl:instruction">
-   <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Writes text data to the output.  i.e. #PCData
-     </xs:documentation>
-   </xs:annotation>
-  <xs:complexType>
-    <xs:simpleContent>
-      <xs:extension base="xsl:text-element-base-type">
-        <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  Indicates if non friendly html and xml content should be converted
-                 to their entity types.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:simpleContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:complexType name="transform-element-base-type">
-  <xs:complexContent>
-    <xs:restriction base="xsl:element-only-versioned-element-type">
-      <xs:attribute name="version" type="xs:decimal" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The version number corresponding the the
-                 XSLT specification being used.  For XSLT 1.0, this will
-                 be 1.0.
-              </xs:documentation>
-           </xs:annotation>
-      </xs:attribute>
-      <xs:anyAttribute namespace="##other" processContents="lax"/>
-    </xs:restriction>
-  </xs:complexContent>
-</xs:complexType>
-
-<xs:element name="transform">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         The root element of a style sheet.  Also see the stylesheet element.
-         Either stylesheet or transform can be used.  Typically stylsheet is
-         used.
-     </xs:documentation>
-  </xs:annotation>
-  <xs:complexType>
-    <xs:complexContent>
-      <xs:extension base="xsl:transform-element-base-type">
-        <xs:sequence>
-          <xs:element ref="xsl:import" minOccurs="0" maxOccurs="unbounded"/>
-          <xs:choice minOccurs="0" maxOccurs="unbounded">
-            <xs:element ref="xsl:declaration"/>
-            <xs:element ref="xsl:variable"/>
-            <xs:element ref="xsl:param"/>              
-            <xs:any namespace="##other" processContents="lax"/> <!-- weaker than XSLT 1.0 -->
-          </xs:choice>
-        </xs:sequence>
-        <xs:attribute name="id" type="xs:ID">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Optional.  A unique ID for the stylesheet.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="value-of" substitutionGroup="xsl:instruction">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Used to pull the data value from the selected node or XPath expression.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="select" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The XPath expression or current node to be used
-                 to pull the data from.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="disable-output-escaping" type="xsl:yes-or-no" default="no">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional. Whether non-xml friendly data should be entity escaped.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="variable">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Declares a local or global variable to be used during processing.
-        The contents of variable can be populated by either a series of
-        XSLT commands or XPath expressions.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 Required.  The name of the variable.  This is how the
-                 variable is accessed later in the stylesheet.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="select" type="xsl:expression" use="optional">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  The XPath expression in which the variable is
-                  populated from.  This specifies where the variable is to get
-                  it's data value from.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="when">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-         A conditional statement similiar to an if statement, used to test
-         if a particular expression is true or false.  Use with the Choose and
-         Other wise elements.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="test" type="xsl:expression" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                 An XPath expression that tests to true or false.  If true
-                 the statements within are executed.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<xs:element name="with-param">
-  <xs:annotation>
-     <xs:documentation source="http://www.w3.org/TR/xslt">
-        Defines the value of a parameter to be passed to a called template.
-     </xs:documentation>
-  </xs:annotation>
-
-  <xs:complexType>
-    <xs:complexContent mixed="true">
-      <xs:extension base="xsl:sequence-constructor">
-        <xs:attribute name="name" type="xsl:QName" use="required">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Required.  The name of the parameter to be set.  This
-                  must exist in the template that is being called.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-        <xs:attribute name="select" type="xsl:expression">
-           <xs:annotation>
-              <xs:documentation source="http://www.w3.org/TR/xslt">
-                  Optional.  An XPath expression that is used to set
-                  the value for the parameter being passed to a template.
-              </xs:documentation>
-           </xs:annotation>
-        </xs:attribute>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-</xs:element>
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-    PART C: definition of literal result elements
-    
-    There are three ways to define the literal result elements
-    permissible in a stylesheet.
-    
-    (a) do nothing. This allows any element to be used as a literal
-        result element, provided it is not in the XSLT namespace
-    
-    (b) declare all permitted literal result elements as members
-        of the xsl:literal-result-element substitution group
-        
-    (c) redefine the model group xsl:result-elements to accommodate
-        all permitted literal result elements.
-        
-    Literal result elements are allowed to take certain attributes
-    in the XSLT namespace. These are defined in the attribute group
-    literal-result-element-attributes, which can be included in the
-    definition of any literal result element.
-    
-  </xs:documentation>
-
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:element name="literal-result-element" abstract="true" type="xs:anyType"/>
-
-<xs:attributeGroup name="literal-result-element-attributes">
-  <xs:attribute name="default-collation" form="qualified" type="xsl:uri-list"/>
-  <xs:attribute name="extension-element-prefixes" form="qualified" type="xsl:prefixes"/>
-  <xs:attribute name="exclude-result-prefixes" form="qualified" type="xsl:prefixes"/>
-  <xs:attribute name="xpath-default-namespace" form="qualified" type="xs:anyURI"/>    
-  <xs:attribute name="inherit-namespaces" form="qualified" type="xsl:yes-or-no" default="yes"/>
-  <xs:attribute name="use-attribute-sets" form="qualified" type="xsl:QNames" default=""/>
-
-  <xs:attribute name="use-when" form="qualified" type="xsl:expression"/>
-  <xs:attribute name="version" form="qualified" type="xs:decimal"/>
-  <xs:attribute name="type" form="qualified" type="xsl:QName"/>
-  <xs:attribute name="validation" form="qualified" type="xsl:validation-type"/>
-</xs:attributeGroup>
-
-<xs:group name="result-elements">
-  <xs:choice>
-    <xs:element ref="xsl:literal-result-element"/>
-    <xs:any namespace="##other" processContents="lax"/>
-
-    <xs:any namespace="##local" processContents="lax"/>
-  </xs:choice>
-</xs:group>
-
-
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-<xs:annotation>
-  <xs:documentation>
-    PART D: definitions of simple types used in stylesheet attributes 
-  </xs:documentation>
-</xs:annotation>   
-<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
-
-<xs:simpleType name="avt">
-  <xs:annotation>
-    <xs:documentation>
-      This type is used for all attributes that allow an attribute value template.
-      The general rules for the syntax of attribute value templates, and the specific
-      rules for each such attribute, are described in the XSLT 2.0 Recommendation.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:string"/>
-</xs:simpleType>
-
-<xs:simpleType name="char">
-  <xs:annotation>
-
-    <xs:documentation>
-      A string containing exactly one character.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:string">
-    <xs:length value="1"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="expression">
-  <xs:annotation>
-
-    <xs:documentation>
-      An XPath 2.0 expression.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:pattern value=".+"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="input-type-annotations-type">
-  <xs:annotation>
-
-    <xs:documentation>
-      Describes how type annotations in source documents are handled.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="preserve"/>
-    <xs:enumeration value="strip"/>   
-    <xs:enumeration value="unspecified"/>        
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="level">
-  <xs:annotation>
-    <xs:documentation>
-      The level attribute of xsl:number: 
-      one of single, multiple, or any.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:NCName">
-    <xs:enumeration value="single"/>
-    <xs:enumeration value="multiple"/>
-    <xs:enumeration value="any"/>
-
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="mode">
-  <xs:annotation>
-    <xs:documentation>
-      The mode attribute of xsl:apply-templates: 
-      either a QName, or #current, or #default.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union memberTypes="xsl:QName">
-    <xs:simpleType>
-
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#default"/>
-        <xs:enumeration value="#current"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="modes">
-  <xs:annotation>
-
-    <xs:documentation>
-      The mode attribute of xsl:template: 
-      either a list, each member being either a QName or #default;
-      or the value #all
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union>
-    <xs:simpleType>
-      <xs:list>
-        <xs:simpleType>
-          <xs:union memberTypes="xsl:QName">
-
-            <xs:simpleType>
-              <xs:restriction base="xs:token">
-                <xs:enumeration value="#default"/>
-              </xs:restriction>
-            </xs:simpleType>
-          </xs:union>
-        </xs:simpleType>
-      </xs:list>
-    </xs:simpleType>
-
-    <xs:simpleType>
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#all"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="nametests">
-  <xs:annotation>
-
-    <xs:documentation>
-      A list of NameTests, as defined in the XPath 2.0 Recommendation.
-      Each NameTest is either a QName, or "*", or "prefix:*", or "*:localname"
-    </xs:documentation>
-  </xs:annotation>
-  <xs:list>
-    <xs:simpleType>
-      <xs:union memberTypes="xsl:QName">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-
-            <xs:enumeration value="*"/>
-          </xs:restriction>
-        </xs:simpleType>
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:pattern value="\i\c*:\*"/>
-            <xs:pattern value="\*:\i\c*"/>            
-          </xs:restriction>
-        </xs:simpleType>
-
-      </xs:union>
-    </xs:simpleType>
-  </xs:list>
-</xs:simpleType>
-
-<xs:simpleType name="prefixes">
-  <xs:list itemType="xs:NCName"/>
-</xs:simpleType>
-
-<xs:simpleType name="prefix-list-or-all">
-  <xs:union memberTypes="xsl:prefix-list">
-    <xs:simpleType>
-
-      <xs:restriction base="xs:token">
-        <xs:enumeration value="#all"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-      
-<xs:simpleType name="prefix-list">
-  <xs:list itemType="xsl:prefix-or-default"/>
-</xs:simpleType>
-
-<xs:simpleType name="method">
-  <xs:annotation>
-    <xs:documentation>
-      The method attribute of xsl:output:
-      Either one of the recognized names "xml", "xhtml", "html", "text",
-      or a QName that must include a prefix.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union>
-    <xs:simpleType>
-      <xs:restriction base="xs:NCName">
-        <xs:enumeration value="xml"/>
-
-        <xs:enumeration value="xhtml"/>
-        <xs:enumeration value="html"/>
-        <xs:enumeration value="text"/>
-      </xs:restriction>
-    </xs:simpleType>
-    <xs:simpleType>
-      <xs:restriction base="xsl:QName">
-        <xs:pattern value="\c*:\c*"/>
-      </xs:restriction>
-
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="pattern">
-  <xs:annotation>
-    <xs:documentation>
-      A match pattern as defined in the XSLT 2.0 Recommendation.
-      The syntax for patterns is a restricted form of the syntax for
-      XPath 2.0 expressions.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xsl:expression"/>
-
-</xs:simpleType>
-
-<xs:simpleType name="prefix-or-default">
-  <xs:annotation>
-    <xs:documentation>
-      Either a namespace prefix, or #default.
-      Used in the xsl:namespace-alias element.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:union memberTypes="xs:NCName">
-    <xs:simpleType>
-      <xs:restriction base="xs:token">
-
-        <xs:enumeration value="#default"/>
-      </xs:restriction>
-    </xs:simpleType>
-  </xs:union>
-</xs:simpleType>
-
-<xs:simpleType name="QNames">
-  <xs:annotation>
-    <xs:documentation>
-      A list of QNames.
-      Used in the [xsl:]use-attribute-sets attribute of various elements,
-      and in the cdata-section-elements attribute of xsl:output
-    </xs:documentation>
-
-  </xs:annotation>
-  <xs:list itemType="xsl:QName"/>          
-</xs:simpleType>
-
-<xs:simpleType name="QName">
-  <xs:annotation>
-    <xs:documentation>
-      A QName.
-      This schema does not use the built-in type xs:QName, but rather defines its own
-      QName type. Although xs:QName would define the correct validation on these attributes,
-      a schema processor would expand unprefixed QNames incorrectly when constructing the PSVI,
-      because (as defined in XML Schema errata) an unprefixed xs:QName is assumed to be in
-      the default namespace, which is not the correct assumption for XSLT.
-      The data type is defined as a restriction of the built-in type Name, restricted
-      so that it can only contain one colon which must not be the first or last character.
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:Name">
-
-    <xs:pattern value="([^:]+:)?[^:]+"/>      
-  </xs:restriction>        
-</xs:simpleType>
-
-<xs:simpleType name="sequence-type">
-  <xs:annotation>
-    <xs:documentation>
-      The description of a data type, conforming to the
-      SequenceType production defined in the XPath 2.0 Recommendation
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-
-    <xs:pattern value=".+"/>      
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="uri-list">
-  <xs:list itemType="xs:anyURI"/>
-</xs:simpleType>
-
-<xs:simpleType name="validation-strip-or-preserve">
-  <xs:annotation>
-    <xs:documentation>
-      Describes different ways of type-annotating an element or attribute.
-    </xs:documentation>
-
-  </xs:annotation>
-  <xs:restriction base="xsl:validation-type">
-    <xs:enumeration value="preserve"/>
-    <xs:enumeration value="strip"/>    
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="validation-type">
-  <xs:annotation>
-    <xs:documentation>
-      Describes different ways of type-annotating an element or attribute.
-    </xs:documentation>
-
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="strict"/>
-    <xs:enumeration value="lax"/>
-    <xs:enumeration value="preserve"/>
-    <xs:enumeration value="strip"/>    
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="yes-or-no">
-  <xs:annotation>
-
-    <xs:documentation>
-      One of the values "yes" or "no".
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="yes"/>
-    <xs:enumeration value="no"/>
-  </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="yes-or-no-or-omit">
-  <xs:annotation>
-    <xs:documentation>
-      One of the values "yes" or "no" or "omit".
-    </xs:documentation>
-  </xs:annotation>
-  <xs:restriction base="xs:token">
-    <xs:enumeration value="yes"/>
-    <xs:enumeration value="no"/>
-    <xs:enumeration value="omit"/>
-
-  </xs:restriction>
-</xs:simpleType>
-
-</xs:schema>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.ui/plugin.properties b/bundles/org.eclipse.wst.xsl.ui/plugin.properties
deleted file mode 100644
index c367683..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005-2007 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
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     Lars Gersmann (www.orangevolt.com) - XSL UI support
-#     David Carver - STAR - bug 215126, 213853
-#     
-###############################################################################
-
-providerName=Eclipse.org
-pluginName=Eclipse XSL UI Plug-in
-perspectiveName=XSL Perspective
-page.name.0 = XSL
-
diff --git a/bundles/org.eclipse.wst.xsl.ui/plugin.xml b/bundles/org.eclipse.wst.xsl.ui/plugin.xml
deleted file mode 100644
index 0bf78c3..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/plugin.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension point="org.eclipse.ui.editors.templates">
-		<include file="templates/file_templates.xml"/>
-    </extension>
-   <extension
-         point="org.eclipse.wst.xml.core.catalogContributions">
-      <catalogContribution
-            id="org.eclipse.wst.xsl.catalogs">
-         <uri
-               id="xslt1.0"
-               name="http://www.w3.org/1999/XSL/Transform"
-               uri="catalogs/xslt10.xsd">
-         </uri>
-      </catalogContribution>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-		<page
-	        category="org.eclipse.wst.sse.ui.internal.provisional.preferences"
-	        class="org.eclipse.wst.xsl.internal.ui.preferences.MainPreferencePage"
-	        id="org.eclipse.wst.xsl.ui.preferences.BasePreferencePage"
-	        name="%page.name.0"/>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/internal/ui/XSLTUIPlugin.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/internal/ui/XSLTUIPlugin.java
deleted file mode 100644
index 0318b25..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/internal/ui/XSLTUIPlugin.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005-2007 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Lars Gersmann (www.orangevolt.com) 
- *     David Carver - STAR - renaming package to follow wst naming.
- *******************************************************************************/
-
-package org.eclipse.wst.xsl.internal.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class XSLTUIPlugin extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.wst.xsl.launch";
-
-	// The shared instance
-	private static XSLTUIPlugin plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public XSLTUIPlugin() {
-	}
-
-	/*
-	 * (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 XSLTUIPlugin getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/internal/ui/preferences/MainPreferencePage.java b/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/internal/ui/preferences/MainPreferencePage.java
deleted file mode 100644
index 334b241..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/src/org/eclipse/wst/xsl/internal/ui/preferences/MainPreferencePage.java
+++ /dev/null
@@ -1,88 +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 - STAR - bug 213853 - Moved main preference page out of
- *                                        debug ui and into XSL ui.
- *******************************************************************************/
-package org.eclipse.wst.xsl.internal.ui.preferences;
-
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPreferencePage;
-
-public class MainPreferencePage extends PreferencePage implements IWorkbenchPreferencePage
-{
-	public MainPreferencePage()
-	{
-		super();
-		noDefaultAndApplyButton();
-	}
-
-	public void init(IWorkbench workbench)
-	{
-	}
-
-	@Override
-	protected Control createContents(Composite ancestor)
-	{
-		initializeDialogUnits(ancestor);
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		ancestor.setLayout(layout);
-
-		Label label = new Label(ancestor, SWT.NONE);
-		label.setText("Expand the tree to set preferences ");
-
-		// Label label = new Label(ancestor,SWT.NONE);
-		// label.setText("Resolve URI's relative to:");
-		//		
-		// Button radio1 = new Button(ancestor,SWT.RADIO);
-		// radio1.setText("working directory");
-		//		
-		// Button radio2 = new Button(ancestor,SWT.RADIO);
-		// radio2.setText("stylesheet");
-		//		
-		// Button radio3 = new Button(ancestor,SWT.RADIO);
-		// radio3.setText("input file");
-		//
-		// Button radio4 = new Button(ancestor,SWT.RADIO);
-		// radio4.setText("specific location");
-		//
-		// label = new Label(ancestor,SWT.NONE);
-		// label.setText("Default output directory:");
-		//		
-		// radio1 = new Button(ancestor,SWT.RADIO);
-		// radio1.setText("temp user.dir");
-		//		
-		// radio2 = new Button(ancestor,SWT.RADIO);
-		// radio2.setText("same as working directory");
-		//		
-		// radio3 = new Button(ancestor,SWT.RADIO);
-		// radio3.setText("specific location");
-
-		// TODO PlatformUI.getWorkbench().getHelpSystem().setHelp...
-
-		applyDialogFont(ancestor);
-		return ancestor;
-	}
-
-	@Override
-	public boolean performOk()
-	{
-		return super.performOk();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.ui/templates/file_templates.xml b/bundles/org.eclipse.wst.xsl.ui/templates/file_templates.xml
deleted file mode 100644
index 29df43e..0000000
--- a/bundles/org.eclipse.wst.xsl.ui/templates/file_templates.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<templates>
-<template id="org.eclipse.wst.xslt.templates.xslt.1"
-          autoinsert="true"
-          context="xml_new"
-          deleted="false"
-          description="XSLT 1.0 conform XSLT Document Template"
-          enabled="true"
-          name="XSLT 1.0 Document">&lt;?xml version="1.0" encoding="${encoding}"?&gt;
-
-&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
-	${cursor}
-&lt;/xsl:stylesheet&gt;</template>
-</templates>
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.xalan/.classpath b/bundles/org.eclipse.wst.xsl.xalan/.classpath
deleted file mode 100644
index 3d9d3d1..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src-debugger"/>
-	<classpathentry exported="true" kind="lib" path="xalan2.7.0.jar" sourcepath="source2.7.0.zip"/>
-	<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="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xsl.xalan/.cvsignore b/bundles/org.eclipse.wst.xsl.xalan/.cvsignore
deleted file mode 100644
index 50b76ba..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-javaCompiler.xalan-debugger.jar.args
-build.xml
-xalan-debugger.jar
-temp.folder
diff --git a/bundles/org.eclipse.wst.xsl.xalan/.project b/bundles/org.eclipse.wst.xsl.xalan/.project
deleted file mode 100644
index 0594060..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xsl.xalan</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xsl.xalan/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.wst.xsl.xalan/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 8ba1309..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jan 03 22:24:50 EST 2008
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/bundles/org.eclipse.wst.xsl.xalan/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xsl.xalan/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 50bc347..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-#Sun Dec 16 08:48:52 GMT 2007
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-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.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/bundles/org.eclipse.wst.xsl.xalan/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.wst.xsl.xalan/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index fdd8568..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Fri Jan 04 09:04:43 EST 2008
-compilers.incompatible-environment=1
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.missing-bundle-classpath-entries=0
-compilers.p.missing-packages=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/bundles/org.eclipse.wst.xsl.xalan/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xsl.xalan/META-INF/MANIFEST.MF
deleted file mode 100644
index 018bc8b..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.xsl.xalan;singleton:=true
-Bundle-Version: 0.5.0.qualifier
-Require-Bundle: org.eclipse.wst.xsl.debug
-Bundle-ClassPath: xalan2.7.0.jar,
- xalan-debugger.jar
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Localization: plugin
-Bundle-Vendor: %Bundle-Vendor.0
diff --git a/bundles/org.eclipse.wst.xsl.xalan/XalanFeatures.properties b/bundles/org.eclipse.wst.xsl.xalan/XalanFeatures.properties
deleted file mode 100644
index 7c6da7a..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/XalanFeatures.properties
+++ /dev/null
@@ -1,21 +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
-###############################################################################
-OPTIMIZE=http://apache.org/xalan/features/optimize
-OPTIMIZE.TYPE=boolean
-OPTIMIZE.DESC=Optimize stylesheet processing. By default, this attribute is set to true. You may need to set it to false for tooling applications.
-
-INCREMENTAL=http://apache.org/xalan/features/incremental
-INCREMENTAL.TYPE=boolean
-INCREMENTAL.DESC=Produce output incrementally, rather than waiting to finish parsing the input before generating any output. By default this attribute is set to false. You can turn this attribute on to transform large documents where the stylesheet structure is optimized to execute individual templates without having to parse the entire document.
-
-SOURCE_LOCATION=http://apache.org/xalan/features/source_location
-SOURCE_LOCATION.TYPE=boolean
-SOURCE_LOCATION.DESC=By default, this attribute is set to false. Setting this attribute to true involves a substantial increase in storage cost per source document node. If you want to use the NodeInfo extension functions (or some other mechanism) to provide this information during a transform, you must set the attribute to true before generating the Transformer and processing the stylesheet.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.xalan/XalanOutputProperties.properties b/bundles/org.eclipse.wst.xsl.xalan/XalanOutputProperties.properties
deleted file mode 100644
index 396d47b..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/XalanOutputProperties.properties
+++ /dev/null
@@ -1,21 +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
-###############################################################################
-S_KEY_INDENT_AMOUNT={http://xml.apache.org/xslt}indent-amount
-S_KEY_INDENT_AMOUNT.DESC=The number of whitespaces to indent by, if indent="yes"
-
-S_KEY_ENTITIES={http://xml.apache.org/xslt}entities
-S_KEY_ENTITIES.DESC=File name of file that specifies character to entity reference mappings.
-
-S_USE_URL_ESCAPING={http://xml.apache.org/xslt}use-url-escaping
-S_USE_URL_ESCAPING.DESC=Use a value of "yes" if the href values for HTML serialization should use %xx escaping
-
-S_OMIT_META_TAG={http://xml.apache.org/xslt}omit-meta-tag
-S_OMIT_META_TAG.DESC=Use a value of "yes" if the META tag should be omitted where it would otherwise be supplied.
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.xalan/about.html b/bundles/org.eclipse.wst.xsl.xalan/about.html
deleted file mode 100644
index 73db36e..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June 06, 2007</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.xalan/build.properties b/bundles/org.eclipse.wst.xsl.xalan/build.properties
deleted file mode 100644
index afbfc91..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-bin.includes = META-INF/,\
-               plugin.xml,\
-               xalan2.7.0.jar,\
-               XalanOutputProperties.properties,\
-               XalanFeatures.properties,\
-               serializer2.7.0.jar,\
-               about.html,\
-               xalan-debugger.jar,\
-               plugin.properties
-jars.compile.order = xalan-debugger.jar
-source.xalan-debugger.jar = src-debugger/
-output.xalan-debugger.jar = bin/
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.xalan/plugin.properties b/bundles/org.eclipse.wst.xsl.xalan/plugin.properties
deleted file mode 100644
index 56cb80e..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/plugin.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-#Properties file for org.eclipse.wst.xsl.xalan
-Bundle-Name.0 = Xalan Plug-in (Incubating)
-processorType.label.0 = Xalan
-processor.label.0 = Xalan 2.5.1
-processor.label.1 = Xalan 2.7.0
-Bundle-Vendor.0 = Eclipse.org
\ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xsl.xalan/plugin.xml b/bundles/org.eclipse.wst.xsl.xalan/plugin.xml
deleted file mode 100644
index c71eaf5..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.wst.xsl.launching.processorType">
-      <processorType
-            featureProperties="XalanFeatures.properties"
-            id="org.eclipse.wst.xsl.xalan.processorType"
-            label="%processorType.label.0"
-            outputProperties="XalanOutputProperties.properties"
-            transformerFactory="org.apache.xalan.processor.TransformerFactoryImpl">
-      </processorType>
-   </extension>
-   <extension
-         point="org.eclipse.wst.xsl.launching.debugger">
-      <debugger
-            className="org.eclipse.wst.xsl.xalan.debugger.XalanDebugger"
-            classpath="xalan-debugger.jar"
-            id="org.eclipse.wst.xsl.xalan.debugger"
-            name="Xalan 2.5.1 or greater"
-            processorTypeId="org.eclipse.wst.xsl.xalan.processorType">
-      </debugger>
-   </extension>
-   <extension
-         point="org.eclipse.wst.xsl.launching.processor">
-      <processor
-            classpath="xalan2.7.0.jar;serializer2.7.0.jar"
-            id="org.eclipse.wst.xsl.launching.xalan.2_7_0"
-            label="%processor.label.1"
-            processorTypeId="org.eclipse.wst.xsl.xalan.processorType"
-            debuggerId="org.eclipse.wst.xsl.xalan.debugger"
-            supports="1.0">
-      </processor>
-   </extension>
-</plugin>
diff --git a/bundles/org.eclipse.wst.xsl.xalan/serializer2.7.0.jar b/bundles/org.eclipse.wst.xsl.xalan/serializer2.7.0.jar
deleted file mode 100644
index 7cd8069..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/serializer2.7.0.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsl.xalan/source2.7.0.zip b/bundles/org.eclipse.wst.xsl.xalan/source2.7.0.zip
deleted file mode 100644
index 77bdf07..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/source2.7.0.zip
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanDebugger.java b/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanDebugger.java
deleted file mode 100644
index 3104db4..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanDebugger.java
+++ /dev/null
@@ -1,70 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.xalan.debugger;
-
-import java.util.Map;
-import java.util.TooManyListenersException;
-
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.xalan.processor.TransformerFactoryImpl;
-import org.apache.xalan.trace.TraceManager;
-import org.apache.xalan.transformer.TransformerImpl;
-import org.eclipse.wst.xsl.debugger.AbstractDebugger;
-import org.eclipse.wst.xsl.debugger.Variable;
-
-public class XalanDebugger extends AbstractDebugger
-{
-	private static final Log log = LogFactory.getLog(XalanDebugger.class);
-	private XalanTraceListener currentTraceListener;
-	
-	public void setTransformerFactory(TransformerFactory factory)
-	{
-		TransformerFactoryImpl tfi = (TransformerFactoryImpl) factory;
-		tfi.setAttribute(TransformerFactoryImpl.FEATURE_SOURCE_LOCATION, Boolean.TRUE);
-		tfi.setAttribute(TransformerFactoryImpl.FEATURE_OPTIMIZE, Boolean.FALSE);
-	}
-
-	public void addTransformer(Transformer transformer, Map locations)
-	{
-		TransformerImpl transformerImpl = (TransformerImpl) transformer;
-		TraceManager trMgr = transformerImpl.getTraceManager();
-		try
-		{
-//			XalanPrintTraceListener printer = new XalanPrintTraceListener(new PrintWriter(System.err));
-//			printer.m_traceElements = true;
-//			printer.m_traceSelection = true;
-//			printer.m_traceTemplates = true;
-//			trMgr.addTraceListener(printer);
-			
-			XalanTraceListener traceListener = new XalanTraceListener(this);
-			trMgr.addTraceListener(traceListener);
-		}
-		catch (TooManyListenersException e)
-		{
-			// ignore
-		}
-	}
-
-	public Variable getVariable(int id)
-	{
-		return currentTraceListener.getVariable(id);
-	}
-
-	void setCurrentTraceListener(XalanTraceListener currentTraceListener)
-	{
-		log.debug("Setting new XalanTraceListener");
-		this.currentTraceListener = currentTraceListener;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanPrintTraceListener.java b/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanPrintTraceListener.java
deleted file mode 100644
index 3d6c07d..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanPrintTraceListener.java
+++ /dev/null
@@ -1,104 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.xalan.debugger;
-
-import java.io.PrintWriter;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.xalan.templates.Constants;
-import org.apache.xalan.templates.ElemTemplate;
-import org.apache.xalan.templates.ElemTextLiteral;
-import org.apache.xalan.trace.EndSelectionEvent;
-import org.apache.xalan.trace.PrintTraceListener;
-import org.apache.xalan.trace.SelectionEvent;
-import org.apache.xalan.trace.TracerEvent;
-
-public class XalanPrintTraceListener extends PrintTraceListener
-{
-	private final PrintWriter writer;
-
-	public XalanPrintTraceListener(PrintWriter pw)
-	{
-		super(pw);
-		this.writer = pw;
-	}
-
-	public void _trace(TracerEvent ev)
-	{
-		switch (ev.m_styleNode.getXSLToken())
-		{
-			case Constants.ELEMNAME_TEXTLITERALRESULT:
-				if (m_traceElements)
-				{
-					writer.print(ev.m_styleNode.getSystemId() + " Line #" + ev.m_styleNode.getLineNumber() + ", " + "Column #" + ev.m_styleNode.getColumnNumber() + " -- " + ev.m_styleNode.getNodeName()
-							+ ": ");
-
-					ElemTextLiteral etl = (ElemTextLiteral) ev.m_styleNode;
-					String chars = new String(etl.getChars(), 0, etl.getChars().length);
-
-					writer.println("    " + chars.trim());
-				}
-				break;
-			case Constants.ELEMNAME_TEMPLATE:
-				if (m_traceTemplates || m_traceElements)
-				{
-					ElemTemplate et = (ElemTemplate) ev.m_styleNode;
-
-					writer.print(et.getSystemId() + " Line #" + et.getLineNumber() + ", " + "Column #" + et.getColumnNumber() + ": " + et.getNodeName() + " ");
-
-					if (null != et.getMatch())
-					{
-						writer.print("match='" + et.getMatch().getPatternString() + "' ");
-					}
-
-					if (null != et.getName())
-					{
-						writer.print("name='" + et.getName() + "' ");
-					}
-
-					writer.println();
-				}
-				break;
-			default:
-				if (m_traceElements)
-				{
-					writer
-							.println(ev.m_styleNode.getSystemId() + " Line #" + ev.m_styleNode.getLineNumber() + ", " + "Column #" + ev.m_styleNode.getColumnNumber() + ": "
-									+ ev.m_styleNode.getNodeName());
-				}
-		}
-	}
-
-	public void selected(SelectionEvent ev) throws TransformerException
-	{
-		writer.print("selected: ");
-		super.selected(ev);
-	}
-	
-	public void selectEnd(EndSelectionEvent ev) throws TransformerException
-	{
-		writer.print("selectEnd: ");
-		super.selectEnd(ev);
-	}
-	
-	public void trace(TracerEvent ev)
-	{
-		writer.print("trace: ");
-		super.trace(ev);
-	}
-	
-	public void traceEnd(TracerEvent ev)
-	{
-		writer.print("traceEnd: ");
-		_trace(ev);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanRootStyleFrame.java b/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanRootStyleFrame.java
deleted file mode 100644
index 1c08358..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanRootStyleFrame.java
+++ /dev/null
@@ -1,74 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.xalan.debugger;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.xalan.templates.ElemVariable;
-import org.apache.xalan.templates.StylesheetRoot;
-import org.apache.xalan.trace.TracerEvent;
-import org.apache.xpath.VariableStack;
-import org.eclipse.wst.xsl.debugger.Variable;
-
-public class XalanRootStyleFrame extends XalanStyleFrame
-{
-	private static final Log log = LogFactory.getLog(XalanRootStyleFrame.class);
-	private Map variables;
-	private ArrayList globals;
-
-	public XalanRootStyleFrame(TracerEvent event)
-	{
-		super(null, event);
-		fillGlobals(event);
-	}
-
-	protected List getGlobals()
-	{
-		return globals;
-	}
-	
-	private void fillGlobals(TracerEvent event)
-	{
-		VariableStack vs = event.m_processor.getXPathContext().getVarStack();
-	    StylesheetRoot sr = event.m_styleNode.getStylesheetRoot();
-	    Vector vars = sr.getVariablesAndParamsComposed();
-		variables = new HashMap(vars.size());
-		globals = new ArrayList(vars.size());
-	    int i = vars.size();
-	    while (--i >= 0)
-		{
-			ElemVariable variable = (ElemVariable) vars.elementAt(i);
-			XalanVariable xvar = new XalanVariable(this,vs,Variable.GLOBAL_SCOPE,i,variable);
-			addVariable(xvar);
-			globals.add(xvar);
-		}
-	}
-
-	public Variable getVariable(int id)
-	{
-		log.debug("Getting variable with id "+id+" from variables "+variables.size());
-		return (Variable)variables.get(new Integer(id));
-	}
-
-	public void addVariable(XalanVariable xvar)
-	{
-//		log.debug("Adding variable index="+xvar.getSlotNumber()+" val="+xvar);
-//		variables.add(xvar.getSlotNumber(),xvar);
-		log.debug("Adding variable id="+xvar.getId());
-		variables.put(new Integer(xvar.getId()),xvar);
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanStyleFrame.java b/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanStyleFrame.java
deleted file mode 100644
index 3ce0b63..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanStyleFrame.java
+++ /dev/null
@@ -1,165 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.xalan.debugger;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Stack;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.xalan.templates.ElemCallTemplate;
-import org.apache.xalan.templates.ElemTemplate;
-import org.apache.xalan.templates.ElemTemplateElement;
-import org.apache.xalan.templates.ElemVariable;
-import org.apache.xalan.trace.TracerEvent;
-import org.apache.xml.utils.QName;
-import org.apache.xpath.VariableStack;
-import org.apache.xpath.XPath;
-import org.eclipse.wst.xsl.debugger.StyleFrame;
-import org.eclipse.wst.xsl.debugger.Variable;
-
-public class XalanStyleFrame extends StyleFrame
-{
-	private static final Log log = LogFactory.getLog(XalanStyleFrame.class);
-
-	private final Map varNames;
-	private final Stack eventStack = new Stack();
-	final TracerEvent event;
-	private int currentLine;
-	private XalanRootStyleFrame rootStyleFrame;
-
-	public XalanStyleFrame(StyleFrame parent, TracerEvent event)
-	{
-		super(parent);
-		this.event = event;
-		if (parent != null)
-			this.varNames = new HashMap(((XalanStyleFrame)parent).varNames);
-		else
-			this.varNames = new HashMap();
-		pushElement(event);
-		findRootStyleFrame();
-	}
-	
-	private void findRootStyleFrame()
-	{
-		XalanStyleFrame frame = this;
-		do
-		{
-			if (frame instanceof XalanRootStyleFrame)
-				rootStyleFrame = (XalanRootStyleFrame) frame;
-		} while ((frame = (XalanStyleFrame) frame.getParent()) != null);
-	}
-
-	public String getFilename()
-	{
-		return event.m_styleNode.getStylesheet().getSystemId();
-	}
-
-	public String getName()
-	{
-		String name = event.m_styleNode.getNodeName();
-		if (event.m_styleNode instanceof ElemTemplate)
-		{
-			ElemTemplate et = (ElemTemplate) event.m_styleNode;
-			QName q = et.getName();
-			if (q != null)
-			{
-				name += " name=\"" + q.getLocalName() + "\"";
-			}
-			XPath xp = et.getMatch();
-			if (xp != null)
-			{
-				name += " match=\"" + xp.getPatternString() + "\"";
-			}
-		}
-		else if (event.m_styleNode instanceof ElemCallTemplate)
-		{
-			ElemCallTemplate et = (ElemCallTemplate) event.m_styleNode;
-			QName q = et.getName();
-			if (q != null)
-			{
-				name += " name=\"" + q.getLocalName() + "\"";
-			}
-		}
-		return name;
-	}
-
-	public List getVariableStack()
-	{
-		List vars = new ArrayList();
-		vars.addAll(getLocals());
-		vars.addAll(getGlobals());
-		return vars;
-	}
-
-	public int getCurrentLine()
-	{
-		return currentLine;
-	}
-
-	public void pushElement(TracerEvent e)
-	{
-		currentLine = e.m_styleNode.getLineNumber();
-		eventStack.push(e);
-		if (log.isDebugEnabled())
-			log.debug("Pushed element " + TracerEvent.printNode(e.m_styleNode)+" at line "+currentLine);
-	}
-
-	public TracerEvent popElement()
-	{
-		TracerEvent e = (TracerEvent) eventStack.pop();
-		currentLine = e.m_styleNode.getEndLineNumber();
-		if (log.isDebugEnabled())
-			log.debug("Popped element " + TracerEvent.printNode(e.m_styleNode)+" at line "+currentLine);
-
-		ElemTemplateElement element = e.m_styleNode;
-		String name = element.getNodeName();
-		log.debug(" name " + name);
-		if (name.equals("param") || name.equals("variable"))
-			addVariable((ElemVariable) e.m_styleNode);
-
-		return e;
-	}
-
-	public TracerEvent peekElement()
-	{
-		if (eventStack.isEmpty())
-			return null;
-		return (TracerEvent) eventStack.peek();
-	}
-
-	private void addVariable(ElemVariable variable)
-	{
-		String scope = variable.getIsTopLevel() ? Variable.GLOBAL_SCOPE : Variable.LOCAL_SCOPE;
-		VariableStack vs = event.m_processor.getXPathContext().getVarStack();
-		XalanVariable xvar = new XalanVariable(this,vs, scope, variable.getIndex(), variable);
-		rootStyleFrame.addVariable(xvar);
-		varNames.put(variable.getName(),xvar);
-	}
-
-	private List getLocals()
-	{
-		List locals = new ArrayList(varNames.values());
-		// sort by slotNumber
-		Collections.sort(locals);
-		return new ArrayList(varNames.values());
-	}
-
-	protected List getGlobals()
-	{
-		return rootStyleFrame.getGlobals();
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanTraceListener.java b/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanTraceListener.java
deleted file mode 100644
index 1b8e7a0..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanTraceListener.java
+++ /dev/null
@@ -1,133 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.xalan.debugger;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.xalan.templates.Constants;
-import org.apache.xalan.trace.EndSelectionEvent;
-import org.apache.xalan.trace.ExtensionEvent;
-import org.apache.xalan.trace.GenerateEvent;
-import org.apache.xalan.trace.SelectionEvent;
-import org.apache.xalan.trace.TraceListenerEx2;
-import org.apache.xalan.trace.TracerEvent;
-import org.eclipse.wst.xsl.debugger.BreakPoint;
-import org.eclipse.wst.xsl.debugger.Variable;
-
-public class XalanTraceListener implements TraceListenerEx2 //TraceListenerEx3
-{
-	private static final Log log = LogFactory.getLog(XalanTraceListener.class);
-
-	private final XalanDebugger debugger;
-	private XalanRootStyleFrame rootStyleFrame;
-	
-	public XalanTraceListener(XalanDebugger debugger)
-	{
-		this.debugger = debugger;
-	}
-
-	public void trace(TracerEvent ev)
-	{
-		XalanStyleFrame styleFrame = null;
-		if (rootStyleFrame == null)
-		{// this is the root of the stack
-			debugger.debuggerTransformStarted();
-			debugger.setCurrentTraceListener(this);
-			rootStyleFrame = new XalanRootStyleFrame(ev);
-			styleFrame = rootStyleFrame;
-			debugger.pushStyleFrame(styleFrame);
-		}
-		else if (ev.m_styleNode.getOwnerXSLTemplate() == ev.m_styleNode)
-		{// this is an xsl:template, so add to template stack
-			styleFrame = new XalanStyleFrame(debugger.peekStyleFrame(), ev);
-			debugger.pushStyleFrame(styleFrame);
-		}
-		else if (ev.m_styleNode.getXSLToken() != Constants.ELEMNAME_TEXTLITERALRESULT)
-		{// add to current template element stack
-			styleFrame = (XalanStyleFrame) debugger.peekStyleFrame();
-			styleFrame.pushElement(ev);
-		}
-		else
-		{
-			log.debug("Skipped push for element "+ev.m_styleNode.getLocalName());
-		}
-		check(styleFrame);
-	}
-
-	public void traceEnd(TracerEvent ev)
-	{
-		XalanStyleFrame styleFrame = (XalanStyleFrame) debugger.peekStyleFrame();
-		if (styleFrame!=null)
-		{
-			if (ev.m_styleNode.getOwnerXSLTemplate() == ev.m_styleNode)
-			{// remove from current template element stack
-				styleFrame.popElement();
-			}
-			else if (ev.m_styleNode.getXSLToken() != Constants.ELEMNAME_TEXTLITERALRESULT)
-			{// remove from current template element stack
-				styleFrame.popElement();
-			}
-			else
-			{
-				log.debug("Skipped pop for element "+ev.m_styleNode.getLocalName());
-			}
-			check(styleFrame);
-			if (ev.m_styleNode.getOwnerXSLTemplate() == ev.m_styleNode)
-			{// end of template, so remove from stack
-				debugger.popStyleFrame();
-			}
-			else
-			{// because we don't get selectEnd events, we need to do this check
-				TracerEvent tel = styleFrame.peekElement();
-				// if the parent is a choose, move on to it
-				switch (tel.m_styleNode.getXSLToken())
-				{
-					case Constants.ELEMNAME_CHOOSE:
-						styleFrame.popElement();
-						check(styleFrame);
-				}
-			}
-		}
-	}
-	
-	private void check(XalanStyleFrame styleFrame)
-	{
-		debugger.checkStopped();
-		if (styleFrame!=null)
-		{
-			BreakPoint breakpoint = new BreakPoint(styleFrame.getFilename(), styleFrame.getCurrentLine());
-			debugger.checkSuspended(styleFrame, breakpoint);
-		}
-	}
-
-	public void selected(SelectionEvent ev) throws TransformerException
-	{}
-
-	public void selectEnd(EndSelectionEvent ev) throws TransformerException
-	{}
-
-	public void generated(GenerateEvent ev)
-	{}
-
-	public void extension(ExtensionEvent ee)
-	{}
-
-	public void extensionEnd(ExtensionEvent ee)
-	{}
-
-	public Variable getVariable(int id)
-	{
-		return rootStyleFrame.getVariable(id);
-	}
-
-}
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
deleted file mode 100644
index 8367efb..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/src-debugger/org/eclipse/wst/xsl/xalan/debugger/XalanVariable.java
+++ /dev/null
@@ -1,156 +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
- *******************************************************************************/
-package org.eclipse.wst.xsl.xalan.debugger;
-
-import javax.xml.transform.TransformerException;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.xalan.templates.ElemVariable;
-import org.apache.xpath.VariableStack;
-import org.apache.xpath.objects.XNodeSet;
-import org.apache.xpath.objects.XObject;
-import org.eclipse.wst.xsl.debugger.Variable;
-
-public class XalanVariable extends Variable implements Comparable
-{
-	private final Log log = LogFactory.getLog(XalanVariable.class);
-	private final ElemVariable elemVariable;
-	private final VariableStack varStack;
-	private int stackFrame;
-
-	public XalanVariable(XalanStyleFrame xalanStyleFrame, VariableStack varStack, String scope, int slotNumber, ElemVariable elemVariable)
-	{
-		super(getName(elemVariable,scope,xalanStyleFrame), scope, slotNumber+varStack.getStackFrame());
-		this.elemVariable = elemVariable;
-		this.varStack = varStack;
-		// get the stack frame at this current point in time
-		this.stackFrame = varStack.getStackFrame();
-	}
-
-	private static String getName(ElemVariable elemVariable, String scope, XalanStyleFrame xalanStyleFrame)
-	{
-		String name = elemVariable.getName().getLocalName();
-		String systemId = elemVariable.getStylesheet().getSystemId();
-		if (GLOBAL_SCOPE.equals(scope) && systemId != null)
-		{
-			int index;
-			if ((index = systemId.lastIndexOf('/')) > 0)
-				name += " (" + systemId.substring(index + 1) + ")";
-			else
-				name += " (" + systemId + ")";
-		}
-//		else if (LOCAL_SCOPE.equals(scope))
-//		{
-//			name += " (" + xalanStyleFrame.getName() + ")";
-//		}
-		return name;
-	}
-	
-	public String getType()
-	{
-		String value = UNKNOWN;
-		try
-		{
-			XObject xobject = getXObject();
-			if (xobject != null)
-			{
-				int xalanType = xobject.getType();
-				switch (xalanType)
-				{
-					case XObject.CLASS_UNRESOLVEDVARIABLE:
-						value = UNRESOLVED;
-						break;
-					case XObject.CLASS_NODESET:
-						value = NODESET;
-						break;
-					case XObject.CLASS_BOOLEAN:
-						value = BOOLEAN;
-						break;
-					case XObject.CLASS_NUMBER:
-						value = NUMBER;
-						break;
-					case XObject.CLASS_UNKNOWN:
-						value = UNKNOWN;
-						break;
-					case XObject.CLASS_STRING:
-					default:
-						value = STRING;
-						break;
-				}
-			}
-		}
-		catch (TransformerException e)
-		{
-			e.printStackTrace();
-		}
-		return value;
-	}
-
-	public String getValue()
-	{
-		String value = "???";
-		try
-		{
-			XObject xobject = getXObject();
-			if (xobject != null)
-			{
-				int xalanType = xobject.getType();
-				switch (xalanType)
-				{
-					case XObject.CLASS_UNRESOLVEDVARIABLE:
-						value = "";
-						break;
-					case XObject.CLASS_NODESET:
-						XNodeSet xns = (XNodeSet) xobject;
-						if (xns.nodelist().getLength() > 0)
-							value = ((XNodeSet) xobject).nodelist().item(0).toString();
-						else
-							value = "<EMPTY NODESET>";
-						break;
-					case XObject.CLASS_BOOLEAN:
-					case XObject.CLASS_NUMBER:
-					case XObject.CLASS_STRING:
-					case XObject.CLASS_UNKNOWN:
-					default:
-						value = xobject.toString();
-						break;
-				}
-			}
-		}
-		catch (TransformerException e)
-		{
-			e.printStackTrace();
-		}
-//		value = getScope()+"."+getSlotNumber()+")"+getName();	
-//		log.debug(getScope()+"."+getSlotNumber()+")"+getName() + "=" + value);
-		return value;
-	}
-
-	private XObject getXObject() throws TransformerException
-	{
-		XObject xvalue;
-		if (elemVariable.getIsTopLevel())
-			xvalue = varStack.elementAt(slotNumber);
-		else
-			xvalue = varStack.getLocalVariable(elemVariable.getIndex(), stackFrame);
-		return xvalue;
-	}
-
-	public int compareTo(Object arg0)
-	{
-		XalanVariable xvar = (XalanVariable)arg0;
-		int comp = xvar.stackFrame - stackFrame;
-		if (comp == 0)
-			comp = slotNumber - xvar.slotNumber;
-		return comp;
-	}
-}
diff --git a/bundles/org.eclipse.wst.xsl.xalan/xalan2.7.0.jar b/bundles/org.eclipse.wst.xsl.xalan/xalan2.7.0.jar
deleted file mode 100644
index 979ee76..0000000
--- a/bundles/org.eclipse.wst.xsl.xalan/xalan2.7.0.jar
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/.project b/features/org.eclipse.wst.xsl_sdk.feature/.project
deleted file mode 100644
index da554e4..0000000
--- a/features/org.eclipse.wst.xsl_sdk.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.wst.xsl_sdk.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.wst.xsl_sdk.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 3750df1..0000000
--- a/features/org.eclipse.wst.xsl_sdk.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Sun Dec 16 16:57:57 EST 2007
-eclipse.preferences.version=1
-encoding/<project>=ISO-8859-1
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/.settings/org.eclipse.pde.prefs b/features/org.eclipse.wst.xsl_sdk.feature/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index fdd8568..0000000
--- a/features/org.eclipse.wst.xsl_sdk.feature/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,16 +0,0 @@
-#Fri Jan 04 09:04:43 EST 2008
-compilers.incompatible-environment=1
-compilers.p.build=0
-compilers.p.deprecated=1
-compilers.p.missing-bundle-classpath-entries=0
-compilers.p.missing-packages=2
-compilers.p.no-required-att=0
-compilers.p.not-externalized-att=0
-compilers.p.unknown-attribute=0
-compilers.p.unknown-class=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.use-project=true
-eclipse.preferences.version=1
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/build.properties b/features/org.eclipse.wst.xsl_sdk.feature/build.properties
deleted file mode 100644
index a03cb76..0000000
--- a/features/org.eclipse.wst.xsl_sdk.feature/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = feature.xml,\
-               license.html,\
-               epl-v10.html,\
-               eclipse_update_120.jpg,\
-               feature.properties
-
-generate.feature@org.eclipse.wst.xsl.feature.source=org.eclipse.wst.xsl.feature
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/eclipse_update_120.jpg b/features/org.eclipse.wst.xsl_sdk.feature/eclipse_update_120.jpg
deleted file mode 100644
index bfdf708..0000000
--- a/features/org.eclipse.wst.xsl_sdk.feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/epl-v10.html b/features/org.eclipse.wst.xsl_sdk.feature/epl-v10.html
deleted file mode 100644
index ed4b196..0000000
--- a/features/org.eclipse.wst.xsl_sdk.feature/epl-v10.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
-  <o:Revision>2</o:Revision>
-  <o:TotalTime>3</o:TotalTime>
-  <o:Created>2004-03-05T23:03:00Z</o:Created>
-  <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
-  <o:Pages>4</o:Pages>
-  <o:Words>1626</o:Words>
-  <o:Characters>9270</o:Characters>
-   <o:Lines>77</o:Lines>
-  <o:Paragraphs>18</o:Paragraphs>
-  <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
-  <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
-  <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
-	{font-family:Tahoma;
-	panose-1:2 11 6 4 3 5 4 4 2 4;
-	mso-font-charset:0;
-	mso-generic-font-family:swiss;
-	mso-font-pitch:variable;
-	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
-	{mso-style-parent:"";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p
-	{margin-right:0in;
-	mso-margin-top-alt:auto;
-	mso-margin-bottom-alt:auto;
-	margin-left:0in;
-	mso-pagination:widow-orphan;
-	font-size:12.0pt;
-	font-family:"Times New Roman";
-	mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
-	{mso-style-name:"Balloon Text";
-	margin:0in;
-	margin-bottom:.0001pt;
-	mso-pagination:widow-orphan;
-	font-size:8.0pt;
-	font-family:Tahoma;
-	mso-fareast-font-family:"Times New Roman";}
-@page Section1
-	{size:8.5in 11.0in;
-	margin:1.0in 1.25in 1.0in 1.25in;
-	mso-header-margin:.5in;
-	mso-footer-margin:.5in;
-	mso-paper-source:0;}
-div.Section1
-	{page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor (&quot;Commercial
-Contributor&quot;) hereby agrees to defend and indemnify every other
-Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
-costs (collectively &quot;Losses&quot;) arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/feature.properties b/features/org.eclipse.wst.xsl_sdk.feature/feature.properties
deleted file mode 100644
index 7dbbb37..0000000
--- a/features/org.eclipse.wst.xsl_sdk.feature/feature.properties
+++ /dev/null
@@ -1,145 +0,0 @@
-###############################################################################
-# Copyright (c) 2008 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=XSL Feature SDK (Incubating)
-
-# "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 Feature as SDK
-
-# "copyright" property - text of the "Feature Update Copyright"
-copyright=\
-Copyright (c) 2000, 2007 IBM Corporation and others.\n\
-All rights reserved. This program and the accompanying materials\n\
-are made available under the terms of the Eclipse Public License v1.0\n\
-which accompanies this distribution, and is available at\n\
-http://www.eclipse.org/legal/epl-v10.html\n\
-\n\
-Contributors:\n\
-    IBM Corporation - initial API and implementation\n
-################ end of copyright property ####################################
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "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\
-\n\
-Usage Of Content\n\
-\n\
-THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-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\
-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\
-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\
-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\
-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\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-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\
-\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\
-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\
-\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\
-\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\
-is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
-govern that particular Content.\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\
-\n\
-Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. 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
deleted file mode 100644
index 01ac7e4..0000000
--- a/features/org.eclipse.wst.xsl_sdk.feature/feature.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.wst.xsl_sdk.feature"
-      label="Feature Feature"
-      version="0.5.0.qualifier"
-      provider-name="Eclipse.org">
-
-   <description>
-      %description
-   </description>
-
-   <copyright>
-      %copyright
-   </copyright>
-
-   <license url="%licenseURL">
-      %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"
-         version="0.0.0"/>
-    <includes
-         id="org.eclipse.wst.xsl.feature.source"
-         version="0.0.0"/>
-</feature>
diff --git a/features/org.eclipse.wst.xsl_sdk.feature/license.html b/features/org.eclipse.wst.xsl_sdk.feature/license.html
deleted file mode 100644
index 303e665..0000000
--- a/features/org.eclipse.wst.xsl_sdk.feature/license.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<!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>)
-
-  <LI>Apache Software License 1.1 (available at <A 
-  href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</A>)
-
-  <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>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>