java - 在 Java 中使用 Transformer 实现 XSLT 的多个输出?

标签 java xml xslt xslt-2.0 transformer-model

我目前正在尝试让我的代码调用 xml 文件和 xsl - 然后执行转换并根据 xml 内容输出多个结果文件。

import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;

public class TestTransformation {

public static void main(String[] args) throws TransformerException {

System.setProperty("javax.xml.transform.TransformerFactory","net.sf.saxon.TransformerFactoryImpl");
    TransformerFactory tFactory = TransformerFactory.newInstance();

    Source xslt = new StreamSource(new File("transformer.xslt"));

    Transformer transformer = tFactory.newTransformer(xslt);

    Source xmlText = new StreamSource(new File("data.xml"));

    transformer.transform(xmlText, new StreamResult(new File("output.xml")));

但我希望转换产生多个输出文件..任何想法将不胜感激!!

最佳答案

i want the transform to produce multiple output files.

您可以在 XSLT 样式表本身中执行此操作:http://www.w3.org/TR/xslt20/#result-trees

假设您确实使用 XSLT 2.0 处理器。在 XSLT 1.0 中,您可以使用 EXSLT 扩展:http://exslt.org/exsl/elements/document/index.html相反 - 只要您的处理器支持它。

关于java - 在 Java 中使用 Transformer 实现 XSLT 的多个输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30562483/

相关文章:

PHP - 解析由 simplexml_load_string() 创建的 XML 对象

xslt 1.0,字符串长度函数

java - DynamoDBMapper : How to get saved item?

java - 如何在Spring中使用WebLogic提供的JNDI DataSource?

java - 如何将特殊字符包含到字符串数组中。同时使用正则表达式模式的特殊字符拆分字符串

php - SimpleXML:将XML属性值添加到数组

xml - 如何在读取 xml 文件时处理错误 R

html - 如何转换xml并保留换行符?

使用 XSL 转换将 XML 转换为 CSV

java - JGit - 通过 Java 创建合并请求