|
Subject: Re: [xsl] bizzare number problem From: "Vasu Chakkera" <vasucv@xxxxxxxxxxx> Date: Wed, 26 Jan 2005 14:19:43 -0000 |
Yep that was clear from the translate bit...
what is /malwareDirectory/variants/ doing there before the translate???
That doesnt look like a proper xpath to me
vasu
----- Original Message -----
From: <tom.kirkpatrick@xxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Wednesday, January 26, 2005 2:08 PM
Subject: Re: [xsl] bizzare number problem
> there is curly braces around the xpath bit of the attribute value:
>
> {translate(document('/malwareDirectory/fami
> lies/index.xml')/malwareVariantFamilies/malwareFamily[@id
> = $id]/variant[position() = 1]/@id, '/', '-')}
>
>
>
> In plain english. This looks up
> /malwareVariantFamilies/malwareFamily[@id = $id]/variant[position() =
> 1]/@id
>
> in the document '/malwareDirectory/families/index.xml'
>
>
> the value of /malwareVariantFamilies/malwareFamily[@id =
> $id]/variant[position() = 1]/@id
> will result in something lik 'W32/Netsky.a' - The corrisponding filename
> will be 'W32-Netsky.a'
>
>
> So the translate() changes '/' to '-' in the id attribute of
> /malwareVariantFamilies/malwareFamily[@id = $id]/variant[position() = 1]
> in the document '/malwareDirectory/families/index.xml'
>
>
>
>
>
>
>
> "Vasu Chakkera" <vasucv@xxxxxxxxxxx>
> 26/01/2005 13:55
> Please respond to xsl-list
>
>
> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> cc:
> Subject: Re: [xsl] bizzare number problem
>
>
> <a
>
href="/malwareDirectory/variants/{translate(document('/malwareDirectory/fami
> lies/index.xml')/malwareVariantFamilies/malwareFamily[@id
> = $id]/variant[position() = 1]/@id, '/', '-')}.xml">
>
> The above statement is a bit confusing. Could you please translate this
> for
> us in plain english ??
> One other thing there should be curly braces around any xpath statement
> or
> function , when it is used as a value of an attribute ( attribute value
> template )
> Refer : http://www.dpawson.co.uk/xsl/sect2/N1575.html
>
> Cheers
> Vasu
> ----- Original Message -----
> From: <tom.kirkpatrick@xxxxxxxxxxxx>
> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> Sent: Wednesday, January 26, 2005 1:09 PM
> Subject: Re: [xsl] bizzare number problem
>
>
> > Ok. The complete template is:
> >
> > <xsl:template name="displayPrevalence">
> > <xsl:param name="year"/>
> > <xsl:param name="month" select="'NA'"/>
> > <xsl:param name="items" select="100"/>
> > <xsl:param name="method" select="'normal'"/>
> > <!-- start the table -->
> > <rawhtml>
> > <table class="layout vcard">
> > <tr class="greybox">
> > <th class="leftContent" style="width:100px !important;">
> > Virus Name
> > </th>
> > <th>
> > Prevalence
> > </th>
> > <th class="leftContent" style="width:60px !important;">
> > Percentage
> > </th>
> > <xsl:if test="$method != 'lite'">
> > <th class="leftContent" style="width:60px !important;">
> > Instances
> > </th>
> > </xsl:if>
> > </tr>
> > <!-- ensure month has a leading 0 (if set) -->
> > <xsl:variable name="prevMonth" select="format-number($month,
> > '00')"/>
> > <!-- do the rows for a specific month-->
> > <xsl:for-each
> >
>
select="document('/malwareDirectory/prevalence/index.xml')/malwarePrevalence
> /malwareFamily/entry[@date
> > = concat($year,$prevMonth)]">
> > <xsl:sort order="descending" select="@instances"
> > data-type="number"/>
> > <xsl:if test="position() <= $items">
> > <xsl:variable name="id" select="../@id"/>
> > <tr>
> > <th class="leftContent">
> > <xsl:choose>
> > <xsl:when
> >
>
test="document('/malwareDirectory/families/index.xml')/malwareVariantFamilie
> s/malwareFamily[@id
> > = $id]/variant">
> > <a
> >
>
href="/malwareDirectory/variants/{translate(document('/malwareDirectory/fami
> lies/index.xml')/malwareVariantFamilies/malwareFamily[@id
> > = $id]/variant[position() = 1]/@id, '/', '-')}.xml">
> > <xsl:value-of select="$id"/>
> > </a>
> > </xsl:when>
> > <xsl:otherwise>
> > <xsl:value-of select="$id"/>
> > </xsl:otherwise>
> > </xsl:choose>
> > </th>
> > <td>
> > <xsl:variable name="currentNumber"
> > select="ceiling(@percentage) * 0.95"/>
> > <img src="/images/bgraph.gif" height="15"
> > align="center" style="border:0px; padding:0px; margin:0px;"/>
> > <img src="/images/ggraph.gif" height="15"
> > align="center" style="border:0px; padding:0px; margin:0px;"
> > width="{$currentNumber}"/>
> > <img src="/images/bgraph.gif" height="15"
> > align="center" style="border:0px; padding:0px; margin:0px;"/>
> > <xsl:value-of select="$currentNumber"/> -
> > <xsl:value-of select="ceiling(@percentage * 0.95)"/>
> > </td>
> > <td><xsl:value-of select="@percentage"/></td>
> > <xsl:if test="$method != 'lite'">
> > <td><xsl:value-of select="@instances"/></td>
> > </xsl:if>
> > </tr>
> > </xsl:if>
> > </xsl:for-each>
> > </table>
> > </rawhtml>
> > </xsl:template>
> >
> >
> >
> > I call it with a call like this:
> >
> > <xsl:call-template name="displayPrevalence">
> > <xsl:with-param name="year" select="'2004"/>
> > <xsl:with-param name="month" select="'11'"/>
> > <xsl:with-param name="items" select="5"/>
> > <xsl:with-param name="method" select="'lite'"/>
> > </xsl:call-template>
> >
> >
> >
> > I am processing with Apache::AxKit
> >
> > I have narrowed the problem down to the choose element:
> >
> > <xsl:choose>
> > <xsl:when
> >
>
test="document('/malwareDirectory/families/index.xml')/malwareVariantFamilie
> s/malwareFamily[@id
> > = $id]/variant">
> > <a
> >
>
href="/malwareDirectory/variants/{translate(document('/malwareDirectory/fami
> lies/index.xml')/malwareVariantFamilies/malwareFamily[@id
> > = $id]/variant[position() = 1]/@id, '/', '-')}.xml">
> > <xsl:value-of select="$id"/>
> > </a>
> > </xsl:when>
> > <xsl:otherwise>
> > <xsl:value-of select="$id"/>
> > </xsl:otherwise>
> > </xsl:choose>
> >
> > If I remove that it works fine. If I keep that, $currentNumber comes out
> > as '-2.0465678427e23 +10'!
> >
> > --
> > Tom David Kirkpatrick
> > Virus Bulletin Web Developer, Virus Bulletin
> >
> > Tel: +44 1235 555139
> > Web: www.virusbtn.com
>
>
>
>
> --
> Tom David Kirkpatrick
> Virus Bulletin Web Developer, Virus Bulletin
>
> Tel: +44 1235 555139
> Web: www.virusbtn.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] bizzare number problem, tom . kirkpatrick | Thread | Re: [xsl] bizzare number problem, tom . kirkpatrick |
| Re: [xsl] bizzare number problem, David Carlisle | Date | Re: [xsl] bizzare number problem, tom . kirkpatrick |
| Month |