This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
forwarding only existing parameter
- To: XSL-List at lists dot mulberrytech dot com
- Subject: [xsl] forwarding only existing parameter
- From: Guillaume Rousse <rousse at ccr dot jussieu dot fr>
- Date: Mon, 17 Sep 2001 12:26:13 +0200
- Organization: =?iso8859-1?q?Universit=E9=20Pierre=20&=20Marie?= Curie
- Reply-To: xsl-list at lists dot mulberrytech dot com
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