xsl не применяется к xml файлу - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть простая программа xml и xsl для печати данных ученика в таблице, и я впервые использую xml. После завершения программы во время работы программы я не получаю вывод на стол. Сначала я подумал, что в моем коде могут быть какие-то ошибки, но я пробовал те же файлы xml и xsl на трех моих друзьях в системе Ubuntu, и она работает отлично. Для информации я использую Ubuntu 18, и все мои друзья используют то же самое. Я попробовал тот же код так же, как и в своей системе, но я все еще не получаю вывод. Может кто-нибудь сказать мне, почему у меня такая проблема.

Это мой xml файл (Student. xml):

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="Student.xsl"?>
<studInfo>
  <stud>
    <name>ABC</name>
    <dob>12/04/2020</dob>
    <rno>REG001</rno>
    <course>MCA</course>
  </stud>
  <stud>
    <name>ABC</name>
    <dob>12/04/2020</dob>
    <rno>REG001</rno>
    <course>MCA</course>
  </stud>
  <stud>
    <name>ABC</name>
    <dob>12/04/2020</dob>
    <rno>REG001</rno>
    <course>MCA</course>
  </stud>
</studInfo>

Это мой xsl файл (Student. xsl):

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title>Student Details</title>
      </head>
      <body>
        <center>
          <table border="1">
            <caption>Student Details</caption>
            <tr>
              <th>Name</th>
              <th>Date of birth</th>
              <th>Register No</th>
              <th>Course</th>
            </tr>
            <xsl:for-each select="/studInfo/stud">
              <tr>
                <td>
                  <xsl:value-of select="name" />
                </td>
                <td>
                  <xsl:value-of select="dob" />
                </td>
                <td>
                  <xsl:value-of select="rno" />
                </td>
                <td>
                  <xsl:value-of select="course" />
                </td>
              </tr>
            </xsl:for-each>
          </table>
        </center>
      </body>
    </html>
  </xsl:template>
</xsl:transform>

Я запускаю файл xml, щелкнув правой кнопкой мыши файл xml и выбрав опцию open with mozilla firefox. То же самое работает для моих друзей, но не для меня.

Я получаю вывод по прямой без таблицы, как это:

ABC 12/04/2020 REG001 MCA ABC 12/04/2020 REG001 MCA ABC 12/04/2020 REG001 MCA

Кто-нибудь может мне с этим помочь. Пожалуйста

1 Ответ

0 голосов
/ 13 апреля 2020

Я передал результат xsltpro c в lynx (xsltproc Student.xsl Student.xml | lynx -stdin) и получил

   CAPTION: Student Details

                                        Name Date of birth Register No Course
                                        ABC  12/04/2020    REG001      MCA
                                        ABC  12/04/2020    REG001      MCA
                                        ABC  12/04/2020    REG001      MCA

, поэтому даже в браузере текстовой консоли lynx отображается структура таблицы.

...