xsl-list
[Top] [All Lists]

Re: [xsl] use choose in call-templates not possble

2012-05-10 10:10:23
Hi,

On 5/10/2012 8:34 AM, TW wrote:
I am doing this
    <xsl:variable name="Fcfactor">
       <xsl:call-template name="translateDcml">
       <xsl:choose>
       <xsl:when test="FCDecimalPlace  != ''">


        <xsl:with-param name="factor" select="FCDecimalPlace"/>

       <xsl:otherwise>
       <xsl:with-param name="factor" select="LCDecimalPlace"/>
         </xsl:otherwise>
         </xsl:choose>
      </xsl:call-template>
      </xsl:variable>


Like Ken suggested, do this instead:

<xsl:call-template name="translateDcml">
   <xsl:with-param name="factor">
     <xsl:choose>
       <xsl:when test="FCDecimalPlace  != ''">
         <xsl:value-of select="FCDecimalPlace"/>
       </xsl:when>
       <xsl:otherwise>
         <xsl:value-of select="LCDecimalPlace"/>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:with-param>
</xsl:call-template>

Or (XSLT 2.0):

<xsl:with-param name="factor"
  select="(FCDecimalPlace[.!=''],LCDecimalPlace)[1]"/>

But probably better

  select="(FCDecimalPlace[string(.)],LCDecimalPlace)[1]"/>

Or (XSLT 1.0)

<xsl:with-param name="factor"
  select="FCDecimalPlace[normalize-space()] |
    LCDecimalPlace)[not(normalize-space(current()/FCDecimalPlace)]"/>

Cheers,
Wendell


--
======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--