Leaving aside the question of why you are using <xsl:text>
for the output you might find recursion more maintainable
than "if" although a little more verbose. Perhaps something
like this (untested).
<xsl:template match="prosody" name="format-prosody">
<xsl:param name="atts" select="@*"/>
<xsl:for-each select="$atts[1]">
<xsl:choose>
<xsl:when test="self::pitch='x-high'">
<xsl:text><PITCH BASE="70%"></xsl:text>
<xsl:call-template name="format-prosody">
<xsl:with-param name="atts" select="$atts[position()>1]"/>
</xsl:call-template>
<xsl:text></PITCH></xsl:text>
</xsl:when>
<xsl:when test="self::rate='slow'">
<xsl:text><RATE SPEED="-40%"></xsl:text>
<xsl:call-template name="format-prosody">
<xsl:with-param name="atts" select="$atts[position()>1]"/>
</xsl:call-template>
<xsl:text></RATE></xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="format-prosody">
<xsl:with-param name="atts" select="$atts[position()>1]"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:if test="count($atts)=0">
<xsl:apply-templates/>
</xsl:if>
</xsl:template>
Kev.
On Saturday 04 December 2004 17:34, Paul Giannaros wrote:
On Saturday 04 December 2004 13:45, George Cristian Bina
wrote:
Hi,
You can do something like below:
<xsl:if test="@pitch='x-high'">
<xsl:text><PITCH BASE="70%"></xsl:text>
<xsl:if test="@rate='slow'">
<xsl:text><RATE SPEED="-40%"></xsl:text>
<xsl:apply-templates/>
<xsl:text></RATE></xsl:text>
</xsl:if>
<xsl:text></PITCH></xsl:text>
</xsl:if>
That would work, but would not be very practical. There
are quite a few options and this would force me to have
to write a _very_ long nested if statement. Any other
solutions?
--~----------------------------------------------------
-------------- 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>
--~--
--~------------------------------------------------------
------------ 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>
--~--
--~------------------------------------------------------------------
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>
--~--