2016-06-23 2 views
-1

У меня есть следующий шаблон, в котором на основе соответствия условия значение должно измениться.Как проверить наличие нескольких условий в xsl: if in xslt1.0

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output indent="yes" version="1.0" encoding="UTF-8" method="xml"/> 

    <xsl:template match="text()" name="create"> 
     <xsl:param name="code"/> 
     <xsl:param name="boolean"/> 

     <xsl:if test="$boolean= 'True'"> 
      <xsl:value-of select="'Services'"/> 
     </xsl:if> 

     <xsl:if test="$code=7"> 
      <xsl:value-of select="'Accounts'"/>    
     </xsl:if> 
    </xsl:template> 

</xsl:stylesheet> 

В этом первом состоянии работает. Если я пройду boolean = false, ничего не назначается. Если он равен True, он назначает Services. Но для кода, даже если я прохожу 7, он не получает назначение. Я попробовал состояние с одинарными кавычками также

<xsl:if test="$code='7'"> 

Я звоню как этот

 <xsl:variable name="Category"> 
     <xsl:call-template name="create"> 
      <xsl:with-param name="code" select="s0:Code"/> 
      <xsl:with-param name="boolen" select="'True'"/> 
     </xsl:call-template> 
     </xsl:variable> 

s0: Код является имя элемента, который имеет значение 7 Любая помощь будет оценена.

+1

Ваша проблема не может быть воспроизведена с использованием вашего кода. –

+0

Я проверил ваш код с 'boolean = 'True' и' code = 7' в качестве параметров, а результат - 'ServicesAccounts' - как и ожидалось. – zx485

+0

Обновлен код – user3331421

ответ

1

Ваш шаблон ожидает, что параметры будут называться code и boolean. Вы вызываете его с параметрами с именем Occupation и Agent. Шаблон игнорирует эти параметры и работает со значениями по умолчанию своих параметров (в вашем примере пустые значения).

+0

Я думаю, что имя параметра не должно быть проблемой. Он примет это. Я изменил его и попытался. Тогда и его не работает. – user3331421

+0

@ user3331421 «не работает» - это не то, на что я могу ответить. Измените свой вопрос и опубликуйте ** полный ** и ** воспроизводимый пример **, включая вход XML - см. [Mcve]. –

Смежные вопросы