xsl:for-each select="" 选择中的问题

csdnfly 2006-07-27 04:56:17
<xsl:variable name="TempDataSource" select="./ReportList/@DataSource"/>
<xsl:for-each select="./NewDataSet/SYS_ClassItemInfo">

有没有什么办法,可以把上面的SYS_ClassItemInfo 改成 $TempDataSource 变量中的内容,而不是定死的"SYS_ClassItemInfo",
...全文
266 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cds27 2006-07-28
  • 打赏
  • 举报
回复
不能那么写。

你的想法不对。
说下你想实现的效果。
csdnfly 2006-07-28
  • 打赏
  • 举报
回复
已搞定.

谢谢楼上的兄弟,不过按你的写法好像是不行了.不能这样接XPATH的.

下面是我的解决办法

<xsl:variable name="TempDataSource" select="./ReportList/@DataSource"/>
<xsl:for-each select="user:getData(string($TempDataSource),$relationStr,$DataSet)">
调用JS脚本
<msxsl:script language="JScript" implements-prefix="user">
<![CDATA[
function getFieldValue(FormFieldIDs,node)
{
var REG_Words = new RegExp("[\\w]+","ig");
var REG_MatchWords = new RegExp("#[\\w]+#", "ig");
var ms = FormFieldIDs.match(REG_MatchWords);
if(ms.length == 1)
dataField = ms[0].match(REG_Words);
return getValue(dataField[0],node);
}

function getData(dsName,relationStr,node)
{
var xPath = dsName + relationStr;
return node[0].selectNodes(xPath);
}
]]>
</msxsl:script>
Qiaorui 2006-07-27
  • 打赏
  • 举报
回复
可以这样写:<xsl:for-each select="./NewDataSet/$TempDataSource ">
要注意的是,xsl:variable定义的变量必须是一个node对象,且注意XPath路径要正确。

8,906

社区成员

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

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