-1

Hello good people of StackOverflow.

I am extremely new to XSLT, so new in fact I'm trying to do my first tutorial and I can't get it to work.

I copied the code from it and without changing I put it into a file and tried to view it in Internet explorer and all i get back is plain text. interesting if i look at the source code in the browser it shows me the HTML as if it was formatted correctly by the XSLT. so in order to get any further with this I need to atleast be able to view the most basic XSLT example to see if I did it right. any help would be greatly appreciated.

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>
  • Possible duplicate of [XSLT not working in web browser](https://stackoverflow.com/questions/29941662/xslt-not-working-in-web-browser) – kjhughes Jul 06 '17 at 03:20
  • @kjhughes Maybe it is just how new I am to this but is the gist of that post that I can't view XSLT styled XML in my local browser when the XSLT and the XML are in the same folder or on the same server? I did read that post before but most likely I didn't fully understand it. I double checked the rest of the Settings to make sure they are right – Stephen Archbold Jul 06 '17 at 03:42

1 Answers1

1

Change one detail in <?xml-stylesheet (in XML file): type attribute should be text/xsl (not html/xsl).

Valdi_Bo
  • 30,023
  • 4
  • 23
  • 41