此代码使用 Java 并使用 Saxon
我正在实现一个转换函数来转换 xml 和几个辅助 xml 源所有输入都不是文件,所以我不能使用 document() 或其他直接定义文件的方法
String transform(String xml, List<String> secondaryXmls, String xslt);
它输出转换后的 xml 结果
我成功地应用了从 xslt 到单个 xml 文件的转换,但是我在应用也利用 secondaryXmls 的转换时遇到了困难。我已经完成了我的研究,但仍然找不到正确的方法来应用这些
这是代码的快照
TransformerFactory tFactory = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl",null);
Document transformerDoc = loadXMLFromString(xslt);
Source transformerSource = new DOMSource(transformerDoc);
Transformer transformer = tFactory.newTransformer(transformerSource);
Document sourceDoc = loadXMLFromString(xml);
Source source = new DOMSource(sourceDoc);
DOMResult result = new DOMResult();
transformer.transform(source, result);
Document resultDoc = (Document) result.getNode();
return getStringFrom(resultDoc);
谢谢!
编辑:
哪个是更好的方法:
连接所有 xml,转换,仅返回过滤连接的辅助 xml 的原始部分
写一段代码,添加
<xsl:variable name="asd" select="document('asd')">
在 xslt 字符串之上