在单行中显示@id,@ name,@ parent属性

时间:2018-06-07 14:50:59

标签: xml xslt-2.0

我在XML中有标签,我有多个属性。 @ id,@ name,@ parent。当我在编辑器中打开XML时,所有三个属性都不会以单行显示。 就像:

Test id="" name=""
 parent="" child=""

我希望所有这些属性都在单行

Test id="" name="" parent="" child=""

我正在使用XSLT转换XML以获得所需的XML。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果要使用XSLT处理器上的xsl:output控件对XSLT转换的结果树进行序列化,那么该规范是关于序列化的某些方面的说明,但其他方面留给了XSLT处理器。规范中没有任何内容限制开始标记中的属性是否由空格,制表符或换行符分隔,没有任何限制是否在属性值周围使用单引号或双引号,并且没有任何约束属性的顺序。

您的特定XSLT处理器可能有自己的方式来控制这些事情。对于Saxon,正如@MartinHonnen所提到的,如果超过最大行长度,属性将仅被包装到新行上,并且您可以使用Saxon序列化选项设置最大行长度。

但是,即使XSLT序列化程序以特定方式输出它,XML编辑器也完全有权以不同方式显示它。属性值之间的空白被认为是无关紧要的(因为它不向接收应用程序传达任何信息),因此处理管道中的XML工具不需要或预期以精确的形式保留它。