![]() |
|
Модераторы: diadiavova |
![]()
|
|
| tachurochka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 26.4.2010 Репутация: нет Всего: нет |
Подскажите, можно ли использовать скриптовые классы в xsl? Есть вот такой код в xsl:
Код находится в CDATA. При загрузки файла получаю ошибку 'Syntax error' в этой строке: Test1.prototype.getStr = function() XSL файл рабочий, если убрать скрипт из него. Так что проблема только с этим кодом. Если вставить этот скрипт, чтобы он выполнился на клиентской стороне, то он работает безо всяких ошибок. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Вообще-то проблем это вызывать не должно, так что надо смотреть весь код xsl
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| tachurochka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 26.4.2010 Репутация: нет Всего: нет |
Вот небольшой пример:
Если удалить весь код, кроме функции test (оставить только вызов функции), все работает нормально. Какие идеи есть? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
tachurochka, когда используешь расширение стандарта, надо об этом писать. В самом стандарте xslt нет возможности использования скриптов, это расширение от майкрософт. Кроме того тут используется не обычный jscript, а скорее jscript.Net, со всеми вытекающими. Вот такой код работает
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| tachurochka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 26.4.2010 Репутация: нет Всего: нет |
спасибо большое. Попробую этот код. Никогда не слышала про expando.
|
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
http://msdn.microsoft.com/ru-ru/library/ch...b(v=VS.90).aspx Это работает если преобразование выполняется из своего .Net-приложения или из Visual Studio(в ней и тестировал). Если код запускается в браузере(ИЕ), то экспандо надо убрать. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| tachurochka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 26.4.2010 Репутация: нет Всего: нет |
спасибо за ответ. А может есть что нибудь еще для того, что бы работать с так называемыми anonymous функциями? Вот такой пример:
При выполнении этой XSL возникает ошибка "A class member initializer cannot contain a function expression ". |
|||
|
||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Да по-моему такая конструкция и в обычном яваскрипте не должна работать
Такой синтаксис вроде применим для обычных функций, а не для конструкторов типов. То есть функцию pasta надо было описать так
А для функций, которые просто потом будут вызываться для выполнения каких-либо действий можно использовать оба синтаксиса.
Опять-таки ты не указываешь на чём выполняется преобразование, я уже писал, что от этого зависит какие языки допустимо использовать. Если это браузер, то там работают те же правила, что и в браузерном jscript'е, а если это visual studio или своё .net-приложение, то там можно кроме jscript.net использовать ещё и C# и VB.Net. Хочешь работать с анонимными методами - можно использовать их. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
| tachurochka |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 26.4.2010 Репутация: нет Всего: нет |
Этот скрипт работает нормально, если я засуну его для выполнения на стороне клиента в браузере.
Преобразование xsl я делаю в Visual Studio. Я знаю, что в xsl можно использовать С# и может быть это будет удобнее. Просто я пытаюсь переделать большой и сложный скрипт, который сейчас работает на клиентской стороне web приложения и следовательно написан на javascript. |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Ну я ведь писал об этом уже.
jscript.net - это немного другой язык. В нём всё что работает в яваскрипте работать не обязано. Я дал ссылку на документацию по этому языку, всё там. В jscript.net, например можно объявить класс при помощи слова class итд, то есть это не одно и то же, не смотря на некоторую совместимость, поэтому если в нём не работают какие-то конструкции из браузерного jscript'а - это совершенно нормальная ситуация. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Правила форума "XML/XSLT" | |
|
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | XML, XSL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |