if else条件在XSLT中不起作用?

时间:2016-01-28 12:10:10

标签: xml xslt

我正在尝试{strong> this 链接else if条件,但没有成功。

我的代码是

<xsl:choose>
  <xsl:when test="//./ActionParams/@txt_sid = '110'">
    <xsl:for-each select="ext">
      <config type="2" 
              localserver="newxyz.com" 
              liveserver="newxyz.com" 
              httpuri="/etmailregistration/ok/UnsubFrmApp?sendmail=1" 
              params="txt_id,txt_sid" 
              readtimeout="39000" retry="3"/>
    </xsl:for-each>
  </xsl:when>
  <xsl:otherwise>
    <xsl:for-each select="ext">
      <config type="2" 
              localserver="oldxyz.com" 
              liveserver="oldxyz.com" 
              httpuri="/etmailregistration/UnsubFrmApp.aspx?sendmail=1" 
              params="txt_id,txt_sid" 
              readtimeout="39000" 
              retry="3"/>
    </xsl:for-each>
  </xsl:otherwise>
</xsl:choose>

我的服务电话只是newxyz.com

如果txt_sid = 110,则会调用newxyz.com
如果txt_sid = 120则会调用newxyz.com,而不是oldxyz.com

你能告诉我我错在哪里吗?

1 个答案:

答案 0 :(得分:2)

您的测试说“如果在文档中的任何位置,则ActionParams元素不是最顶层的元素,并且具有值为txt_sid的属性'110',......“。

现在,您没有提供足够的输入以确定,并且您没有指定您期望发生的事情以及您所看到的内容。但我今天感觉就好像猜测一样,并且假设你不想总是查看完整的文档,而只是在你当前的背景下。请尝试使用./ActionParams/@txt_sid='110'.//ActionParams/@txt_sid='110',具体取决于您的具体目标。首先考虑一下你在寻找什么,而不是盲目地尝试其中一个,这可能是一个好主意。