Subject: Re: [xsl] XSL Queries From: "Vasu Chakkera" <vasucv@xxxxxxxxxxx> Date: Mon, 13 Feb 2006 11:41:08 +0000 |
Personally, I dislike "if-then" without an "else" clause & prefer an "else" with an explicit "do nothing" statement,
i.e. Rule: all execution paths should be explicit
i.e. Rule: all execution paths should be explicitstill holds good even if you use <xsl:if>. as xsl:if explicitly says that "this test doesnt have an alternate option"
From: Andrew Franz <afranz0@xxxxxxxxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] XSL Queries Date: Mon, 13 Feb 2006 21:52:40 +1100
Vasu Chakkera wrote:
:-) except
<xsl:choose> <xsl:when test="($basics >= 'understood')"> <xsl:message terminate = "yes">Feel free to ask</xsl:message> </xsl:when> </xsl:choose>
could have been
<xsl:if test="($basics >= 'understood')"> <xsl:message terminate = "yes">Feel free to ask</xsl:message> </xsl:if >
with just a single test case...
Thanks, Vasu - it just shows that we all have something to learn.
Personally, I dislike "if-then" without an "else" clause & prefer an "else" with an explicit "do nothing" statement,
i.e. Rule: all execution paths should be explicit
Mapping this into the above, I should have included an <xsl:otherwise>
<xsl:with-param name="effort">basics</xsl:with-param> is better with <xsl:with-param name="effort" select = "'basics'"/>
Manoj..
Its true what andrew said.. you must learn atleast some basics or look into faqs or do some work before jumping into the lists...
anyway as you have asked, i shall give u some inputs ...
use a xsl:for-each select = "catagory" to loop through the catagories and use
<xsl:value-of select = "@type"/> to print the types. This is all XSL can do for you.
clicking the link and displaying the price is not its job.. you can possibly use javascript for this.
this might work for you
lemme do the whole thing for you. I think i have some free time.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="orders">
<script type="text/javascript">
function myfunction (price)
{
// 1. get the div with id = "showprice".. this is where the price will show up
var showprice = document.getElementById ( "showprice")
//2. get the div with id = "price".. this is the div that has the price value
// this div is set to invisible mode by style= display:none
var priceVal = document.getElementById(price)
// Setting the showprice div with the price value showprice.innerHTML = priceVal.innerText; } </script> <table border="1"> <tr> <th>catagory</th> <th>price</th> </tr> <tr> <td > <xsl:for-each select="category"> <div id = "{@type}"> <a onclick="myfunction({price})" href = "#"> <xsl:value-of select="@type"/> </a> </div> <hr/> <div id = "{price}" style="display:none"> <xsl:value-of select="price"/> </div> </xsl:for-each> </td> <td> <div id = "showprice"></div> </td> </tr> </table> </xsl:template> </xsl:stylesheet>
HTH Vasu
From: Andrew Franz <afranz0@xxxxxxxxxxxxxxxx> Reply-To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] XSL Queries Date: Sat, 11 Feb 2006 16:52:05 +1100
Easy.
This should solve your problem:
<xsl:template match="bookstore">
<xsl:apply-templates select="book[(@author='Kay') or (@author='Tennyson')]" />
<xsl:call-template name="diy" />
<xsl:choose>
<xsl:when test="($basics >= 'understood')">
<xsl:message terminate = "yes">Feel free to ask</xsl:message>
</xsl:when>
</xsl:choose>
</xsl:template>
<xsl:template match="book"> <xsl:call-template name="read"> <xsl:with-param name="effort">basics</xsl:with-param> </xsl:call-template> </xsl:template>
manoj kumar wrote:
Hi everyone,
I have an xml file with details <orders> <category type='shirt'> <price>100</price> </category> <category type='Tshirt'> <price>150</price> </category> <category type='Jeans'> <price>500</price> </category> <category type='Pant'> <price>750</price> </category> </orders>
In an xsl file i have to list type of categories in left side on clicking=
particular tag the price details should be displayed on right. Give me a =
sample of this, so that i can develop it further [
EX: click link pant should display 750 on right hand side
Please send to this email-ID :b_manoj@xxxxxxxxx
Thanks in Advance, Manoj
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSL Queries, Andrew Franz | Thread | [xsl] Translating XHTML or XML to W, Luana Knoff |
Re: [xsl] XSL Queries, Andrew Franz | Date | [xsl] Version and output-version in, Jesper Tverskov |
Month |