From 6607f20d78473f96fd915bfaa729bfb4deb787e7 Mon Sep 17 00:00:00 2001 From: widlam Date: Mon, 20 Nov 2023 09:54:49 +0100 Subject: [PATCH] semi implemented --- .../src/main/java/com/r11/tools/xml/Saxon.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Backend/tools-services/src/main/java/com/r11/tools/xml/Saxon.java b/Backend/tools-services/src/main/java/com/r11/tools/xml/Saxon.java index 0bb3053..175e185 100644 --- a/Backend/tools-services/src/main/java/com/r11/tools/xml/Saxon.java +++ b/Backend/tools-services/src/main/java/com/r11/tools/xml/Saxon.java @@ -31,9 +31,8 @@ public class Saxon implements XmlEngine{ Processor processor = new Processor(false); XsltCompiler compiler = processor.newXsltCompiler(); - XsltExecutable stylesheet = compiler.compile(new StreamSource( new StringReader(transform) )); + String filesPath = "/tmp/"+UUID.randomUUID()+"/"; - ArrayList xmlFilesUri = new ArrayList<>(); try{ Path processPath = Paths.get(filesPath); Files.createDirectories(processPath); @@ -42,23 +41,20 @@ public class Saxon implements XmlEngine{ Path filePath = Files.createFile( Paths.get(filesPath + fileData.getFilename() ) ); try (FileWriter writer = new FileWriter(filePath.toFile())) { writer.write(fileData.getData()); - xmlFilesUri.add(filesPath + fileData.getFilename()); + transform = transform.replace('\''+fileData.getFilename()+'\'',filesPath+fileData.getFilename()); } } - - + XsltExecutable stylesheet = compiler.compile(new StreamSource( new StringReader(transform) )); StringWriter sw = new StringWriter(); Serializer out = processor.newSerializer(sw); out.setOutputProperty(Serializer.Property.METHOD, "xml"); out.setOutputProperty(Serializer.Property.INDENT, "yes"); Xslt30Transformer transformer = stylesheet.load30(); - transformer.setResourceResolver( ); - processor.setCatalogFiles(xmlFilesUri.toArray(new String[0])); + transformer.transform( new StreamSource( new File(filesPath+data[0].getFilename()) ) , out ); return sw.toString(); } finally { - Thread.sleep(1000000); Files .walk( Paths.get(filesPath) ) .sorted(Comparator.reverseOrder())