xsl xml网页无法解析

时间:2016-12-02 01:42:12

标签: html xml xslt

当我尝试加载网页时,以下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>

1 个答案:

答案 0 :(得分:0)

您的第一个问题是这不是XML文档,因此不能是XSLT样式表。另外,各种结构的使用存在许多问题。

问题包括:

  • 您有一个<?xsl-stylesheet ... ?>形式的处理指令,但这种处理指令没有标准含义。

  • 您有一个名为xsl-stylesheet的元素的结束标记,但没有此类元素的开始标记。

  • 您显示的文件在XSL名称空间中没有元素,只有没有名称空间的元素,其本地名称以xsl-开头 - 这些不是XSL元素。

花一些时间学习XML的基础知识并获取可以帮助你的工具可能是明智之举。您将需要一个解析器,它可以告诉您字符序列是否是格式良好的XML文档。 (在你使用这样一个工具一两天之后,你将开始更少地需要它,并且能够通过眼睛识别格式良好的问题。但在那之前,甚至之后,没有任何替代方法可以运行解析器您的数据。)您将尝试理解XML命名空间,或者至少学会与它们一起生活;您将需要了解解析器如何告诉您文档中存在命名空间问题。然后你就可以开始学习XSLT了。

祝你好运!