Subject: Re: [xsl] Creating nested output from <xsl:if>'s From: Kevin Jones <kjones@xxxxxxxxxxx> Date: Sat, 4 Dec 2004 14:27:31 +0000 |
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@xxxxxxxxxxxxxxxxxxxxxx> > > --~--
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Creating nested output fr, George Cristian Bina | Thread | Re: [xsl] Creating nested output fr, Paul Giannaros |
Re: [xsl] Creating nested output fr, George Cristian Bina | Date | RE: [xsl] mediaobject on titlepage, Denis Bradford |
Month |