This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: accumulator needed
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] accumulator needed
- From: Karim Barkati <barkati at edite-de-paris dot com dot fr>
- Date: Mon, 09 Jul 2001 21:28:10 +0200
- References: <A4DAF4E6BC38D511936900508BAD76CCD1FCBA@eseis13nok.ntc.nokia.com>
- Reply-To: xsl-list at lists dot mulberrytech dot com
You're right, the sum of previous durations should sufficiant for me.
The other tip seem more difficult to me.
Thank you.
Karim Barkari
Jarno.Elovirta@nokia.com a écrit :
> Hip hei!
>
> > <!-- Draw a quarter note. -->
> > <xsl:template match="note">
>
> You need to declare the parameters used here, i.e.
>
> <xsl:param name="x_offset" select="0">
> <xsl:param name="y_offset" select="0">
>
> > <xsl:if test="type='quarter'">
> > <xsl:element name="g">
> > <xsl:attribute name="transform">
> > <xsl:text>translate(</xsl:text>
> > <xsl:value-of select="$x_offset"></xsl:value-of>
> > <xsl:text>,</xsl:text>
> > <xsl:value-of select="$y_offset"></xsl:value-of>
> > <xsl:text>)</xsl:text>
> > </xsl:attribute>
> >
> > <xsl:element name="use">
> > <xsl:attribute name="xlink:href"
> > namespace="http://www.w3.org/1999/xlink">
> > <xsl:text>MusicGlyphs.svg#BLACKHEAD</xsl:text>
> > </xsl:attribute>
> > </xsl:element>
> > </xsl:element>
> > </xsl:if>
> > </xsl:template>
>
> You could make the accumulator thingy to work by either counting the
> durations of previous notes with something like
>
> sum(preceding-sibling::note/duration)
>
> which wouldn't actually accumulate anything, but would get the job done; or,
> you could process the notes by first selecting only the first one and then
> in the template for "note" continue by select the following-sibling::note
> with the offset parameter.
>
> Hope this helps,
>
> Jarno
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list