将参数的值拆分为多个变量

时间:2014-03-11 20:24:17

标签: xml xslt xpath xslt-2.0 xpath-2.0

我从命令行传递给我的xsl样式表的à参数(我使用saxon 9),我的参数“emails”如下:

<xsl:param name="emails" select="emails"/> 

及其价值: “john.doe @ corp.com,jane.doe @ corp.com,...”

我的参数可以包含多封电子邮件。

我想抓住每封电子邮件并将其分配给变量:$ email1,$ email2,$ email3 ...

一旦我拥有变量,我需要根据这些变量进行一些检查:

<xsl:if test="./text()=$email1">
     <!-- some operations -->
</xsl:if>
<xsl:if test="./text()=$email2">
     <!-- some operations -->
</xsl:if>
...

我该如何处理(XSLT 2 / xpath 2)??

谢谢!

1 个答案:

答案 0 :(得分:2)

在Xpath 2中,您可以使用tokenize拆分邮件地址:

tokenize($emails, ",")

例如,在XSLT中可能:

 <xsl:variable name="email" select="tokenize($emails, ',')"/>

然后,您可以使用$email[1]$email[2],...

访问它们

这比使用“$ email1”更有意义