<br> 在 XSLT 中丢弃的 xml 中的换行符



我正在在具有下面的结构的XML文档上进行XSL变换。

<text_collection>
    <text key="score_1"> Score 1 <br/> Good.  </text>
    <text key="score_2"> Score 2 <br/> Poor.  </text>
</text_collection>

我的XSLT很简单,是

<xsl:template mode="codes" match="text">
    <li>
        <xsl:value-of select="."/>
    </li>
</xsl:template>

但是我面临的问题是,当创建HTML时,<br/>丢失了。在文档中,我只得到

<ul>
     <li> Score 1 Good. </li>
     <li> Score 2 Poor. </li>
  </ul>

任何人都可以让我知道为什么<br/>被丢弃?

谢谢..

而不是:

<xsl:value-of select="."/>

使用:

<xsl:copy-of select="node()"/>

这将把文本和元素节点同时传输到输出树。

xsl:value-of复制您的文本,但不会复制其中的嵌套元素。

例如,您可以执行此操作(在您先前选择的所有文本之后,要实现一条线路。

<xsl:copy-of select="./br"/>    

,但这是没有用的,您也可能会写:

<br/>

直接在您的文档中。

如果可能的话,我会考虑重组您的XML文档。您可以在<text>元素下添加<Lines>。然后,您可以将value:of获取每行,并根据需要进行换行。

相关内容

  • 没有找到相关文章

最新更新