XQuery и условные комментарии html

Прочитав некоторые другие вопросы здесь и попробовав их решения, у меня все еще есть эта проблема с XQuery.

Мы используем условный комментарий, чтобы узнать, используется ли IE. Мы динамически строим пути к нашим файлам javascript следующим образом.

<!--[if lte IE]>
<script type="text/javascript" src="{$layout:cdnPath}/scripts/browser-detect-admin.js">&nbsp;</script>
<![endif]-->

Но похоже, что элемент script оценивается как текст и не строит правильный путь к нашему javascript. Он думает, что {$layout:cdnPath}/scripts/browser-detect-admin.js — это путь к файлу. Я не могу понять, почему.

Я тестировал это в IE 7,8, а также в режиме совместимости с IE 9.


person bjo    schedule 20.02.2012    source источник


Ответы (1)


Это правильно. Такие шаблоны выражений не оцениваются в буквальном комментарии. Вместо этого используйте конструктор комментариев:

comment {concat('[if lte IE]>
<script type="text/javascript" src="', $layour:cdnPath, '/scripts/browser-detect-admin.js">&nbsp;</script>
<![endif]')}

ХТН

person grtjn    schedule 20.02.2012
comment
Оно работает! Странно то, что раньше он работал так, как у нас, а потом перестал. Так кто знает. - person bjo; 21.02.2012
comment
Это могло быть исправлением ошибки, хотя я об этом не знаю. Чтение w3.org/TR/xquery/#prod-xquery-DirCommentConstructor это кажется мне довольно ясным. Комментарии "<!--" DirCommentContents "-->" и DirCommentContents := ((Char - '-') | ('-' (Char - '-')))*. Вы ожидали поведение EnclosedExpr, которое недоступно в комментариях, построенных напрямую. - person mblakele; 21.02.2012