Do not hard-code the file separator (\ on Windows, / on Unix). Define a constant based on a system property instead of a magic char.
diff --git a/java/src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java b/java/src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java
index f4ab825..17324d8 100644
--- a/java/src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java
+++ b/java/src/org/apache/qetest/xslwrapper/XsltcMainWrapper.java
@@ -47,6 +47,8 @@
     protected static final String XSLTC_COMPILER_CLASS = "org.apache.xalan.xsltc.cmdline.Compile";
     protected static final String XSLTC_RUNTIME_CLASS = "org.apache.xalan.xsltc.cmdline.Transform";
 
+    private static final char FILE_SEPARATOR = System.getProperty("file.separator").charAt(0);
+    
     /**
      * Cached copy of newProcessor() Hashtable.
      */
@@ -149,9 +151,9 @@
         args1[2] = xslName;
 */
 /* TWA - temporay hack to construct and pass a directory for translets */
-        int last = resultName.lastIndexOf('/');
+        int last = resultName.lastIndexOf(FILE_SEPARATOR);
         String tdir = resultName.substring(0, last);
-        int next = tdir.lastIndexOf('/');
+        int next = tdir.lastIndexOf(FILE_SEPARATOR);
         String transletsdirName = tdir.substring(0, next);
 
         String[] args1 = new String[4];
@@ -171,7 +173,7 @@
 
         // Verify output file was created
         // WARNING: assumption of / here, which means we assume URI not local path - needs revisiting
-        int nameStart = xslName.lastIndexOf('/') + 1;
+        int nameStart = xslName.lastIndexOf(FILE_SEPARATOR) + 1;
         String baseName = xslName.substring(nameStart);
         int extStart = baseName.lastIndexOf('.');
         if (extStart > 0)