Отладка XSLT в Chrome

У меня проблемы с переводом XSL в Chrome. Мне было интересно, есть ли какие-нибудь инструменты, которые позволили бы мне пройтись по таблице стилей, чтобы увидеть, в чем проблема.

2 ответа

  • Используйте тесты узлов, чтобы проверить результаты запросов XPath.
  • Используйте функцию документа для проверки путей к файлам
  • Используйте консоль JavaScript для запуска запросов XPath к источнику данных XML
  • Используйте встроенные шаблоны вместо xsl:include устранить проблемы пути
  • Используйте комментарии, чтобы устранить xsl:include операторы, ссылающиеся на ошибочные шаблоны
  • Используйте инструкции обработки, чтобы комментировать блоки кода, которые имеют комментарии XML
  • Используйте встроенную таблицу стилей для обхода ограничений политики одного и того же происхождения
  • использование input теги для печати xsl:variable ценности.
  • Используйте шаблоны значений атрибутов для печати неизвестных значений
  • Использование упрощенных таблиц стилей и параметризованного XPath для модуляции шаблонов
  • Используйте Opera в качестве перекрестной ссылки, так как она показывает номера строк в своих сообщениях об ошибках XSLT.

В Linux есть инструмент под названием xsltproc , который принимает XSL и XML и выводит преобразование.

Он также показывает контекст вокруг ошибок.

Я нашел это наиболее полезным, когда я разрабатываю, так как я могу проверить результат своих изменений без необходимости иметь запущенный и работающий сервер разработки. Это просто работает.

Однако я заметил, что результаты преобразования могут отличаться, например, от Chrome. Я не знаю, почему это так, было ли мое преобразование несоответствующим, если Chrome не соответствует требованиям, или xsltproc не соответствует требованиям.

РЕДАКТИРОВАТЬ Мой комментарий о различиях между Chrome и xsltproc, отображающих преобразование немного по-разному, вероятно, недействителен .

  • Я несколько изменил схему XML, и с тех пор xsltproc правильно генерировал теги (на основе имени типа типов в схеме), а Chrome — нет.
  • Я делал жесткую перезагрузку, чтобы избежать повторного использования кеша Chrome.
  • Я мог сказать, что Chrome использует новый xsl, так как были включены другие изменения, которые отображались.
  • По какой-то причине в Chrome не работали только тесты, связанные со схемой.
  • С тех пор я обнаружил, что теперь он волшебным образом работает, без изменений в xsl, просто в другой день.

Итак, я предполагаю, что какая-то часть xsl каким-то образом кэшировалась (возможно, только часть схемы - здесь полностью угадывается) ... поэтому некоторая отладка в Chrome была бы очень приятной.

Другие вопросы по тегам