【问题标题】:xslt produces a result that does not end with a carriage return (newline)xslt 生成的结果不以回车符(换行符)结尾
【发布时间】:2010-08-01 06:39:09
【问题描述】:

我有一个将 xml 文件转换为另一个 xml 文件的 xslt 脚本。 我遇到的问题是生成的 xml 文件不像表现良好的 linux 文件那样以换行符结尾。

我使用<xsl:output method="xml" indent="yes"/> 来很好地识别代码。

有没有办法告诉 xslt 这是 Linux 模式,它应该在输出的末尾添加一个换行符?

谢谢, 安娜

【问题讨论】:

  • 你能解释一下当最后一个换行符丢失时你会遇到什么问题吗?
  • 我认为这不是 XSLT 问题,而是管道中的下一步问题,它看起来无法处理 XML 文档...
  • 是的,确实它是管道的下一步问题。我刚刚修复了下一步,让它顺其自然。

标签: linux xslt newline


【解决方案1】:

XML 文件是否以换行符结尾应该 无关紧要。

但是,您可以尝试手动添加换行符,相当于:

<xsl:template match="/">
  <root>
    <xsl:apply-templates select="other/processing" />
  </root>
  <xsl:value-of select="'&#xA;'" />
</xsl:template>

如果这对您的 XSL 处理器不起作用(即换行符被修剪),您应该考虑更改后续处理链以忽略“丢失的”换行符。

【讨论】:

  • 我修复了下一步的管道。谢谢。
【解决方案2】:

尝试 method="text" 并在需要的地方使用换行代码(&amp;#10;)

【讨论】:

  • 这对我不起作用。如果我使用 method="text",那么我生成的所有 xml 都会消失。如果我只添加换行代码,那么它将被忽略。
猜你喜欢
  • 1970-01-01
  • 2017-10-02
  • 1970-01-01
  • 1970-01-01
  • 2014-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-23
相关资源
最近更新 更多