小细节……

penper 2002-12-11 09:45:05
文章.xml:

<根>
<文章>
<编号>1</编号>
<标题>第1个文章标题</标题>
</文章>

<文章>
<编号>2</编号>
<标题>第3个文章标题</标题>
</文章>
</根>

文章.xsl:
1、我要实现点击文章的标题后,链接该编号的xml文件,如:点“第1个文章标题”,
转到1.xml;
2、或者链接到XXX.asp?参数=编号

请帮忙。
...全文
40 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssm1226 2002-12-12
  • 打赏
  • 举报
回复
不好意思搞错了,IE5下
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl" >
<xsl:template match="/">
<table>
<xsl:for-each select="根/文章">
<tr><td>
<xsl:element name="a">
<xsl:attribute name="href">
XXX.asp?参数=<xsl:value-of select="编号"/>
</xsl:attribute>
<xsl:value-of select="标题" />
</xsl:element>
</td></tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
penper 2002-12-12
  • 打赏
  • 举报
回复
出错,<TD>与<xsl:element> 无法配套使用。
ssm1226 2002-12-12
  • 打赏
  • 举报
回复
当然啦,你是IE5

这样用:
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<table>
<xsl:for-each select="根/文章">
<tr><td>
<xsl:element name="a">
<xsl:attribute name="href">
XXX.asp?参数=<xsl:value-of select="编号"/>
</xsl:attribute>
<xsl:value-of select="标题" />
</xsl:element>
</td></tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
penper 2002-12-12
  • 打赏
  • 举报
回复
用你说的方法,<TD>、<TR>与<xsl:element name="a">不能嵌套使用,而且去掉其他的东西,只用:
<xsl:element name="a">
<xsl:attribute name="href">
XXX.asp?参数=<xsl:value-of select="编号"/>
</xsl:attribute>
<xsl:value-of select="标题" />
</xsl:element>
也不行,什么都出不来,应该是我不会用吧。

我的想法是这样:
把每条标题显示在表格中,并且点击该标题超链接到该标题编号命名的xml文件。
比如:第5条标题,点击后链接5.xml。(或者点击任何标题都调用XXX.asp,但是参数——该标题的编号要求传送。)能否满足?最好俩种都有解决方法。
代码是这样:

<TABLE>
<TR bgcolor="#eeeeee">

<TD align="center"><xsl:value-of select="编号"/></TD>
<TD><div><a href="ANarticle.asp?参数={编号}">
<xsl:value-of select="标题" /></a></div></TD>
<TD align="center">
<xsl:for-each select="发表人">

<TR>
</TABLE>
ssm1226 2002-12-12
  • 打赏
  • 举报
回复
IE6下:

<a href="XXX.asp?参数={编号}">

不过,建议参数不要用中文
penper 2002-12-12
  • 打赏
  • 举报
回复
ssm1226(雨中人):

<a href="XXX.asp?参数={编号}">

运行时,出现在浏览器url栏中:

XXX.asp?参数={编号}

并没有把{编号}转换成对应的值?

penper 2002-12-12
  • 打赏
  • 举报
回复
多谢!
ssm1226 2002-12-12
  • 打赏
  • 举报
回复
<xsl:template match="根">
<xsl:for-each select="文章">
<xsl:element name="a">
<xsl:attribute name="href">
XXX.asp?参数=<xsl:value-of select="编号"/>
</xsl:attribute>
<xsl:value-of select="标题" />
</xsl:element>
<br />
</xsl:for-each>
</xsl:template>
ssm1226 2002-12-12
  • 打赏
  • 举报
回复
思归的正确
或:

<xsl:template match="根">
<xsl:for-each select="文章">
<xsl:element name="a">
<xsl:attribute name="href">
XXX.asp?参数=<xsl:value-of select="编号"/>
</xsl:attribute>
}"><xsl:value-of select="标题" />
</xsl:element>
<br />
</xsl:for-each>
</xsl:template>
saucer 2002-12-11
  • 打赏
  • 举报
回复
try something like


<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>

<xsl:template match="根">
<xsl:for-each select="文章">
<a href="XXX.asp?参数={编号}"><xsl:value-of select="标题" /></a><br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
cool_2000 2002-12-11
  • 打赏
  • 举报
回复
saucer(思归)果然是高手,佩服中.......
penper 2002-12-11
  • 打赏
  • 举报
回复
saucer(思归):
问题就在于怎么实现值的传递:
编号=<xsl:value-of select="编号" />

8,906

社区成员

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

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