|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: chords and lyrics notations via XSL
Hi,
well, I looked more deeply at xslt and did this:
source:
<song>
<head>
<title>The winner takes it all</title>
</head>
<body>
<line>
<chord value=" "/>I don't wanna <chord value="Gb7"/>talk
about things we've <chord value="Db/F"/>gone trough, though
it's hurting <chord value="Dbm/Eb"/>me, now it's
histo<chord value="Db"/>ry.
</line>
</body>
</song>
xsl:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:template match="song">
<xsl:processing-instruction name="cocoon-format">type="text/html"</xsl:processing-instruction>
<html>
<xsl:apply-templates/>
</html>
</xsl:template>
<xsl:template match="head">
<head>
<title><xsl:value-of select="title"/></title>
</head>
</xsl:template>
<xsl:template match="body">
<body>
<h1>
<xsl:value-of select="/song/head/title"/>
</h1>
<xsl:apply-templates/>
</body>
</xsl:template>
<xsl:template match="line">
<table cellpadding="0" cellspacing="0">
<tr>
<xsl:apply-templates select="chord"/>
</tr>
<tr>
<xsl:apply-templates mode="lyrics"/>
</tr>
</table>
</xsl:template>
<xsl:template match="chord">
<td><font size="-1"><b>
<xsl:value-of select="@value"/>
</b></font></td>
</xsl:template>
<xsl:template match="text()" mode="lyrics">
<td>
<xsl:value-of select="."/>
</td>
</xsl:template>
</xsl:stylesheet>
which produces quite reasonable output (read: which produces
the think I wanted :-))) The same think, I'd say, could be
realized with fo's, but I don't know any parser :-(( It's
more straightforward than I thought it would be... I decided
to use cocoon's producer ability to implement the automatic
transposition in Java... I think it's not what XSLT is here
for.
what i'd like to ask, whether somebody has an idea about how
to do such things as: "replace all occurences of 'b' in
string with '<sup>b</sup>'" to automatically render Db into
D<sup>b</sup>... I tried to implement this for more
than two hours but found no way :-( (of course except a giant
<xsl:choose> with all possible chord values enumerated...)
Jakub
P.S. the produced HTML result is:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/RED-html40/strict.dtd">
<html><head><title>The winner takes it
all</title></head><body><h1>The winner takes it
all</h1><table cellpadding="0" cellspacing="0"><tr><td><font
size="-1"><b> </b></font></td><td><font
size="-1"><b>Gb7</b></font></td><td><font
size="-1"><b>Db/F</b></font></td><td><font
size="-1"><b>Dbm/Eb</b></font></td><td><font
size="-1"><b>Db</b></font></td></tr><tr><td>I don't wanna
</td><td>talk about things we've </td><td>gone trough,
though it's hurting </td><td>me, now
it's histo</td><td>ry.
</td></tr></table></body></html>
<!-- This page was served in 2187 milliseconds by Cocoon 1.5 -->
--
Jakub "RiffRaff" Skopal
mailto:j@xxxxxxx
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
|

Cart








