Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как вставить функцию JavaScript в файл XSL ??? функция JavaScript в файлe XSL ? 
V
    Опции темы
t77
Дата 13.11.2008, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Доброго времени сутук!
Скажите пожалуйста как вставить функцию JavaScript в файл XSL?
Вставляю в Онклик линка название функции, затем как обычно, описываю саму функцию! Компайлер ругается страшным матом, при этом не указывая на ошибку! Просто выдает номер строки, где я описываю саму функцию и типа :
Код

A Runtime Error has occurred.
Line:13
Error: Object expected

Как быть? Что я делаю не так?

PM MAIL   Вверх
_zorn_
Дата 13.11.2008, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: нет
Всего: 12



Код

<![CDATA[
  Тут идет яваскрипт
]]>

PM MAIL   Вверх
t77
Дата 13.11.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Описание Функции находится в СДАТЕ!
Код

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    
  <html>
      <head>
                <script>          
              <![CDATA[             
          function doZ()
          {
          alert("good luck!!!");
          }
          ]]>
      </SCRIPT>
      </head>
  <body>      
    <table border="0" width="100%">      
      <xsl:for-each select="QUERY/ITEMS/ITEM">
      <tr>
        <td>
            <a href="javascript:doZ()" onclick="doZ()">
                <xsl:value-of select="@title"/>
            </a>
        </td>
      </tr>
              </xsl:for-each>
    </table>
       </body>
  </html>
</xsl:template>
</xsl:stylesheet>

Не помогает !
Что я делаю не так?

PM MAIL   Вверх
t77
Дата 13.11.2008, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Спасибо, Разобрался!
PM MAIL   Вверх
sir_nuf_nuf
Дата 13.11.2008, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 5
Всего: 31



t77, напишите в чем проблема была - что бы другим тоже полезно было.

P.S. кстати XML чуствителен к регистру тегов, поэтому <script></SCRIPT> - это не well-formed


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
t77
Дата 20.11.2008, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



Да конечно!
Попробую объяснить...
Дело в том, что я создаю линки в файле XSL и прямо здесь же в OnClick, созданого линка, хотел добавить функцию JavaScript. Так как трансформацию ХМЛ файла с ХСЛ файлом делаю динамически в коде:
Код

xmldoc = new ActiveXObject("Microsoft.XMLDOM"); 
       xmldoc.async = false; 
       xmldoc.load(file.xml);
xsldoc = new ActiveXObject("Microsoft.XMLDOM"); 
       xsldoc.async = false; 
       xsldoc.load("file.xsl"); 

document.all['myDivID'].innerHTML = xmldoc.transformNode(xsldoc);

А результат должен отображаться в DIV-е(ВОТ ЭТО ОЧЕНЬ ВАЖНЫЙ МОМЕНТ!!!)
Код

document.all['myDivID'].innerHTML = xmldoc.transformNode(xsldoc);

Так как линки находятся в DIV-е не получается описать функцию JavaScript в файле XSL.
Пришлось вынести тело(описание) функции на страничку HTML, на которой делаю трансформацию и все заработало!!! 
Честно говоря не знаю точно почему, дошел методом тыка... 
Так, что если кто шарит почему именно так, объясните пожалуйста!!!
Надеюсь у меня получилось донести до вас то, что хотел!
PM MAIL   Вверх
sir_nuf_nuf
Дата 21.11.2008, 01:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 920
Регистрация: 6.1.2008

Репутация: 5
Всего: 31



t77, javascript легко вставляются в XML. через CDATA. вы все правильно делали. только теги script в разном регистре были


--------------------
user posted image
user posted image
PM MAIL Jabber   Вверх
t77
Дата 25.11.2008, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 27.7.2008

Репутация: нет
Всего: нет



нет нет!!! Не думаю, что в этом проблема была!
При публикации вопроса здесь в форуме, часть кода было написано мною вручную, часть скопирована и вставлена.Так, что произошла опечатка, так как в коде моей программы соблюдался регистр.
Браузер или компилятор(кстати кто из них?) ругался, выбрасывая ошибку.
Тем не менее, оказалось, что из за того, что мой файл XSL должен был отображать данные в DIV-е.
Вот так вот...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0725 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.