2013-03-15 46 views
-1

目前,我有檢查的XML中真正節點的變量/假節點分配變量基於現有

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

我將使用不同的XML可能會或可能不會有一個節點。如果它沒有節點,我希望bVariable是假的。如果是這樣,我希望它的運行方式與上面的相同(並根據elementname的值返回true/false)。

謝謝!

回答

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的例子!

Regards, Peter