Существуют ли какие-либо синтаксические анализаторы XSLT (например, MSXML 4.0), помогающие получить документ XSL FO во время процесса преобразования XSL?
Другими словами, как мне получить файл XSL FO из файла XML и XSL?
Спасибо, Айви
Существуют ли какие-либо синтаксические анализаторы XSLT (например, MSXML 4.0), помогающие получить документ XSL FO во время процесса преобразования XSL?
Другими словами, как мне получить файл XSL FO из файла XML и XSL?
Спасибо, Айви
Вы не можете автоматически.
Исходная спецификация XSL была разделена на 3 отдельные спецификации:
XSL: FO следует рассматривать как способ описания документов в XML. XSLT может помочь вам сгенерировать такую структуру XML, но не будет делать это автоматически.
Последовательность действий следующая:
XML input => XSLT => XML output.
XSL: FO - это не более или менее вывод XML.
Потока нет
XML input => XSLT => XML output & XSL:FO.
Я думаю, что корень путаницы проистекает из того факта, что термин XSL охватывает XSLT / XSLFO и XPATH, но часто XSL используется как синоним XSLT.
В w3schools есть раздел о том, как эти две отдельные спецификации могут помочь друг другу:
http://www.w3schools.com/xslfo/xslfo_xslt.asp
вы можете использовать для этого простое преобразование xml.
Например:
Source source = new StreamSource(new File("imput.xml"));
Source style = new StreamSource(new FileInputStream("style-fo.xsl"));
TransformerFactoryImpl saxon = new TransformerFactoryImpl();
Transformer transformer = saxon.newTransformer();
transformer.transform(source, new StreamResult(System.out));
преобразует документ in.xml с таблицей стилей xsl-fo в xml-fo и печатает его на консоли.