撒克逊人:XML的转型

时间:2018-10-06 12:24:13

标签: python saxon saxon-js

我正在使用Saxon9he.jar转换XML文件。 我的原始文件具有几个属性,例如:

<div>
  <s id="1-1" lang="en">
    <w deprel="hi" head="1-1-2" id="1-1-1" lemma="Hi" pos="NN">Hi</w>
    <w deprel="ATTR" head="1-1-2" id="1-1-2" lemma="everyone" pos="NN">everyone</w>
  </s>
</div>

转换后,Saxon将每个属性写在一行上。但我想像原来一样将它们放在一行上。 我该如何实现?我在jar文件中需要更改什么?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

大概是您显式或隐式地请求了indent="yes"。这是对XSLT处理器的要求,它会在一定的约束下尽最大努力使输出尽可能可读。 Saxon尝试使输出可读的一种方法是避免输出中的行过长,因为通常认为水平滚动对可用性不利。

如果您移至Saxon PE,则可以通过设置最大行长(使用xsl:output/@saxon:line-length)对此进行一些控制。使用Saxon HE,您只需要忍受Saxon提供的格式,除非您想编写Java代码以自定义序列化行为(如果您准备深入研究,这并不难)。

无论我们做什么,当然有些人会喜欢它,而另一些人会讨厌它。