Subject: forwarding only existing parameter
From: Guillaume Rousse <rousse@xxxxxxxxxxxxxx>
Date: Mon, 17 Sep 2001 12:26:13 +0200
|
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@xxxxxxxxxxxxxx>
GPG key http://lis.snv.jussieu.fr/~rousse/gpgkey.html
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|