如何在XSLT 1.0

时间:2017-07-13 10:32:45

标签: string xslt split xslt-1.0

我需要用昏迷分割字符串并输出如下所示的内容。

input 1:
<xsl:variable name="weekdays" select="sunday,tuesday,wednesday">

input 2:
<xsl:variable name="weekdays" select="sunday,thursday,friday,saturday">

输入可能包含随机工作日。我需要输出如下所示。

output 1:
<weekday>
sunday
Tuesday
wednesday
</weekday>

output 2:
<weekday>
sunday
Thursday
Friday
Saturday
</weekday>

有人可以为此提供帮助吗。

1 个答案:

答案 0 :(得分:0)

为了实现这一点,您的输入XML应该在其中一个元素中包含comma个分隔值,或者您必须相应地准备<xsl:variable>的值。您问题中显示的<xsl:variable>语法不正确。

输入XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<weekdays>Sunday,Tuesday,Wednesday</weekdays>

在XSL中,您可以使用变量来保存元素中的值,并使用translate函数将comma替换为newline个字符。

转换XSL

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />
    <xsl:strip-space elements="*" />
    <xsl:variable name="weekday-names" select="weekdays" />
    <xsl:template match="/">
        <output>
            <xsl:value-of select="translate($weekday-names,',','&#xA;')" />
        </output>
    </xsl:template>
</xsl:stylesheet>

输出XML

<?xml version="1.0" encoding="UTF-8"?>
<output>Sunday
    Tuesday
    Wednesday
</output>