有变量连接的N种方法尝试,都是……

XSL中有变量连接的N种方法尝试都不怎么成功,(其实可以不用变量,只是想试试用变量怎么做)
传入的参数:id=e12

达到的效果:

 1<a href="main.asp?groupid=12">   
 2groupid中去掉id的e   
 3  
 4尝试过的方法:   
 51、用substring()方法   
 6<a>
 7<xsl:attribute name="href">
 8<xsl:value-of select="substring(.[@id],1)"></xsl:value-of>以及substring放到不同的位置;   
 9</xsl:attribute>
10</a>   
11  
122、查MSDN,用<xsl:eval>标签   
13  
14<a>
15<xsl:attribute name="href">
16<xsl:eval>   
17substring("<xsl:value-of select="@id"></xsl:value-of>",1)以及自己写的javascript函数,以及报eval标签放到value-of标签中;   
18</xsl:eval>
19</xsl:attribute>
20</a>   
21  
223、看CSDN上XSL连接的源码:   
23<a>
24<xsl:attribute name="href">   
25javascript:top.mainFrame.location.href="main.jsp?groupid="+("<xsl:value-of select="@id"></xsl:value-of>".substring(1));go(-1)(因我的代码此处要连接到另一贞,这个代码执行时两个页面都要刷新,所以在原来那页用了个go(-1))   
26</xsl:attribute>
27</a>   
28  
29功能算是实现了,但是方法我感觉是苯之以及;   
30  
31试验平台:Win2K+IE5.0   
32体会:XSL的函数功能太弱(也可能是我没掌握,也可能是我用IE5.0的原因,很想升级,但又想从低版本实现适用性较好,最好还是升到支持<xsl:eval>的版本,&lt;注:此处有人有疑问&gt;,我也查了w3c上几个版本的DTD for StyleSheet均未发现这个标签,不知是不是MS自己加上去的,查了MS也没找到这个标签的描述;有谁找到告诉我一声);也有人说是IE6下才支持这个标签,我也没有多版本IE可以测试,谁测试出来也告诉我一声:)   
33  
34  
35很希望有哪位高人给我指点一下更好的方法,知道的人自然很简单的:)   
36  
37  
38  
39\---------------------------------------------------------------   
40  
41eval都支持的。用法是这样:我以前用的:   
42  
43<xsl:template match="string">
44<xsl:eval no-entities="true">this.nodeTypedValue;</xsl:eval>
45</xsl:template>   
46..............   
47<xsl:script>
48<![CDATA[   
49var posindex = 0;   
50// 增加一个空白输入框供用户输入。下面的函数增加一个单选按钮!!   
51function getIndex(nodepara)   
52{   
53posindex = parseInt(nodepara.getAttribute("positionindex"));   
54var imgincluded = "";   
55if(nodepara.getAttribute("imgincluded") == "yes")   
56return '<input type="radio" name="radiobutton" value="'+ posindex +'" checked/>';   
57else   
58return '<input type="radio" name="radiobutton" value="' + posindex + '"/>';   
59}   
60  
61  
62]]>   
63&lt;/xsl:script   
64\---------------------------------------------------------------   
65  
66是xml2.6才有的,而且sdk里没有!:(   
67后来又去掉了!   
68  
69\---------------------------------------------------------------   
70  
71这个标签只在   
72xmlns:xsl="http://www.w3.org/TR/WD-xsl"   
73名称空间下用。新版本增加了许多函数,如substr()等等。</xsl:script></xsl:eval></xsl:eval></a>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus