import java.io.File;
import java.io.FileInputStream;
import java.io.StringWriter;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.Transformer;  public static StringBuffer transXML2HTML(String xmlfile, String xslfile,
                                           String sOutMethod, Properties params) {
    StringWriter sw =  new StringWriter();
    StreamResult sr = new StreamResult(sw);    try {
      FileInputStream fis = new FileInputStream(xmlfile);      File fxml = new File(xmlfile);
      StreamSource sXML = new StreamSource(fxml);
      File fxsl = new File(xslfile);
      StreamSource sSTL = new StreamSource(fxsl);      TransformerFactory tFactory = TransformerFactory.newInstance();
      Transformer transformer = tFactory.newTransformer(sSTL);      if (sOutMethod != null)
        transformer.setOutputProperty("method", sOutMethod);      if (params != null) {
        Enumeration keys = params.keys();
        String _key = "";
        while (keys.hasMoreElements()) {
          _key = (String) keys.nextElement();
          transformer.setParameter(_key, params.getProperty(_key));
        }
      }
      transformer.transform(sXML, sr);
  }catch (Exception ex) {
      logger.error("",ex);
    }
    return sw.getBuffer();
  }