2013-03-15 44 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