Subject: Re: [xsl] Creating nested output from <xsl:if>'s From: Paul Giannaros <ceruleanblaze@xxxxxxxxx> Date: Sat, 4 Dec 2004 18:47:55 +0000 |
On Saturday 04 December 2004 14:27, Kevin Jones wrote: > 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). I was using <xsl:text> because it seemed to give for better formatting using xsltproc. Is there a better way? This method works fine. Thanks > <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, Kevin Jones | Thread | RE: [xsl] Creating nested output fr, Michael Kay |
Re: [xsl] Creating nested output fr, Paul Giannaros | Date | [xsl] RE: Incremental transformatio, Andrzej Jan Taramina |
Month |