Это похожий вопрос с небольшими отличиями:
Разделить XML-файл на несколько файлов на основе порогового значения
Мой корневой элемент называется хранилищем, а элементы для разделения называются хранилищем. И я хочу сделать это из Java с XSL или без, вот мой Java-код, который я использовал для запуска XSL:
public void transform(String transformator, File source, String destination) {
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(new StreamSource(transformatorLocation));
try {
transformer.transform(new StreamSource(new InputStreamReader(new FileInputStream(source), "UTF-8")), new StreamResult(new OutputStreamWriter(new FileOutputStream(destination), "UTF-8")));
} catch (TransformerException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
System.err.println("File is missing");
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
} catch (TransformerConfigurationException e) {
e.printStackTrace();
}
}
Я пробовал оба решения в этом вопросе, но оба они выдают ошибку, одно из них:
ОШИБКА: «Неподдерживаемый элемент XSL» http://www.w3.org/1999/XSL/Transform:for-each-group''
javax.xml.transform.TransformerException: java.lang.RuntimeException: неподдерживаемый элемент XSL 'http://www.w3.org/1999/XSL/Transform:for-each-group'
Другое - эта таблица стилей не может быть скомпилирована.
Чего я пытаюсь достичь? Передайте аргумент классу Java, сколько магазинов я хочу в одном файле, и разбейте его на n частей.