0

我正在使用 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 文件中更改什么?

谢谢你的帮助!

4

1 回答 1

0

大概你要求indent="yes",无论是明确的还是隐含的。这是对 XSLT 处理器的请求,要求其尽其所能使输出尽可能可读,但要受到某些约束。Saxon 试图使输出可读的一种方法是避免输出中的行过长,因为水平滚动通常被认为不利于可用性。

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

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

于 2018-10-06T14:30:53.657 回答