XSL需要在结果上添加分隔符

时间:2018-01-15 13:31:05

标签: xslt xslt-2.0

我有这个代码。输出结果在同一行,但没有任何修复逗号,空格或斜杠。我想知道如果结果输出是两个结果和更多结果如何分开。

<xsl:if test="count(entry/fields/field_area/data)">
                    <li id="li_area">
                        <span class="st_label">
                            <xsl:value-of select="entry/fields/field_area/label"/>
                            <xsl:text>: </xsl:text>
                                                        </span>

                        <xsl:value-of select="entry/fields/field_area/data" separator="&#xA;"/>


                    </li>

                    </xsl:if>

输出如下: 地区:americacanada(我想这样:地区:美国,加拿大

1 个答案:

答案 0 :(得分:0)

分隔符属性会很有用 如果您的选择关注点已选择多个标记。

这次并非如此。您有一个单个字段 (文本区域)及其内容可以将部分(行)分开 使用换行符字符(这是我的假设,因为你没有 显示源数据。)

如果我是对的,你应该:

  • 将源值标记化,将其拆分为换行符字符
  • 加入令牌,usimg','作为分隔符。

有关详细信息,请参阅 tokenize string-join XSLT函数的说明。

所以这个脚本片段看起来如下所示:

<xsl:value-of select="string-join(tokenize(<your-tag>, '&#xA;'), ', ')"/>

我使用<your-tag>作为源标记的占位符。

还有一句话:验证是否将字符划分为文本区域的内容 是换行符(&#xA;)。它们也可以是回车字符(&#xD;)。