OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: [xml-dev] Combining 2 XML into 1 XML via XSLT

[ Lists Home | Date Index | Thread Index ]

On Thu, Sep 12, 2002 at 11:20:58AM -0500, Dave Yancey wrote:
> I'm getting closer with it.  I"m needing help with this section.
> 
> <xsl:choose>
> <xsl:when test="@header_name = $header_name1">
> <xsl:variable name="bFound">true</xsl:variable>
> </xsl:when>
> <xsl:when test="@header_name != $header_name1">
> <xsl:variable name="bFound">false</xsl:variable>
> </xsl:when>
> </xsl:choose>

That's a very common mistake (and no wonder, since XSLT was designed by
functional programmers, and most people aren't functional programmers).
I'm not sure if this directly addresses your question, but the way to
conditionally define a variable is:

  <xsl:variable>
    <xsl:choose>
      <xsl:when test="@header_name = $header_name1">
        <xsl:value-of select="true"/>
      </xsl:when>
      <!-- <xsl:when test="@header_name != $header_name1"> -->
      <xsl:otherwise>
        <xsl:value-of select="false"/>
      </xsl:otherwise>
      <!-- </xsl:when> -->
    </xsl:choose>
  </xsl:variable>

Actually, in this particular case you could even use <xsl:if> instead of
<xsl:choose> & <xsl:when>, since if the 'if' condition fails, you'll get
a null value, which is functionally equivalent to 'false' for most
purposes.

-- 
Matt Gushee
Englewood, Colorado, USA
mgushee@havenrock.com
http://www.havenrock.com/




 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS