XSLT disable-output-escaping не выполняется на двух серверах diff - PullRequest
0 голосов
/ 20 июня 2011

Gidday,

У меня есть страница с XSLT, которая делает небольшое количество потрясающего, и в основном все идет хорошо, но я наткнулся на контрольно-пропускной пункт.

Эта страница: http://codefinger.co.nz/_testing/build_2011/ дроссели на разделах CDATA, которые на самом деле не являются частью моего файла .xsl, они, кажется, вставляются во время преобразования (генерируются ошибки синтаксического анализа Javascript).

Интересно, этот вопрос SO: xslt, javascript и неэкранированные html-сущности решили проблему на локальном тестовом сайте (я обернул содержимое моих блоков сценариев тегами XSL с отключенным-выходным-выходом), который представляет собой стек WAMP 2.0 с этой конфигурацией XSL:localhost:// phpinfo()

Мой живой, размещенный сервер имеет такую ​​конфигурацию: http://codefinger.co.nz/php-info.php,, и этот же подход не работает.

Вот исходный файл .xsl: http://codefinger.co.nz/_testing/build_2011/xsl/siteContent.xsl, соответствующий .xml действителен, он здесь: http://codefinger.co.nz/_testing/build_2011/xml/siteContent.xml.

Есть идеи?

Следует отметить, что мне действительно не нравится перемещать 2 из 3 блоков сценариев на внешниефайлы - одна замена шрифта Cufon (так что я может переместить его), другой - крошечный скрипт в теге head Люка Смита, который преобразуется в CSS при наличии JS.

1 Ответ

1 голос
/ 21 июня 2011

Используйте CDATA разделы в ваших <xsl:text> элементах. Вот так:

<xsl:text disable-output-escaping="yes"><![CDATA[
    ..... 
]]></xsl:text> 

В комментариях выше вы обнаружили, что это даже лучше:

<xsl:comment><![CDATA[
    ..... 
]]></xsl:comment>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...