This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

forwarding only existing parameter


Hello list.
I'm trying to forward parameters from a template to another, only if they are 
defined, in the most simple way.

<template match="foo">
  <param name="bar"/>

  <apply-templates select=".">
    <with-param name="bar" select="$bar"/>
  </apply-templates>
</template>
This one actually forward an empty bar argument when not called with a bar 
argument, so it's wrong.

<template match="foo">
  <param name="bar"/>

  <apply-templates select=".">
    <if test="$bar">
      <with-param name="bar" select="$bar"/>
    </if>
  </apply-templates>
</template>
This one is rejected as not xsl-compliant

<template match="foo">
  <param name="bar"/>
  
  <choose>
    <when test="$bar">
      <apply-templates select=".">
        <with-param name="bar" select="$bar"/>
      </apply-templates>
    </when>
    <otherwise>
      <apply-templates select="."/>
    </otherwise>
  </choose>
</template>
This one is OK, but really ugly. Isn't there any other way ?
-- 
Guillaume Rousse <rousse@ccr.jussieu.fr>
GPG key http://lis.snv.jussieu.fr/~rousse/gpgkey.html

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]