2010-09-22 2 views
-3

У меня есть странная проблема. Использование XSLT-преобразований с PHP и по какой-то причине скомпилированный файл шаблона, который печатается пользователю, удаляет все комментарии из кода. Это никогда не происходило раньше и не удалось полностью отладить эту проблему. Даже у источника $ xslt-> transformToXML ($ xml), теперь он лишен комментариев, когда это было не раньше.XSLT снятие комментариев

Это особенно раздражает блоки JS, которые обернуты в <! - - >.

Любые идеи?

+1

«Это никогда не происходило раньше» - так что же изменилось? Вы никогда не использовали php/xsl? Или вы изменили версию php? Или вы изменили шаблон? – VolkerK

+1

Чтобы точно сказать, почему это происходит, нам нужно увидеть таблицу стилей. Как ответил @Peter Tillemans, встроенное правило для комментариев состоит в том, чтобы разбить их. Возможно, вы разделили явное правило для копирования комментариев, может быть, правило идентификации ... – 2010-09-22 21:18:39

ответ

5

Насколько я знаю, если вы не указали иначе, преобразование XSLT будет лишать комментарии и инструкции по обработке.

Если вы хотите сохранить комментарии вы можете добавить что-то вроде

<xsl:template match="comment()"> 
    <xsl:comment><xsl:value-of select="."/></xsl:comment> 
</xsl:template> 

в файл XSLT.

+0

ваш «AFAIK» прав. «Встроенное правило шаблона для обработки инструкций и комментариев - ничего не делать». http://www.w3.org/TR/xslt#built-in-rule +1 для подачи необходимого шаблона. – LarsH

+2

еще проще:

+0

@ Ник, когда я делаю преобразование xhtml в xhtml Обычно я добавляю копию всего шаблона в начале и переопределяю то, что хочу , Но это опасно и неожиданно для непредвиденных пользователей. –

Смежные вопросы