请问一个关于xsl转换的问题,出来的结果不是如我所料的

whulph 2003-10-16 02:36:23
将下面的resume.xml用resume_expression.xsl转换,可是在ie中打开resume.xml出来的只有标题和第一行(姓名,生日),包含数据的另两行都没有,怎么回事呢?

resume.xml:

<?xml version="1.0" encoding="GB2312"?>
<?xml:stylesheet type="text/xsl" href="resume_expression.xsl"?>
<document>
<resume>
<name>禹希初</name>
<sex>男</sex>
<birthday>1977/7/5</birthday>
<skill>数据库设计与维护</skill>
<skill>Web开发</skill>
</resume>
<resume>
<name>张三</name>
<sex>男</sex>
<birthday>1980/7/5</birthday>
<skill>人工智能</skill>
<skill>Web开发</skill>
</resume>
</document>


resume_expression.xsl:

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/Transform" version="1.0">
<html>
<head>
<title>个人简历</title>
</head>
<body>
<xsl:for-each select="document">
<table border="1" cellspacing="0">
<caption style="font-size: 100%; font-weight: bold">个人简历</caption>
<tr>
<th>姓 名</th><th>生 日</th>
</tr>
<xsl:for-each select="resume">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="birthday"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:for-each>
</body>
</html>
</xsl:stylesheet>
...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
whulph 2003-10-16
  • 打赏
  • 举报
回复
没有肯定是可以的,可以用下面这个xsl文件来转换我问题里的xml文件:
<?xml version="1.0" encoding="GB2312"?>

<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<HEAD>
<TITLE>个人简历</TITLE>
</HEAD><BODY>
<P/>
<xsl:for-each select="document">
<TABLE border="1" cellspacing="0">
<CAPTION style="font-size: 150%; font-weight: bold">
个人简历
</CAPTION>

<xsl:for-each select="resume">

<TR>
<TH>姓名</TH><TD><xsl:value-of select="name"/></TD>
<TH>性别</TH><TD><xsl:value-of select="sex"/></TD>
</TR>
<TR>
<TH>技能</TH><TD colspan="3"><xsl:value-of select="skill"/></TD>
</TR>


</xsl:for-each>
</TABLE>
</xsl:for-each>
</BODY>
</HTML>

我觉得这个xsl文件和我问题里的resume_expression.xsl文件没什么区别(语法上),可是后者就是出不来数据。
速马 2003-10-16
  • 打赏
  • 举报
回复
<xsl:template match="document">或者<xsl:template match="/">
</xsl:template>
一定要有的
whulph 2003-10-16
  • 打赏
  • 举报
回复
to colee:
template不一定要有吧,下面的就可以正确转换
resume.xsl:

<?xml version="1.0" encoding="GB2312"?>

<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<HEAD>
<TITLE>个人简历</TITLE>
</HEAD><BODY>
<P/>
<xsl:for-each select="document">
<TABLE border="1" cellspacing="0">
<CAPTION style="font-size: 150%; font-weight: bold">
个人简历
</CAPTION>

<xsl:for-each select="resume">

<TR>
<TH>姓名</TH><TD><xsl:value-of select="name"/></TD>
<TH>性别</TH><TD><xsl:value-of select="sex"/></TD>
</TR>
<TR>
<TH>技能</TH><TD colspan="3"><xsl:value-of select="skill"/></TD>
</TR>


</xsl:for-each>
</TABLE>
</xsl:for-each>
</BODY>
</HTML>

jeskee 2003-10-16
  • 打赏
  • 举报
回复
我也在问这个问题,有结果的话互相学习!
http://expert.csdn.net/Expert/topic/2362/2362348.xml
又疯了
colee 2003-10-16
  • 打赏
  • 举报
回复

resume_expression.xsl 基本格式不对,template一定要有。

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/Transform" version="1.0">
<xsl:template match="document">

<html>
<head>
<title>个人简历</title>
</head>
<body>
<table border="1" cellspacing="0">
<caption style="font-size: 100%; font-weight: bold">个人简历</caption>
<tr>
<th>姓 名</th><th>生 日</th>
</tr>
<xsl:for-each select="resume">
<tr>
<td><xsl:value-of select="name"/></td>
<td><xsl:value-of select="birthday"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>

</xsl:template>
</xsl:stylesheet>

8,906

社区成员

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

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