Transformar XML p/ HTML em tempo de execução

Fala ae pessoal tudo bom!?!?
Venho humildemente pedir ajuda, pois estou com o seguinte problema:
Preciso fazer um site e tenho a intenção de desde o começo criar uma arquitetura que facilite a internacionalização do mesmo. Então fiz da seguinte forma:

  • Separei o que era texto de layout, como?

Montei um XML com texto do conteudo, dos menus e etc.
Montei um fragmentos de XSL para transformar cada pequeno XML(Exemplificando, tenho um xml com o texto do menu, outro com o do conteúdo…)

Chega de enrolar, vamos ao problema.

Como eu preciso transformar todos estes fragmentos de xml através do xsl para exibir o resultado html em minha página jsp, eu estou usuando a seguinte classe:

import java.io.File;

import javax.xml.transform.*;
import javax.xml.transform.stream.*;

public class XMLTransformer {

	public static void transform(File xmlFile, File xsltFile) {
		if(!xmlFile.isFile()){
			throw new IllegalAccessError("O arquivo " + xmlFile.getName() + " não existente no local especificado. " + 
					xmlFile.getAbsolutePath());
		}else if(!xsltFile.isFile()){
			throw new IllegalAccessError("O arquivo " + xsltFile.getName() + " não existente no local especificado. " + 
					xsltFile.getAbsolutePath());
		}
		Source xmlSource = new StreamSource(xmlFile);
		Source xsltSource = new StreamSource(xsltFile);
		TransformerFactory transFact = TransformerFactory.newInstance();
		
		try {
			Templates cachedXSLT = transFact.newTemplates(xsltSource);
			Transformer trans = cachedXSLT.newTransformer();
			trans = transFact.newTransformer(xsltSource);
			trans.setOutputProperty(OutputKeys.ENCODING,"UTF-8");
			trans.setOutputProperty(OutputKeys.INDENT, "yes");
			trans.setOutputProperty(OutputKeys.METHOD, "html");
			trans.transform(xmlSource, new StreamResult(System.out));
		} catch (TransformerConfigurationException e) {
			e.printStackTrace();
		} catch (TransformerException e) {
			e.printStackTrace();
		}
	}
}

Dois problemas:

1 - Os arquivos que eu passo para o método estão no mesmo diretório que index.jsp (na raiz de WebContent) porém ao usar o método “isFile()” dentro do método “transform()”, é gerada a exceção, ou seja, o arquivo não é encontrado. E ao ver o absolutePath() do objeto File em questão, percebi que está sendo feito um tentativa de encontrar um aquivo em “c:\eclipse”. Não entendo porque, pois usando o caminho absoluto do arquivo, consigo vizualizar a saida do html no console.

2 - Gostaria de ao invés de StreamResult usar System.out, de alguma forma fosse possível retornar um String ou StringBuilder deste método?

Desde já estou muito grato a todos pois estou sempre aprendendo com vocês!!! Abraços e até logo!