XSLT Pipeline mit meheren XML-Dateien in java

Velow

Mitglied
Hallo,
Ich hänge zur Zeit an einem Problem fest:

ich möchte mehere xml-Dateien mittels eines Stylesheets verknüpfen und eine html-datei generieren.
Das ganze möchte ich in Java implementieren.

Eine einzelne XML-Datei zu verknüpfen ist kein Problem. Ich habe auch schon rausgefunden das mein Problem wahrscheinlich mit einer XSLT Pipeline gelöst werden kann.

die Apache Cocoon Pipeline sollte das bewerkstelligen können:

Anbei ist auch ein beispiel-Code, der eine xml-datei mittels XSLT-Stylesheet verknüft:


Code:
   /**
     * pipeline that performs a simple transformation: generator -> transformer -> serializer
     */
    public static void PipelineXslt() throws Exception {
        Pipeline pipeline = new NonCachingPipeline();
        pipeline.addComponent(new FileGenerator(t.class.getResource("/test.xml")));
        pipeline.addComponent(new XSLTTransformer(t.class.getResource("/test.xsl")));
        pipeline.addComponent(new XMLSerializer());

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        pipeline.setup(baos);
        pipeline.execute();
        String c = baos.toString();
        FileWriter fw = new FileWriter("test.html");
        try {
            fw.write(c);
     
        } catch (IOException e) {
            e.printStackTrace();
     
        } finally {
            if (fw != null) {
                try {
                    fw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
           
    }



folgendes habe ich schon versucht, ohne erfolg:

Code:
   /**
     * pipeline that performs a simple transformation: generator -> transformer -> serializer
     */
    public static void PipelineXslt() throws Exception {
        Pipeline pipeline = new NonCachingPipeline();
        pipeline.addComponent(new FileGenerator(t.class.getResource("/test.xml")));
        pipeline.addComponent(new FileGenerator(t.class.getResource("/test2.xml")));
        pipeline.addComponent(new XSLTTransformer(t.class.getResource("/test.xsl")));
        pipeline.addComponent(new XMLSerializer());

        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        pipeline.setup(baos);
        pipeline.execute();
        String c = baos.toString();
        FileWriter fw = new FileWriter("test.html");
        try {
            fw.write(c);
     
        } catch (IOException e) {
            e.printStackTrace();
     
        } finally {
            if (fw != null) {
                try {
                    fw.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
           
    }



gibt es noch andere möglichkeiten so eine XSLT pipline in java zu implementieren ?

also daten aus mehreren Xml-dokumenten beziehen und mit einem stylesheet zu verknüpfen ?



Mfg Velow
 
Zuletzt bearbeitet:
Zurück