Subject: Re: [xsl] Creating nested output from <xsl:if>'s From: George Cristian Bina <george@xxxxxxx> Date: Sat, 04 Dec 2004 18:17:41 +0200 |
Yes, it should be a xsl:choose instead of xsl:if. <xsl:template name="checkPitch"> <xsl:when test="@pitch='x-high'"> <xsl:text><PITCH BASE="70%"></xsl:text> <xsl:call-template name="checkRate"/> <xsl:text></PITCH></xsl:text> </xsl:when> <xsl:otherwise> <xsl:call-template name="checkRate"/> </xsl:otherwise> </xsl:template>
Best Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com
On Saturday 04 December 2004 14:02, George Cristian Bina wrote:
Hi Paul,
You can also do this with a chain of named templates, each performs one check and delegates to the next:
<xsl:template name="checkPitch"> <xsl:if test="@pitch='x-high'"> <xsl:text><PITCH BASE="70%"></xsl:text> <xsl:call-template name="checkRate"/> <xsl:text></PITCH></xsl:text> </xsl:if> </xsl:template> <xsl:template name="checkRate"> <xsl:if test="@rate='slow'"> <xsl:text><RATE SPEED="-40%"></xsl:text> <xsl:apply-templates/> <xsl:text></RATE></xsl:text> </xsl:if> </xsl:template> <xsl:template match="//prosody"> <xsl:call-template name="checkPitch"/> </xsl:template>
Best Regards, George
Thanks again for your reply George, but would this not mean that if pitch was not set to x-high then checkRate would not be called? Again, this would mean a very huge file if I had to do this for every combination of attributes for the prosody element.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Creating nested output fr, Paul Giannaros | Thread | Re: [xsl] Creating nested output fr, Kevin Jones |
RE: [xsl] HOW XSLT WILL BE, WHEN XM, Michael Kay | Date | RE: [xsl] Creating nested output fr, Michael Kay |
Month |