首页 > 解决方案 > 在单行中显示属性@id、@name、@parent

问题描述

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

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

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

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

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

提前致谢。

标签: xmlxslt-2.0

解决方案


如果您在 XSLT 处理器上使用 xsl:output 控件序列化 XSLT 转换的结果树,那么规范对序列化的某些方面进行了规定,但其他方面留给 XSLT 处理器。规范中没有限制开始标记中的属性是否由空格、制表符或换行符分隔,也没有限制在属性值周围使用单引号还是双引号,也没有限制属性的顺序。

您的特定 XSLT 处理器可能有自己的方式来让您控制这些事情。正如@MartinHonnen 所提到的,对于撒克逊,只有在超出最大行长度的情况下,属性才会被换行,并且您可以使用撒克逊序列化选项设置最大行长度。

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


推荐阅读