Java Transformer setOutputProperty()
我目前正在使用以下代码缩进XML:Java Transformer setOutputProperty(),java,xml,apache,xslt,transformer,Java,Xml,Apache,Xslt,Transformer,我目前正在使用以下代码缩进XML: transformer.setOutputProperty(OutputKeys.INDENT, "yes"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2"); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); 这可以很好地缩进代码,但是我不确定http:
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
这可以很好地缩进代码,但是我不确定http://xml.apache.org/xslt}缩进量“
正在进行。URL对于缩进是必不可少的。有人能解释一下此URL的作用和工作原理吗
谢谢!:)您正在覆盖在
org.apache.xml.serializer
包中定义的默认属性indent amount
。这将启用缩进(因为默认值为0)
XML、HTML和文本转换输出的输出属性在org.apache.XML.serializer的属性文件中定义
包裹
您可以在中替代这些属性的默认值
使用xsl:output元素的属性创建样式表
覆盖Xalan特定的默认设置,如下所示:
在样式表元素中声明xalan命名空间
(xmlns:xalan=”http://xml.apache.org/xalan"
使用指定的名称空间前缀(例如,“xalan”)重新定义
样式表xsl:output元素中感兴趣的属性(用于
例如,xalan:indent amount=“5”)。下面的样式表片段
声明xalan命名空间并将缩进量设置为2:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xalan">
<xsl:output method="xml"
encoding="UTF-8"
indent="yes"
xalan:indent-amount="2"/>
您可以在章节配置序列化输出属性下找到更多信息
所有这些都假设您的序列化程序是特定于xalan的