当我尝试加载网页时,以下xsl文档未解析。我对这种东西很陌生,我无法找到这个bug。我使用了谷歌浏览器网站开发人员工具,但没有发现任何错误。 我做错了什么,为什么这个文件不解析?
<?xml version = "1.0" encoding = 'UTF-8'?>
<?xsl-stylesheet type =
"text/xsl"xmlns:xsl="http://district.bluegrass.kctcs.edu/bwells0086/bookstore.xml"?>
<xsl:output method = "html">
<?xsl-template match="Book"?>
<html>
<body>
<table border = "3" bgcolor= "lightgreen">
<tr>
<th>Book Title</th>
<th>Author</th>
<th>Selling Price</th>
<th>Publication Year</th>
<th>Publisher</th>
</tr>
<xsl-for-each select= "BookTitle/Author/SellingPrice/PublicationYear/
Publisher">
<tr>
<td><xsl-value-of select="BookTitle"/></td>
<td><xsl-value-of select="Author"/></td>
<td><xsl-value-of select="SellingPrice"/></td>
<td><xsl-value-of select="PublicationYear"/></td>
<td><xsl-value-of select="Publisher"/></td>
</tr>
</xsl-for-each>
</table>
</body>
</html>
</xsl-stylesheet>
答案 0 :(得分:0)
您的第一个问题是这不是XML文档,因此不能是XSLT样式表。另外,各种结构的使用存在许多问题。
问题包括:
您有一个<?xsl-stylesheet ... ?>
形式的处理指令,但这种处理指令没有标准含义。
您有一个名为xsl-stylesheet
的元素的结束标记,但没有此类元素的开始标记。
您显示的文件在XSL名称空间中没有元素,只有没有名称空间的元素,其本地名称以xsl-
开头 - 这些不是XSL元素。
花一些时间学习XML的基础知识并获取可以帮助你的工具可能是明智之举。您将需要一个解析器,它可以告诉您字符序列是否是格式良好的XML文档。 (在你使用这样一个工具一两天之后,你将开始更少地需要它,并且能够通过眼睛识别格式良好的问题。但在那之前,甚至之后,没有任何替代方法可以运行解析器您的数据。)您将尝试理解XML命名空间,或者至少学会与它们一起生活;您将需要了解解析器如何告诉您文档中存在命名空间问题。然后你就可以开始学习XSLT了。
祝你好运!