2016-12-14 6 views
1

У меня есть этот простой шаблон:IF условие не обнаруживается в XSL сценарии

<!--Item--> 
    <xsl:template match="Presentations|TFGWItem"> 
    <tr> 
     <xsl:apply-templates select="Theme"/> 
     <xsl:apply-templates select="Name" /> 
    </tr> 

    <xsl:if test="name()='Presentations'"> 
     <tr> 
     <td> 
      <xsl:text> </xsl:text> 
     </td> 
     <td> 
      <xsl:text> </xsl:text> 
     </td> 
     </tr> 
     <tr> 
     <td> 
      <xsl:text> </xsl:text> 
     </td> 
     <td> 
      <xsl:text> </xsl:text> 
     </td> 
     </tr> 
    </xsl:if> 
    </xsl:template> 

Однако положение if не обрабатывает. Я неправильно делаю тест if?

+0

Вы пробовали локальный_файл имя? Может быть проблемой пространства имен – fafl

+0

@fafl Я знаю, что мой узел «<Презентации>» обрабатывается, потому что работает первый бит. Что такое 'local-name'? –

+0

имя() содержит префикс пространства имен (например, «xsl» или «d»), а локальное имя не – fafl

ответ

1

Оказывается, что тест работал. Просто пустые строки не отображались в браузере.

мне пришлось изменить:

<!--Item--> 
    <xsl:template match="LACItem|Presentations|TFGWItem"> 
    <tr> 
     <xsl:apply-templates select="Theme"/> 
     <xsl:apply-templates select="Name" /> 
    </tr> 

    <xsl:if test="name()='Presentations'"> 
     <tr> 
     <td>&#160;</td> 
     <td>&#160;</td> 
     </tr> 
     <tr> 
     <td>&#160;</td> 
     <td>&#160;</td> 
     </tr> 
    </xsl:if> 
    </xsl:template> 

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

  • Нет связанных вопросов^_^