Почему Saxon+xsl ведет себя по-разному в Windows и Linux?Linux

Anonymous
Почему Saxon+xsl ведет себя по-разному в Windows и Linux?

Сообщение Anonymous »

У меня есть много файлов XSL, которые преобразуют XML в другой XML.
Я использую XSL 2.0: Преобразование прекрасно работает в Windows для тех же XML и XSL, но не в Linux.
Я видел, что эта строка может «выровнять» поведение в обоих SO: Но ничего не изменилось.
Тело метода, выполняющего преобразование, следующее (java 17):

Код: Выделить всё

DocumentBuilder builder = processor.newDocumentBuilder();
builder.setLineNumbering(true);

XdmNode input = builder.build(new StreamSource(inputFile));
XdmNode result = input;
for (XsltExecutable executable : executables) {
result = applyTransformationOneToOne(executable, result, xsltParameters);
}

File outputFile = new File(outputDir, getFileNameWithoutExtension(inputFile) + extension);
Serializer out = processor.newSerializer(outputFile);

processor.writeXdmValue(result, out);

return outputFile;
Если я добавлю out.setOutputProperty(Serializer.Property.METHOD, "xml"), проблема будет решена.
Почему это происходит случаться? Я что-то упустил в XSL?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -and-linux

Вернуться в «Linux»