2013-03-15 3 views
-1

В настоящее время у меня есть переменная, которая проверяет узел в XML для True/FalseПрисвоение переменной на основе узла существующей

<xsl:variable name="bVariable" select="nodename[@elementname = 'true']"/> 

Я собираюсь использовать другой XML, который может или не может иметь этот узел , Если у него нет узла, я бы хотел, чтобы bVariable был ложным. Если это так, я хотел бы, чтобы он работал идентично тому, как это делается выше (и возвращает true/false на основе значения elementname).

Спасибо!

ответ

0

Вам нужно будет проверить, существует ли узел или нет. Если существует переменная будет иметь выберите вариант, как вы объясняете выше - в противном случае select должна равняться 'false':

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

<xsl:template match="/"> 
    <xsl:variable name="bVariable"> 
     <xsl:choose> 
      <xsl:when test="not(nodename)"> 
       <xsl:value-of select="'false'"/> 
      </xsl:when> 
      <xsl:otherwise> 
       <xsl:value-of select="nodename[@elementname = 'true']"/>    
      </xsl:otherwise> 
     </xsl:choose> 
    </xsl:variable> 

</xsl:template> 

</xsl:stylesheet> 

Но, пожалуйста, - для того, чтобы действительно дать вам ответ дать нам пример исходного XML с ожидаемым выходом!

С уважением, Peter

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