использовать разные шаблоны XSL при открытии XML в новом окне - PullRequest
0 голосов
/ 09 февраля 2011

У меня есть файл XML, который отображается с помощью установленного файла XSL (XSLT 1.0).XSL-файл содержит несколько других XSL-файлов с несколькими шаблонами в них.
Что мне нужно сделать, так это включить кнопку в отрендеренный XML, чтобы открыть тот же XML в новом окне, используя несколько различных шаблонов в XSL.* Включение кнопки и открытие нового окна - не проблема, но как мне указать XSL использовать другие шаблоны, потому что он был открыт в новом окне?Моя идея состояла в том, чтобы использовать JavaScript для открытия нового окна, но я не вижу, как я могу установить или передать параметр для проверки с помощью XSLT / XPATH.
Заранее спасибо за вашу помощь!

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

Изменить xml или трансформировать серверную часть (с помощью php, asp, jsp ...) или клиентскую часть (с помощью javascript).Вы можете параметризовать только процессор xsl, но не файл xml.Если вы не хотите использовать процессор xsl, вам придется заново создать xml-файл на стороне сервера с тем же телом и другим заголовком с другой таблицей стилей.

0 голосов
/ 11 февраля 2011

Я сделал это с помощью строк запроса. При загрузке открываю мой URL в новом окне

window.open(window.location+'?a=1')

в событии загрузки JS я проверяю, пуста ли строка запроса

if(window.location.search=='')

если нет, я ищу ссылки по классу и удаляю атрибуты

.removeAttribute('href');
.removeAttribute('onclick');

Чтобы уточнить, шаблоны просто удалили некоторые ссылки со страницы. Проще было просто удалить их с помощью JS, чем использовать разные шаблоны.

...