|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] tagging an xslt up for web pages
I am tyriong to design a piece of xslt which will enclose another xslt in
<span> tags and <code> tags so i can present the code in different colours
in a web page. Doind this by hand takes a long long time. I have an example
xslt like this:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:key name="items-by-category" match="item" use="category" /> <xsl:template match="rss/channel"> <xsl:for-each select="item[count(. | key('items-by-category', category)[1]) = 1]"> <h2 class="head-small-orangedark" style="margin-bottom:3px"><xsl:value-of select="category"/></h2> <xsl:for-each select="key('items-by-category', category)"> <xsl:variable name ="url" select="link" /> <xsl:variable name ="length" select="string-length(description)" /> <h3 style="font-size:100%; margin-bottom:3px"><a href="{$url}"><xsl:value-of select="title" /></a></h3> <xsl:choose> <xsl:when test="$length > '512'"> <p style="font-size:85%; margin-left:1.5em"><xsl:value-of select="substring(description,1,512)"/>...</p> </xsl:when> <xsl:otherwise> <p style="font-size:85%; margin-left:1.5em"><xsl:value-of select="description"/></p> </xsl:otherwise> </xsl:choose> </xsl:for-each> </xsl:for-each> </xsl:template> </xsl:stylesheet> each line is enclosed with <code> tags, if there is a space the code tag before needs margin-bottom style=0.5 (in order to show that space on the web page). Things like xsl:when are enclsoed in <span> tags with a colour blue...... elkemant names = <span class="blue">xsl:when</span> anything in double quotes = <span class="green">"substring(description,1,512)"</span> parameters are red. < and > signs would need to be changed to < > as well. The ouput would look something like this: <code class="sp" style="margin-bottom:0.5em"><<span class="blue" >xsl:stylesheet</span> <span class="red">xmlns:xsl=</span><span class="green">"http://www.w3.org/1999/XSL/Transform"</span> <span class="red"> version=</span><span class="green">"1.0"</span>></code> <code class="sp" style="margin-bottom:0.5em"><<span class="blue" >xsl:key</span> <span class="red >name=</span><span class="green" >"items-by-category"</span> <span class="red" >match=</span><span class="green" >"item"</span> <span class="red" >use=</span><span class="green" >"category"</span> /></code> as u can see this involves alot of work!! I am having difficulty knowing where to start and if it can be done using an xslt? Template matches cant be done because it would be xslt elements that u are matching.... _________________________________________________________________ Hotmail messages direct to your mobile phone http://www.msn.co.uk/msnmobile 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








