Попытка связать использование XSL для вывода таблицы HTML из XML - PullRequest
1 голос
/ 13 декабря 2011

Я пытаюсь использовать файл .xsl, чтобы он возвращал таблицу HTML документа XML.У меня нет опыта в этом, и это то, что я раньше не делал, так что, вероятно, это просто простая ошибка.

У меня есть следующий код для моего podcatalog.xsl

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Tranform">

<xsl:template match="/">
  <html>
  <body>
  <h2>Pods Papers</h2>
  <table border="1">
    <tr bgcolor="#9ACD32">
      <th>Author</th>
      <th>Title</th>
      <th>Pages</th>
      <th>Year</th>
    </tr>
    <xsl:for-each select="pods-papers/inproceedings">
    <tr>
      <td><xsl:value-of select="author"/></td>
      <td><xsl:value-of select="title"/></td>
      <td><xsl:value-of select="pages"/></td>
      <td><xsl:value-of select="year"/></td>
    </tr>
    </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>

И podcatalog.xml может быть найденным здесь

Я получаю ошибку: "Ошибка загрузки таблицы стилей: сбой анализа таблицы стилей XSLT."

Ответы [ 2 ]

0 голосов
/ 13 декабря 2011

Похоже, вы определяете сущности неправильно (<!ENTITY Aring "&amp;#197;" > должно иметь & вместо &amp;) и, что более серьезно, без DTD.Похоже, это давний запрос, что мы должны это сделать, но ... Итак, проблема в том, что в вашем XML-файле есть объявление DOCTYPE, которое содержит только определения сущностей, а не определение типа документа.

Опции выглядят так:

  1. Записать DTD.Некоторая работа, но может быть полезна для целей документирования.
  2. Заменить ссылки на сущности самими символами или ссылками на символы, например, &Ouml; на Ö или &#214;.
0 голосов
/ 13 декабря 2011

Изменение:

<xsl:for-each select="pods-papers/inproceedings key">

на:

<xsl:for-each select="pods-papers/inproceedings">

'ключ' является атрибутом элемента

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...