Xml 在单行中显示属性@id、@name、@parent
我有XML中的标记,其中有多个属性@id、@name、@parent。当我在编辑器中打开XML时,所有三个属性都不会显示在一行中。 就像:Xml 在单行中显示属性@id、@name、@parent,xml,xslt-2.0,Xml,Xslt 2.0,我有XML中的标记,其中有多个属性@id、@name、@parent。当我在编辑器中打开XML时,所有三个属性都不会显示在一行中。 就像: Test id="" name="" parent="" child="" 我希望所有这些属性都在一行中 Test id="" name="" parent="" child="" 我正在使用XSLT转换XML以获得所需的XML 提前谢谢 如果要在XSLT处理器上使用xsl:output控件序列化XSLT转换的结果树,那么规范对序列化的某些方面进行了规
Test id="" name=""
parent="" child=""
我希望所有这些属性都在一行中
Test id="" name="" parent="" child=""
我正在使用XSLT转换XML以获得所需的XML
提前谢谢 如果要在XSLT处理器上使用xsl:output控件序列化XSLT转换的结果树,那么规范对序列化的某些方面进行了规定,但其他方面则留给XSLT处理器处理。规范中没有约束开始标记中的属性是否由空格、制表符或换行符分隔的内容,也没有约束在属性值周围使用单引号或双引号的内容,也没有约束属性顺序的内容 您的特定XSLT处理器可能有自己的方式来允许您控制这些事情。对于Saxon,正如@MartinHonnen提到的,只有在超出最大行长度时,属性才会被包装到新行上,并且您可以使用Saxon序列化选项设置最大行长度
然而,即使XSLT序列化程序以特定的方式输出它,XML编辑器也有权以不同的方式显示它。属性值之间的空白被认为是无关紧要的(因为它不会向接收应用程序传递任何信息),因此处理管道中的XML工具不需要或不希望保留它的精确形式。您使用的XML编辑器或您使用的特定XSLT处理器现在有问题吗?您需要准确地解释您使用的导致问题的软件。例如,如果您使用Saxon 9,那么就有一个扩展属性
Saxon:line length
,请参阅,它在将属性放到新行时为您提供一些控制。