急,关于variables变量重新赋值的问题

石头子 2005-11-07 02:49:34
<xsl:variable name="varStart" select="0"/>
<xsl:template match="Line">
<xsl:for-each select="Col">
<xsl:for-each select="ProductInfoBrief">
<xsl:if test="$varStart='1'">
<xsl:call-template name="topNotice"/>
</xsl:if>
<!--这里是把varStart重新赋值的语句-->
</xsl:for-each>
</xsl:for-each>
</xsl:template>




<!--这里是把varStart重新赋值的语句-->
这里改怎么写哪?
...全文
251 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cds27 2005-11-10
  • 打赏
  • 举报
回复
XSL本身可以设置参数,可以引入其他XSL,可以多种同节点模版,基本可以满足大多数需求。用ASP来生成XSL,是否有这样的必要,有待考量。
pansha 2005-11-10
  • 打赏
  • 举报
回复
换个思路,那就结合ASP ,ASP.NET 把.xsl文件改为.asp or .net 用xmlhttp协议远程获取在用!
刚写的代码,拿去用吧!
Function bytes2BSTR(vIn)
dim strReturn
dim i,ThisCharCode,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function

function getHTTPPage(url)
on error resume Next

getHTTPPage=""

dim http
set http=Server.createobject("Msxml2.XMLHTTP")
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then exit function
getHTTPPage=bytes2BSTR(Http.responseBody)
set http=nothing
if err.number<>0 then err.Clear
end function

Function GetScriptNameUrl()
Dim sPATH_INFO,sScript_Name,sTemp
sPATH_INFO=Request.ServerVariables("PATH_INFO")
sTemp=Split(sPATH_INFO,"/")
sScript_Name=Lcase(sTemp(UBound(sTemp)))
If Request.servervariables("SERVER_PORT")="80" Then
GetScriptNameUrl="http://" & Request.servervariables("server_name")&replace(lcase(sPATH_INFO),sScript_Name,"")
Else
GetScriptNameUrl="http://" & Request.servervariables("server_name")&":"&Request.servervariables("SERVER_PORT")&Replace(Lcase(Request.servervariables("script_name")),sScript_Name,"")
End If
End Function

Function xmlxsl(strXML, strXSL)
Dim objXML
Dim objXSL
set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = false
objXML.loadxml("<?xml version=""1.0"" encoding=""gb2312"" ?><xml>"&strXML&"</xml>")
set objXSL = Server.CreateObject("Microsoft.XMLDOM")
objXSL.async = false
objXSL.loadxml(strXSL)
if isobject(objXSL) and isobject(objXML) then
xmlxsl=objXML.transformNode(objXSL)
else
xmlxsl=""
end if
End Function
cds27 2005-11-07
  • 打赏
  • 举报
回复
XSL中的变量不能重新赋值,与其说它是变量,我更愿意称它为常量。

你想实现什么?得换个思路。

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧