XSLT解析出现错误,求助!

dicman 2005-09-28 04:34:32
Error Type:
msxml3.dll (0x80004005)
The stylesheet does not contain a document element. The stylesheet may be empty, or it may not be a well-formed XML document.

请问这种错误是因为什么问题造成的?
...全文
69 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ssm1226 2005-09-29
结尾处少了一个</xsl:template>

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:param name="top" />
<xsl:param name="page" />
<xsl:param name="searchterm" />
<xsl:template match="/">
<xsl:for-each select="rss/channel/item">
<xsl:if test="position() < ($top*($page+1)) + 1 and position() > $page * $top">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<a href="{link}">
<span>
<xsl:value-of select="title" />
</span>
</a>
</td>
</tr>
<tr>
<td>
<span>
<xsl:value-of select="link" />
</span>
</td>
</tr>
<tr>
<td>
<span>
<xsl:value-of disable-output-escaping="no" select="translate(substring(description,1,150),'/',' /')" />
</span>
<hr />
</td>
</tr>
</table>
</xsl:if>
<xsl:if test="position()=last()">
Found <xsl:value-of select="last()" /> results. Displaying <xsl:value-of select="($page * $top) + 1" /> to <xsl:value-of select="$top*($page+1)" />
<xsl:if test="$page=0">
<a href="msn-search.asp?term={$searchterm}&page={$page+1}&results={$top}">Next>></a>
</xsl:if>
<xsl:if test="not($page=0)">
<xsl:if test="$top*($page+1)>last()">
<a href="msn-search.asp?term={$searchterm}&page={$page}&prev=t&results={$top}"><<Prev</a>
</xsl:if>
<xsl:if test="not($top*($page+1)>last())">
<a href="msn-search.asp?term={$searchterm}&page={$page}&prev=t&results={$top}"><<Prev</a>
<xsl:text disable-output-escaping="yes">& </xsl:text>
<a href="msn-search.asp?term={$searchterm}&page={$page+1}&results={$top}">Next>></a>
</xsl:if>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
回复
dicman 2005-09-29
初学XSLT,照着别人的改了一些,请各位帮忙看看,谢谢了!
回复
dicman 2005-09-29
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:param name="top" />
<xsl:param name="page" />
<xsl:param name="searchterm" />
<xsl:template match="/">
<xsl:for-each select="rss/channel/item">
<xsl:if test="position() < ($top*($page+1)) + 1 and position() > $page * $top">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<a href="{link}">
<span>
<xsl:value-of select="title" />
</span>
</a>
</td>
</tr>
<tr>
<td>
<span>
<xsl:value-of select="link" />
</span>
</td>
</tr>
<tr>
<td>
<span>
<xsl:value-of disable-output-escaping="no" select="translate(substring(description,1,150),'/',' /')" />
</span>
<hr />
</td>
</tr>
</table>
</xsl:if>
<xsl:if test="position()=last()">
Found <xsl:value-of select="last()" /> results. Displaying <xsl:value-of select="($page * $top) + 1" /> to <xsl:value-of select="$top*($page+1)" />
<xsl:if test="$page=0">
<a href="msn-search.asp?term={$searchterm}&page={$page+1}&results={$top}">Next>></a>
</xsl:if>
<xsl:if test="not($page=0)">
<xsl:if test="$top*($page+1)>last()">
<a href="msn-search.asp?term={$searchterm}&page={$page}&prev=t&results={$top}"><<Prev</a>
</xsl:if>
<xsl:if test="not($top*($page+1)>last())">
<a href="msn-search.asp?term={$searchterm}&page={$page}&prev=t&results={$top}"><<Prev</a>
<xsl:text disable-output-escaping="yes">& </xsl:text>
<a href="msn-search.asp?term={$searchterm}&page={$page+1}&results={$top}">Next>></a>
</xsl:if>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:stylesheet>
回复
cds27 2005-09-29
翻译:
这XSL不包含一个文档元素。可能内容为空,或者格式错误。

原因:
如错误提示所言。重点注意“格式错误”。
回复
孟子E章 2005-09-29
xsl文件不合法或者编与文件格式不要一致
回复
ssm1226 2005-09-29
xsl文件有问题,贴出你的xsl看看~
回复
dicman 2005-09-29
我检查代码了,应该不是文件不存在或路径的问题
回复
ssm1226 2005-09-28
文件不存在或路径错误~
回复
相关推荐
发帖
XML/XSL
创建于2007-09-28

8824

社区成员

XML/XSL相关问题讨论专区
申请成为版主
帖子事件
创建了帖子
2005-09-28 04:34
社区公告
暂无公告