HTML-Datei nach transformation ausgeben

snowman85

Grünschnabel
Hallo leute,

ich habe mal wieder ein Problem und weiß einer von euch kann mir sicher auch dieses mal wieder helfen. Folgendes, ich habe eine Klasse "SimpleTransformerHTML"
Code:
import java.io.*;

import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerException;
import javax.xml.transform.OutputKeys;
// für konkrete Xalan-Implementierung
import org.apache.xalan.xsltc.trax.TransformerFactoryImpl;

public class SimpleTransformerHTML
{
	public void transform()
	{
		String path = "src/";
		String inputFile = "Rezept_Schema.xml";
		String outputFile = "Rezept.html";
		String styleSheetFile = "Rezept_HTML.xsl";
		
		try
		{
			// für allgemeine Implementierung, Suche gemäß classpath-Reihenfolge
			//TransformerFactory tFactory = TransformerFactory.newInstance();
			
			// für konkrete Xalan-Implementierung mit externem Jar-File
			TransformerFactory tFactory = new TransformerFactoryImpl();
			
			// Stylesheet-Objekt anlegen
			Source stylesheet = new StreamSource(new File(path + styleSheetFile));
			
			// transformer-Objekt erzeugen und Stylesheet in Java-Klasse compilieren
			// Dieses transformer-Objekt kann mehrfach angewendet werden
			// und transformiert schneller, als wenn ein xslt-File immer wieder
			// neu interpretiert werden muss
			Transformer transformer = tFactory.newTransformer(stylesheet);
			
			// Outputformat angeben
			transformer.setOutputProperty(OutputKeys.METHOD, "html");
			
			// Eingabe- bzw- Quell-Objekt erzeugen
			Source inputDoc = new StreamSource(new File(path + inputFile));
			
			// Ausgabe- bzw. Ziel- oder Ergebnis-Objekt erzeugen
			Result outputDoc = new StreamResult(new File(path + outputFile));
			
			// ////////////////////////////
			// Transformation ausführen
			// ////////////////////////////
			transformer.transform(inputDoc, outputDoc);
			
			System.out.println("Erfolgreiche Transformation");
			
		}
		catch (TransformerException tex)
		{
			System.out.println(tex.getMessage());
		}
	}
}

und die funktioniert soweit auch wunderbar nur kann ich die HTML-Datei nicht öffnen solang mein Programm noch läuft :confused:. Wäre schön wenn einer vielleicht eine Idee hat wie ich das Problem schnell lösen kann. :)
 

Neue Beiträge

Zurück