[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Accumulator needed
Hello, I'm trying to generated an SVG file from a MusicXML file, using a XSLT stylesheet. I need to compute my x_offset depending on the duration of the previous notes. In other words, I need an accumulator. I tried to use an xsl:variable, but I learned it's not updateable... Any suggestion is welcome. :-) Karim Barkati <!-- Draw notes. --> <xsl:for-each select="note"> <xsl:apply-templates select="."> <xsl:with-param name="x_offset" select="$LEFT_MARGIN + 10"> </xsl:with-param> <xsl:with-param name="y_offset" select="$TOP_MARGIN + $HEADER_SIZE + (($measure_number - 1) * ($SYSTEM_SPACING + (4 * $STAFF_LINE_SPACING)))"> </xsl:with-param> </xsl:apply-templates> </xsl:for-each> ... <!-- Draw a quarter note. --> <xsl:template match="note"> <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> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|