xsl-list
[Top] [All Lists]

RE: Using msxsl:script or EXSLT function to define a function

2003-06-18 05:39:59
Hi Claudio:

Most of the problem is that this isn't valid XML :)

First you need to change the third line to exclude-result-prefixes="..." 
(you're missing the equals sign).  The other issue you're having is that you 
have accented characters encoded in ANSI.  The basic rule about encoding is 
that if an encoding can't be determined by other means, assume it's UTF-8.  If 
you take your stylesheet into notepad and save as UTF-8 that problem goes away.

Finally, why do you have an "XML" element as the root?  Any case combination of 
XML is reserved.

HTH!

Dion

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Claudio Russo
Sent: Wednesday, June 18, 2003 5:07 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Using msxsl:script or EXSLT function to define a function

Yes, sorry, but I posted before with all the info, and
I guess it was too much information, so I did it
briefly this last time to make it clear.

Lets put the code back, maybe you can answer to it.
Here goes...

======================================================
<XML ID="XSLHeader">
  <xsl:stylesheet version="1.0"
exclude-result-prefixes "xsl msxsl" 
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
        xmlns:js="javascript:code"
        xmlns:msxsl="urn:schemas-microsoft-com:xslt"
        xmlns:ms="urn:schemas-microsoft-com:xslt"
        xmlns:fo="http://www.w3.org/1999/XSL/Format";>

        <msxsl:script language="javascript"
implements-prefix="js">
           function factorial(n)
           {
                        if (n == '1')
                                { return ( 1 ) }
                        else 
                                { return ( n * factorial(n - 1) ) }
        }
        </msxsl:script>

                <xsl:param name="sexo"/>
                <xsl:param name="categ"/>
                <xsl:param name="anio"/>
                
                <xsl:template match="portfolio">
                
                <head>
                </head>
                <table border="2" width="100%" height="6">
                        <tr>
                        <td class="bg">
                        <H1><xsl:value-of
select="description"/> del <xsl:value-of
select="$anio"/> - <xsl:value-of select="$categ"/>
Años, 
                                        <xsl:choose>
                                                        <xsl:when
test="$sexo='V'">Varones</xsl:when>
                                                                
<xsl:otherwise>Damas</xsl:otherwise>
                                                        </xsl:choose>
                                                        
                                                </H1>
                        <H3>Actualizado el
<xsl:apply-templates select="date"/>
                                                </H3>
                                                <H3>Factorial <xsl:value-of
select="factorial(5)"/>
                                                </H3>
                                                <P>Presione sobre los 
encabezados para ordenar
por dicho campo.</P>
                        </td>
                        </tr>
        </table>
                </xsl:template>
  
                <xsl:template match="date">
                <xsl:value-of select="ms:format-date(., 'd',
SP_ar)"/> de <xsl:value-of select="ms:format-date(.,
'MMMMM, yyyy', SP_ar)"/>
                        a las <xsl:value-of select="ms:format-time(.,
'hh:mm tt')"/>
                </xsl:template>

        </xsl:stylesheet>
</XML>

======================================================

I don't know why, but I'm not able to run the
javascript and the page presents an error.

Claudio.



--- Michael Kay <mhk(_at_)mhk(_dot_)me(_dot_)uk> wrote:
Does anybody know how to use msxsl:script to
define a 
javascript function, or EXSLT function definition?

I'm not able to use it inside xsl: without having
error.

Yes, lots of people know, and if you show them what
you're doing,
they'll be able to tell you where you are going
wrong.

Michael Kay


 XSL-List info and archive: 
http://www.mulberrytech.com/xsl/xsl-list



__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list