Missing code
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
index 3c4904d..1c226a4 100644
--- 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
@@ -34,4 +34,8 @@
 	 * @since 1.0
 	 */
 	public static final String ATTR_FORMAT_FILE = LaunchingPlugin.PLUGIN_ID + ".ATTR_FORMAT_FILE"; //$NON-NLS-1$
+	/**
+	 * @since 1.0
+	 */
+	public static final String ATTR_WORKING_DIR = LaunchingPlugin.PLUGIN_ID + ".ATTR_WORKING_DIR"; //$NON-NLS-1$;
 }
diff --git a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/BaseLaunchHelper.java b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/BaseLaunchHelper.java
index e8ab855..c8b8f79 100644
--- a/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/BaseLaunchHelper.java
+++ b/bundles/org.eclipse.wst.xsl.launching/src/org/eclipse/wst/xsl/launching/config/BaseLaunchHelper.java
@@ -41,9 +41,11 @@
 	private int generatePort = -1;
 	private final boolean openFileOnCompletion;
 	private final boolean formatFileOnCompletion;
+	private final IPath workingDir;
 
 	public BaseLaunchHelper(ILaunchConfiguration configuration) throws CoreException
 	{
+		workingDir = hydrateWorkingDir(configuration);
 		source = hydrateSourceFileURL(configuration);
 		target = hydrateOutputFile(configuration);
 		pipeline = hydratePipeline(configuration);
@@ -86,6 +88,11 @@
 	{
 		return target;
 	}
+	
+	public IPath getWorkingDir()
+	{
+		return workingDir;
+	}
 
 	private static LaunchPipeline hydratePipeline(ILaunchConfiguration configuration) throws CoreException
 	{
@@ -105,6 +112,12 @@
 		return pathToURL(sourceFile);
 	}
 	
+	private static IPath hydrateWorkingDir(ILaunchConfiguration configuration) throws CoreException
+	{
+		String expr = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_WORKING_DIR, (String) null);
+		return getSubstitutedPath(expr);
+	}
+
 	private static IPath hydrateSourceFile(ILaunchConfiguration configuration) throws CoreException
 	{
 		String sourceFileExpr = configuration.getAttribute(XSLLaunchConfigurationConstants.ATTR_INPUT_FILE, (String) null);