属性值类似:a.jpg,b.jpg,c.jpg,d.jpg,e.jpg,f.jpg,……
想用循环,不知道循环怎么写?
请各位说说有啥好办法?
10 个解决方案
#1
<xsl:for-each select="//img">
<img src="{.}" />
</xsl:for-each>
<img src="{.}" />
</xsl:for-each>
#2
也可以
<xsl:for-each select="//img">
<img><xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute></img>
</xsl:for-each>
<xsl:for-each select="//img">
<img><xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute></img>
</xsl:for-each>
#3
多谢楼上!
//img是什么意思呀?
其实这个值a.jpg,b.jpg,c.jpg,d.jpg,e.jpg,f.jpg,……是在xsl文件中生成的,保存在name=Img中
用<xsl:value-of select="$Img"/>可以显示出来图片路径及名称
<xsl:for-each select="//img">
<img><xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute></img>
</xsl:for-each>
//img替换成啥呀
//img是什么意思呀?
其实这个值a.jpg,b.jpg,c.jpg,d.jpg,e.jpg,f.jpg,……是在xsl文件中生成的,保存在name=Img中
用<xsl:value-of select="$Img"/>可以显示出来图片路径及名称
<xsl:for-each select="//img">
<img><xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute></img>
</xsl:for-each>
//img替换成啥呀
#4
#5
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="http://dotnet.aspx.cc/" exclude-result-prefixes="user">
<msxsl:script language="JavaScript" implements-prefix="user">
<![CDATA[
function showImg(nodelist) {
s = nodelist.split(",")
x =""
for(i = 0;i<s.length;i++)
{
x+="<img src='"+s[i]+"' >"
}
return x;
}
]]>
</msxsl:script>
<xsl:template match="/root">
<xsl:variable name="Img">
<xsl:value-of select="str:split(@name)"/>
</xsl:variable>
<xsl:value-of select="user:showImg($Img)"/>
</xsl:template>
</xsl:stylesheet>
#6
xsl原文件
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="http://dotnet.aspx.cc/" exclude-result-prefixes="user">
<xsl:variable name="LeafImgSrc">TreeMenu/Images/SubNodeImg1.gif</xsl:variable>
<xsl:variable name="BranchImgSrc">TreeMenu/Images/NodeImg1.gif</xsl:variable>
<xsl:variable name="FolderImgSrc">TreeMenu/Images/Folder.gif</xsl:variable>
<xsl:variable name="FileImgSrc">TreeMenu/Images/File.gif</xsl:variable>
<xsl:variable name="LineImgSrc">TreeMenu/Images/PreLine.gif</xsl:variable>
<xsl:variable name="LastSubNodeImgSrc">TreeMenu/Images/SubNodeImg2.gif</xsl:variable>
<xsl:variable name="LastNodeImgSrc">TreeMenu/Images/NodeImg2.gif</xsl:variable>
<xsl:variable name="FirstNodeImgSrc">TreeMenu/Images/NodeImg0.gif</xsl:variable>
<xsl:variable name="LastNodeSubNodeImgSrc">TreeMenu/Images/Blank.gif</xsl:variable>
<msxsl:script language="JavaScript" implements-prefix="user">
<![CDATA[
function showImg(nodelist) {
s = nodelist.split(",")
x =""
for(i = 0;i<s.length;i++)
{
x+="<img src='"+s[i]+"' >"
}
return x;
}
]]>
</msxsl:script>
<!--根目录循环-->
<xsl:template match="/">
<xsl:for-each select="ROOT/*">
<xsl:apply-templates select=".">
<!--获得图片名称-->
<xsl:with-param name="Img">
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:value-of select="$LastSubNodeImgSrc" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$LeafImgSrc" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<!--非根目录循环-->
<xsl:template match="*">
<xsl:param name="Img"/>
<div class="clsItem" type="branch" style="white-space:nowrap">
<!--********要把下面这句显示成图片,而不是图片名-->
<xsl:value-of select="$Img"/>
<span class="clsLabel" type="label" onclick="MouseClick(this)" onmousedown="NodeMouseDown(this);" onmouseover="NodeMouseOver(this);" onmouseout="NodeMouseOut(this);" >
<xsl:value-of select="@TEXT"/>
</span>
</div>
<xsl:for-each select="*">
<xsl:apply-templates select=".">
<!--获得图片名称-->
<xsl:with-param name="Img">
<xsl:value-of select="$Img"/>,
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:value-of select="$LastSubNodeImgSrc" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$LeafImgSrc" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
把这句<xsl:value-of select="$Img"/>换成<xsl:value-of select="user:showImg($Img)"/>
出错呀,请老大再帮看看
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="http://dotnet.aspx.cc/" exclude-result-prefixes="user">
<xsl:variable name="LeafImgSrc">TreeMenu/Images/SubNodeImg1.gif</xsl:variable>
<xsl:variable name="BranchImgSrc">TreeMenu/Images/NodeImg1.gif</xsl:variable>
<xsl:variable name="FolderImgSrc">TreeMenu/Images/Folder.gif</xsl:variable>
<xsl:variable name="FileImgSrc">TreeMenu/Images/File.gif</xsl:variable>
<xsl:variable name="LineImgSrc">TreeMenu/Images/PreLine.gif</xsl:variable>
<xsl:variable name="LastSubNodeImgSrc">TreeMenu/Images/SubNodeImg2.gif</xsl:variable>
<xsl:variable name="LastNodeImgSrc">TreeMenu/Images/NodeImg2.gif</xsl:variable>
<xsl:variable name="FirstNodeImgSrc">TreeMenu/Images/NodeImg0.gif</xsl:variable>
<xsl:variable name="LastNodeSubNodeImgSrc">TreeMenu/Images/Blank.gif</xsl:variable>
<msxsl:script language="JavaScript" implements-prefix="user">
<![CDATA[
function showImg(nodelist) {
s = nodelist.split(",")
x =""
for(i = 0;i<s.length;i++)
{
x+="<img src='"+s[i]+"' >"
}
return x;
}
]]>
</msxsl:script>
<!--根目录循环-->
<xsl:template match="/">
<xsl:for-each select="ROOT/*">
<xsl:apply-templates select=".">
<!--获得图片名称-->
<xsl:with-param name="Img">
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:value-of select="$LastSubNodeImgSrc" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$LeafImgSrc" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<!--非根目录循环-->
<xsl:template match="*">
<xsl:param name="Img"/>
<div class="clsItem" type="branch" style="white-space:nowrap">
<!--********要把下面这句显示成图片,而不是图片名-->
<xsl:value-of select="$Img"/>
<span class="clsLabel" type="label" onclick="MouseClick(this)" onmousedown="NodeMouseDown(this);" onmouseover="NodeMouseOver(this);" onmouseout="NodeMouseOut(this);" >
<xsl:value-of select="@TEXT"/>
</span>
</div>
<xsl:for-each select="*">
<xsl:apply-templates select=".">
<!--获得图片名称-->
<xsl:with-param name="Img">
<xsl:value-of select="$Img"/>,
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:value-of select="$LastSubNodeImgSrc" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$LeafImgSrc" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
把这句<xsl:value-of select="$Img"/>换成<xsl:value-of select="user:showImg($Img)"/>
出错呀,请老大再帮看看
#7
你的$Img是字符串吗?值是多少?
#8
类似TreeMenu/Images/SubNodeImg1.gif, TreeMenu/Images/SubNodeImg1.gif
等等,不确定
等等,不确定
#9
这样
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/root">
<xsl:variable name="Img">
<xsl:value-of select="@name"/>
</xsl:variable>
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="output-tokens">
<xsl:param name="list" />
<xsl:variable name="newlist" select="concat(normalize-space($list), ',')" />
<xsl:variable name="first" select="substring-before($newlist, ',')" />
<xsl:variable name="remaining" select="substring-after($newlist, ',')" />
<img src="{$first}" />
<xsl:if test="substring-before($remaining, ',') != ''">
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$remaining" />
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
#10
拷贝
<xsl:template name="output-tokens">
<xsl:param name="list" />
<xsl:variable name="newlist" select="concat(normalize-space($list), ',')" />
<xsl:variable name="first" select="substring-before($newlist, ',')" />
<xsl:variable name="remaining" select="substring-after($newlist, ',')" />
<img src="{$first}" />
<xsl:if test="substring-before($remaining, ',') != ''">
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$remaining" />
</xsl:call-template>
</xsl:if>
</xsl:template>
调用方法
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>
<xsl:template name="output-tokens">
<xsl:param name="list" />
<xsl:variable name="newlist" select="concat(normalize-space($list), ',')" />
<xsl:variable name="first" select="substring-before($newlist, ',')" />
<xsl:variable name="remaining" select="substring-after($newlist, ',')" />
<img src="{$first}" />
<xsl:if test="substring-before($remaining, ',') != ''">
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$remaining" />
</xsl:call-template>
</xsl:if>
</xsl:template>
调用方法
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>
#1
<xsl:for-each select="//img">
<img src="{.}" />
</xsl:for-each>
<img src="{.}" />
</xsl:for-each>
#2
也可以
<xsl:for-each select="//img">
<img><xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute></img>
</xsl:for-each>
<xsl:for-each select="//img">
<img><xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute></img>
</xsl:for-each>
#3
多谢楼上!
//img是什么意思呀?
其实这个值a.jpg,b.jpg,c.jpg,d.jpg,e.jpg,f.jpg,……是在xsl文件中生成的,保存在name=Img中
用<xsl:value-of select="$Img"/>可以显示出来图片路径及名称
<xsl:for-each select="//img">
<img><xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute></img>
</xsl:for-each>
//img替换成啥呀
//img是什么意思呀?
其实这个值a.jpg,b.jpg,c.jpg,d.jpg,e.jpg,f.jpg,……是在xsl文件中生成的,保存在name=Img中
用<xsl:value-of select="$Img"/>可以显示出来图片路径及名称
<xsl:for-each select="//img">
<img><xsl:attribute name="src"><xsl:value-of select="."/></xsl:attribute></img>
</xsl:for-each>
//img替换成啥呀
#4
#5
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="http://dotnet.aspx.cc/" exclude-result-prefixes="user">
<msxsl:script language="JavaScript" implements-prefix="user">
<![CDATA[
function showImg(nodelist) {
s = nodelist.split(",")
x =""
for(i = 0;i<s.length;i++)
{
x+="<img src='"+s[i]+"' >"
}
return x;
}
]]>
</msxsl:script>
<xsl:template match="/root">
<xsl:variable name="Img">
<xsl:value-of select="str:split(@name)"/>
</xsl:variable>
<xsl:value-of select="user:showImg($Img)"/>
</xsl:template>
</xsl:stylesheet>
#6
xsl原文件
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="http://dotnet.aspx.cc/" exclude-result-prefixes="user">
<xsl:variable name="LeafImgSrc">TreeMenu/Images/SubNodeImg1.gif</xsl:variable>
<xsl:variable name="BranchImgSrc">TreeMenu/Images/NodeImg1.gif</xsl:variable>
<xsl:variable name="FolderImgSrc">TreeMenu/Images/Folder.gif</xsl:variable>
<xsl:variable name="FileImgSrc">TreeMenu/Images/File.gif</xsl:variable>
<xsl:variable name="LineImgSrc">TreeMenu/Images/PreLine.gif</xsl:variable>
<xsl:variable name="LastSubNodeImgSrc">TreeMenu/Images/SubNodeImg2.gif</xsl:variable>
<xsl:variable name="LastNodeImgSrc">TreeMenu/Images/NodeImg2.gif</xsl:variable>
<xsl:variable name="FirstNodeImgSrc">TreeMenu/Images/NodeImg0.gif</xsl:variable>
<xsl:variable name="LastNodeSubNodeImgSrc">TreeMenu/Images/Blank.gif</xsl:variable>
<msxsl:script language="JavaScript" implements-prefix="user">
<![CDATA[
function showImg(nodelist) {
s = nodelist.split(",")
x =""
for(i = 0;i<s.length;i++)
{
x+="<img src='"+s[i]+"' >"
}
return x;
}
]]>
</msxsl:script>
<!--根目录循环-->
<xsl:template match="/">
<xsl:for-each select="ROOT/*">
<xsl:apply-templates select=".">
<!--获得图片名称-->
<xsl:with-param name="Img">
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:value-of select="$LastSubNodeImgSrc" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$LeafImgSrc" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<!--非根目录循环-->
<xsl:template match="*">
<xsl:param name="Img"/>
<div class="clsItem" type="branch" style="white-space:nowrap">
<!--********要把下面这句显示成图片,而不是图片名-->
<xsl:value-of select="$Img"/>
<span class="clsLabel" type="label" onclick="MouseClick(this)" onmousedown="NodeMouseDown(this);" onmouseover="NodeMouseOver(this);" onmouseout="NodeMouseOut(this);" >
<xsl:value-of select="@TEXT"/>
</span>
</div>
<xsl:for-each select="*">
<xsl:apply-templates select=".">
<!--获得图片名称-->
<xsl:with-param name="Img">
<xsl:value-of select="$Img"/>,
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:value-of select="$LastSubNodeImgSrc" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$LeafImgSrc" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
把这句<xsl:value-of select="$Img"/>换成<xsl:value-of select="user:showImg($Img)"/>
出错呀,请老大再帮看看
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:user="http://dotnet.aspx.cc/" exclude-result-prefixes="user">
<xsl:variable name="LeafImgSrc">TreeMenu/Images/SubNodeImg1.gif</xsl:variable>
<xsl:variable name="BranchImgSrc">TreeMenu/Images/NodeImg1.gif</xsl:variable>
<xsl:variable name="FolderImgSrc">TreeMenu/Images/Folder.gif</xsl:variable>
<xsl:variable name="FileImgSrc">TreeMenu/Images/File.gif</xsl:variable>
<xsl:variable name="LineImgSrc">TreeMenu/Images/PreLine.gif</xsl:variable>
<xsl:variable name="LastSubNodeImgSrc">TreeMenu/Images/SubNodeImg2.gif</xsl:variable>
<xsl:variable name="LastNodeImgSrc">TreeMenu/Images/NodeImg2.gif</xsl:variable>
<xsl:variable name="FirstNodeImgSrc">TreeMenu/Images/NodeImg0.gif</xsl:variable>
<xsl:variable name="LastNodeSubNodeImgSrc">TreeMenu/Images/Blank.gif</xsl:variable>
<msxsl:script language="JavaScript" implements-prefix="user">
<![CDATA[
function showImg(nodelist) {
s = nodelist.split(",")
x =""
for(i = 0;i<s.length;i++)
{
x+="<img src='"+s[i]+"' >"
}
return x;
}
]]>
</msxsl:script>
<!--根目录循环-->
<xsl:template match="/">
<xsl:for-each select="ROOT/*">
<xsl:apply-templates select=".">
<!--获得图片名称-->
<xsl:with-param name="Img">
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:value-of select="$LastSubNodeImgSrc" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$LeafImgSrc" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
<!--非根目录循环-->
<xsl:template match="*">
<xsl:param name="Img"/>
<div class="clsItem" type="branch" style="white-space:nowrap">
<!--********要把下面这句显示成图片,而不是图片名-->
<xsl:value-of select="$Img"/>
<span class="clsLabel" type="label" onclick="MouseClick(this)" onmousedown="NodeMouseDown(this);" onmouseover="NodeMouseOver(this);" onmouseout="NodeMouseOut(this);" >
<xsl:value-of select="@TEXT"/>
</span>
</div>
<xsl:for-each select="*">
<xsl:apply-templates select=".">
<!--获得图片名称-->
<xsl:with-param name="Img">
<xsl:value-of select="$Img"/>,
<xsl:choose>
<xsl:when test="position()=last()">
<xsl:value-of select="$LastSubNodeImgSrc" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$LeafImgSrc" />
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>
</xsl:apply-templates>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
把这句<xsl:value-of select="$Img"/>换成<xsl:value-of select="user:showImg($Img)"/>
出错呀,请老大再帮看看
#7
你的$Img是字符串吗?值是多少?
#8
类似TreeMenu/Images/SubNodeImg1.gif, TreeMenu/Images/SubNodeImg1.gif
等等,不确定
等等,不确定
#9
这样
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/root">
<xsl:variable name="Img">
<xsl:value-of select="@name"/>
</xsl:variable>
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="output-tokens">
<xsl:param name="list" />
<xsl:variable name="newlist" select="concat(normalize-space($list), ',')" />
<xsl:variable name="first" select="substring-before($newlist, ',')" />
<xsl:variable name="remaining" select="substring-after($newlist, ',')" />
<img src="{$first}" />
<xsl:if test="substring-before($remaining, ',') != ''">
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$remaining" />
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
#10
拷贝
<xsl:template name="output-tokens">
<xsl:param name="list" />
<xsl:variable name="newlist" select="concat(normalize-space($list), ',')" />
<xsl:variable name="first" select="substring-before($newlist, ',')" />
<xsl:variable name="remaining" select="substring-after($newlist, ',')" />
<img src="{$first}" />
<xsl:if test="substring-before($remaining, ',') != ''">
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$remaining" />
</xsl:call-template>
</xsl:if>
</xsl:template>
调用方法
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>
<xsl:template name="output-tokens">
<xsl:param name="list" />
<xsl:variable name="newlist" select="concat(normalize-space($list), ',')" />
<xsl:variable name="first" select="substring-before($newlist, ',')" />
<xsl:variable name="remaining" select="substring-after($newlist, ',')" />
<img src="{$first}" />
<xsl:if test="substring-before($remaining, ',') != ''">
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$remaining" />
</xsl:call-template>
</xsl:if>
</xsl:template>
调用方法
<xsl:call-template name="output-tokens">
<xsl:with-param name="list" select="$Img"/>
</xsl:call-template>