我正在创建一个XML文档。我让它缩进使用
TransformerFactory.setAttribute("indent-number", new Integer(2));
Transformer.setOutputProperty(OutputKeys.INDENT, "yes");
是否可以让Java使用制表符而不是缩进空格?怎么样?
答案 0 :(得分:2)
不,不是一般的。 XSLT规范不允许指定缩进时使用的WHAT空格。
但是,它可能是要配置的特定于XSLT处理器的项目。查看您正在使用的文档。
如果您真的想要这个,那么您可以在输出上使用afterburner XSLT脚本,它可以对text() - 节点执行任何操作。
答案 1 :(得分:1)
是的,标签被一些人认为是邪恶的。但是,如果要使用TransformFactory
并希望更改缩进行为以使用制表符而不是空格,则需要提供自己的ContentHandler
实现。然后将ContentHandler的实现传递给新的SAXResult
- 将其作为“结果”传递给Transformer.transform(...)
。很多篮球跳过。
另一个考虑因素可能是在输出上使用智能XSLT。
答案 2 :(得分:0)
我想不是。
您可以获取结果并对其进行处理,替换调用str.replace("\n ", "\n\t")
(或您想要的任意数量的空格)。
但我建议不要这样做 - 标签不是独立于平台的。