2011-05-19 117 views
-1

我有一个包含字符串值的变量serviceProvideList如何避免从字符串变量中获取重复的字符串?

我用下面的代码分别获得每个字符串:

<xsl:variable name="tokenizedSample" select="str:tokenize($serviceProvideList,'&#xa;')"/> 

<xsl:for-each select="$tokenizedSample"> 
    <xsl:variable name="weakProvide" select="."/> 
    <xsl:variable name="tokenized" select="str:tokenize($weakProvide,' ')"/> 

    <xsl:for-each select="$tokenized"> 
    <xsl:variable name="weakP" select="."/> 
    <xsl:value-of select="$weakP"/> 
    </xsl:for-each> 
</xsl:for-each> 

如何避免在变量serviceProvideList重复值?

+1

看来是http://stackoverflow.com/questions/6054688/how-to-check-repeated的复本-elements功能于作为串序列阵列。请不要多次提问同一个问题。 – 2011-05-19 15:59:13

回答

1

排除标记,其具有相同的值precedings,从for-each循环:

<xsl:for-each select="$tokenizedSample[ not(preceding-sibling::* = .) ]"> 
+1

当for-each序列中的项不是节点时,你确定前同胞是否可以工作? – LarsH 2011-05-19 17:14:10

+1

exslt函数'str:tokenize'结果是节点集。 [doc](http://exslt.org/str/functions/tokenize/index.html) – 2011-05-20 06:29:24

+0

啊...我假设它与XPath 2.0'tokenize()'函数相同。 – LarsH 2011-05-20 16:18:41