首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中的Saxon缩进

Java中的Saxon缩进
EN

Stack Overflow用户
提问于 2014-02-27 18:49:22
回答 1查看 534关注 0票数 0

我需要通过一个支持XSLT2.0的转换器生成一个缩进良好的XML文件。我发现Saxon支持XSTL2.0,但是我不知道如何生成具有良好缩进的XML。

对于标准的JAVA转换器,我使用了以下代码:

代码语言:javascript
复制
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("myOutput.xml"));
transformer.transform(source, result);

它实际上工作得很好,但是如果我切换到Saxon:

代码语言:javascript
复制
TransformerFactory transformerFactory = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl", null);

那么缩进就不再起作用了。我还阅读了文档,似乎必须使用saxon:indent-spaces属性,但它似乎只在Saxon的PE版本中可用。但是,它说默认值是3,所以默认情况下应该缩进。

不管怎样,您知道用Saxon (免费版本)生成缩进良好的XML的方法吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-02-27 22:15:26

您的代码适合我;为了进行研究,我们需要查看输入和输出的完整细节,以及您正在使用的Saxon版本等。

顺便说一句,在Saxon中使用DOMSource比使用StreamSource或SAXSource慢十倍。除非出于其他令人信服的原因需要构建DOM,否则不要这么做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22066228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档