2016-12-02 120 views
0

當我嘗試加載網頁時,以下xsl文件不解析。我對這類東西非常陌生,而且找不到錯誤。我使用谷歌Chrome網頁開發工具,但沒有發現任何錯誤。 我在做什麼錯,爲什麼不會這個文件解析?xsl xml網頁無法解析

<?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

您有沒有接受過或沒有評論過任何答案?熟悉SO習慣... –

回答

0

您的第一個問題是,這不是一個XML文檔,因此不能是XSLT樣式表。另外,各種結構的使用也存在許多問題。

其中的問題:

  • 你有形式<?xsl-stylesheet ... ?>的處理指令,但對於這樣的處理指令沒有標準的含義。

  • 對於名爲xsl-stylesheet的元素,您有一個結束標籤,但沒有此類元素的開始標記。

  • 您顯示的文件在XSL名稱空間中沒有元素,只有沒有名稱空間中本地名稱開始的元素xsl- - 這些不是XSL元素。

將一些時間花在學習XML的基礎知識和獲取可以幫助你的工具上是明智的。你需要一個解析器,它可以告訴你一個字符序列是否是一個格式良好的XML文檔。 (使用這樣一個工具一兩天後,你會開始少用它,並且能夠通過眼睛來識別格式問題,但在此之前甚至之後,都無法替代運行解析器你的數據。)你會想嘗試理解XML命名空間,或者至少學會與他們一起生活;您將希望瞭解您的解析器如何告訴您文檔中存在名稱空間問題。然後你將能夠開始學習XSLT。

祝你好運!