複数の入力ファイル(XML / HTML / XHTML)と対応するXSLTを使用して、対応する入力ファイルの出力ファイルを生成したいと思います。入力XMLファイルと入力XSLTファイルが1つしかない場合は、次のプログラムから正常に変換できます。たとえば、giveプログラムでは、入力(X)HTMLファイルはtemp.htmlであり、入力XSLTはtemp.xslであり、出力をtemp_copy.htmlとして生成します。2つ以上の入力ファイルtemp1.htmlとtemp2.html、および対応するXSLT temp1.xslとtemp2.xslがある場合、対応するtemp1_copy.htmlとtemp2_copy.htmlを使用して出力temp1_copy.htmlとtemp2_copy.htmlを生成するにはどうすればよいですか。入力ファイル?ありがとう!
私の現在のJavaコード:
public class SimpleXSLT {
public static void main(String[] args) {
String inXML = "C:/tmp/temp.html";
String inXSL = "C:/tmp/temp.xsl";
String outTXT = "C:/tmp/temp_copy.html";
SimpleXSLT st = new SimpleXSLT();
try {
st.transform(inXML,inXSL,outTXT);
} catch(TransformerConfigurationException e) {
System.err.println("Invalid factory configuration");
System.err.println(e);
} catch(TransformerException e) {
System.err.println("Error during transformation");
System.err.println(e);
}
}
public void transform(String inXML,String inXSL,String outTXT)
throws TransformerConfigurationException,
TransformerException {
TransformerFactory factory = TransformerFactory.newInstance();
StreamSource xslStream = new StreamSource(inXSL);
Transformer transformer = factory.newTransformer(xslStream);
transformer.setErrorListener(new MyErrorListener());
StreamSource in = new StreamSource(inXML);
StreamResult out = new StreamResult(outTXT);
transformer.transform(in,out);
System.out.println("The generated XML file is:" + outTXT);
}
}
class MyErrorListener implements ErrorListener {
public void warning(TransformerException e)
throws TransformerException {
show("Warning",e);
throw(e);
}
public void error(TransformerException e)
throws TransformerException {
show("Error",e);
throw(e);
}
public void fatalError(TransformerException e)
throws TransformerException {
show("Fatal Error",e);
throw(e);
}
private void show(String type,TransformerException e) {
System.out.println(type + ": " + e.getMessage());
if(e.getLocationAsString() != null)
System.out.println(e.getLocationAsString());
}
}