Настройка безопасной обработки в TransformerFactory приводит к проблемам в XSLJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Настройка безопасной обработки в TransformerFactory приводит к проблемам в XSL

Сообщение Anonymous »

Я создаю PDF-документ с XML-файлом в качестве входных данных с помощью Apache FOP 2.4.
Чтобы предотвратить XXE-атаки, мне нужно установить функцию безопасной обработки (FEATURE_SECURE_PROCESSING) в TransformerFactory:

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

InputStream xslTransformer = getClass().getClassLoader().getResourceAsStream("foo.xsl");
TransformerFactory transformerFactory = TransformerFactory.newInstance();
transformerFactory.setFeature(FEATURE_SECURE_PROCESSING, true);
Transformer transformer = transformerFactory.newTransformer(new StreamSource(xslTransformer));
transformer.transform(new DOMSource(), new SAXResult(fop.getDefaultHandler()));
После установки этой функции я не могу создать PDF-документ и получаю предупреждения:

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

SystemId Unknown; Line #49; Column #99; "master-name" attribute is not allowed on the fo:simple-page-master element!
SystemId Unknown; Line #49; Column #99; "initial-page-number" attribute is not allowed on the fo:simple-page-master element!
SystemId Unknown; Line #49; Column #99; "page-height" attribute is not allowed on the fo:simple-page-master element!
SystemId Unknown; Line #49; Column #99; "page-width" attribute is not allowed on the fo:simple-page-master element!
etc ...
Вот раздел файла XSL (foo.xsl):

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

















foo



bar









Как мне использовать эту функцию и заставить ее работать? Версия Java — 8.

Подробнее здесь: https://stackoverflow.com/questions/590 ... ems-in-xsl
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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