关于xsl中JS的返回值.火烧屁股啦!
我在XSL页面中使用如下语句,用来给一个将一个XSL中的字符串变量temp赋给调用函数fn:getFileUrl做参数.如下:
<xsl:element name="A">
<xsl:attribute name="href">
<xsl:variable name="temp" select="substring-before($sour,'|')"/>
<xsl:value-of select="fn:getFileUrl($temp,/)"/>
</xsl:attribute>
<xsl:value-of select="substring-before($sour,'|')"/>
</xsl:element>
JS函数中想拼接成一个URL返回:
function getFileUrl(Filename,rootnode){
var sURL=rootnode.nextNode.url;//取得XML的路径.
return sURL+Filename;//????????这里返回的值总是一个sURL,没有会面Filename的值.为什么不能拼接呀,如果我单独输出一个Filename却可以,如果我使用return Filename+"alalalal"却报错:返回了一个无法转换为 XSL 数据类型的值,我试着用"alalalal"+Filename也只显示alalalal,没有Filename的值??着急呀?难道是$temp有问题?
}
问题点数:20、回复次数:5Top
1 楼gaoyb101523(三皮)回复于 2005-04-01 15:59:08 得分 0
我在XSL中将传入的参数不用$temp,而用一个字符串比如'alaalal.doc'却可以在函数中成功拼接并返回.说明一定是$temp的用法有问题.Top
2 楼ssm1226(雨中人(虚心学习))回复于 2005-04-01 16:00:20 得分 0
<xsl:value-of select="fn:getFileUrl(string($temp),/)"/>Top
3 楼gaoyb101523(三皮)回复于 2005-04-01 16:04:12 得分 0
请问通过给函数传入一个字符串变量将来在JS中是否还要转化,通过什么方式转化.Top
4 楼ssm1226(雨中人(虚心学习))回复于 2005-04-01 16:09:06 得分 20
<xsl:variable name="temp" select="substring-before($sour,'|')"/>
select属性,返回的应该是node-set~Top
5 楼gaoyb101523(三皮)回复于 2005-04-01 16:13:55 得分 0
谢谢老大第一时间灭火.呵呵.
使用string($temp)包起来就OK了.我这几天是一会LOTUS,一会XML.提问有些不连续.呵呵.老大见笑了.Top




