【发布时间】:2012-03-21 14:01:45
【问题描述】:
我正在使用 XSLT 来解析 XML 元素的文本内容。此文本包含换行符,但我似乎无法正确解析它们。我正在使用我在网上找到的代码来分割文本。这是代码的相关部分。
<xsl:variable name="first">
<xsl:value-of select="substring-before($source, $newline)"/>
</xsl:variable>
<xsl:variable name="rest">
<xsl:value-of select="substring-after($source, $newline)"/>
</xsl:variable>
这是一个将 $rest 推入自身的 recusive 模板的一部分。
问题在于代码示例没有定义 $newline。
如果我将 $newline 设置为一个字母,例如 's',则文本会很好地拆分(例如,它将输入“响亮”变成“re”和“ounding”)。但是当我尝试将 $newline 设置为换行符时,即&#xa; 或&#xa0;,它会永远递归并给我一个堆栈溢出。我也尝试为换行定义一个实体,但没有区别。
输入在每行的末尾都有普通的 CR/LF(我在 Windows 盒子上)。
我做错了什么?
【问题讨论】: