XSLT XML未在浏览器中正确显示

时间:2017-07-06 03:09:12

标签: xslt

好的StackOverflow人员。

我对XSLT非常陌生,所以新的事实上我正在尝试做我的第一个教程而我无法让它工作。

我从中复制了代码并且没有更改我将其放入文件中并尝试在Internet Explorer中查看它,所有我得到的都是纯文本。有趣的是,如果我查看浏览器中的源代码,它会向我显示HTML,就好像它是由XSLT正确格式化的一样。所以为了进一步了解这一点,我需要至少能够查看最基本的XSLT示例,看看我是否做得对。任何帮助将不胜感激。

XML

<?xml version = "1.0"?>
<?xml-stylesheet  type = "html/xsl"
              version ="1.0"
              href = "students.xsl"?>
<class>
 <student rollno = "393">
  <firstname>Dinkar</firstname>
  <lastname>Kad</lastname>
  <nickname>Dinkar</nickname>
  <marks>85</marks>
</student>
<student rollno = "493">
  <firstname>Vaneet</firstname>
  <lastname>Gupta</lastname>
  <nickname>Vinni</nickname>
  <marks>95</marks>
</student>
<student rollno = "593">
 <firstname>Jasvir</firstname>
 <lastname>Singh</lastname>
 <nickname>Jazz</nickname>
 <marks>90</marks>
</student>
</class>

XSLT

<?xml version = "1.0" encoding = "UTF-8"?>
    <xsl:stylesheet version = "2.0"
    xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
      <xsl:template match = "/">
        <html>
          <body>
            <h2>Students</h2>
            <table border = "1">
              <tr bgcolor = "#9acd32">
                <th>Roll No</th>
                <th>First Name</th>
                <th>Last Name</th>
                <th>Nick Name</th>
                <th>Marks</th>
              </tr>
              <xsl:for-each select="class/student">
                <tr>
                  <td>

                    <xsl:value-of select = "@rollno"/>
                  </td>

                  <td>
                    <xsl:value-of select = "firstname"/>
                  </td>
                  <td>
                    <xsl:value-of select = "lastname"/>
                  </td>
                  <td>
                    <xsl:value-of select = "nickname"/>
                  </td>
                  <td>
                    <xsl:value-of select = "marks"/>
                  </td>

                </tr>
              </xsl:for-each>
            </table>
           </body>
          </html>
         </xsl:template>
       </xsl:stylesheet>

1 个答案:

答案 0 :(得分:1)

更改<?xml-stylesheet中的一个详细信息(在XML文件中): type 属性应该 是text/xsl(不是html/xsl)。