Xpoint
   [напомнить пароль]

Почему DTD работает в Mozilla 1.7.1 и не работает в FireFox 1.5?

2005-12-07 15:11:11 [обр] Viacheslav Besedin [досье]

Приветствую вас, уважаемые.
Только начинаю осваивать программирование под Mozill'а и вот во что уперся. Пробую реализовать приложение XULNote из обучающего курса на xulplanet.com В основном xul файле присутствует конструкция:

<!DOCTYPE window [
<!ENTITY % xulnoteDTD SYSTEM "chrome://xulnote/locale/xulnote.dtd">
%xulnoteDTD;
]>

И FireFox ругается на неё следующим образом:

Ошибка синтаксического анализа  XML: ошибка обработки ссылки на внешнюю сущность
Адрес: chrome://xulnote/content/xulnote.xul
Строка номер 6, символ 1:
%xulnoteDTD;
^

Всё вышеперечисленное прекрасно работает в Mozilla 1.7.1
Посоветуейте, пожалуйста, как адаптировать код к Firefox.

Заранее благодарен, Вячеслав

спустя 15 минут [обр] Денис Прилуцкий [досье]

Проблема в chrome-адресе: chrome://xulnote/...

Посмотрите вот эту тему: http://xpoint.ru/forums/programming/XUL/thread/32396.xhtml

спустя 19 минут [обр] Владимир Палант [досье]
В Xpoint sidebar испольуется в точности та же самая конструкция и работает она везде нормально, то есть проблема действительно должна быть в ссылке. Попробуйте открыть chrome://xulnote/locale/xulnote.dtd в браузере.
спустя 57 минут [обр] Viacheslav Besedin [досье]
Владимир Палант[досье]
Владимир, попробовал открыть dtd'шку по прямой ссылке - пустая страница. Значит проблема в ссылке. Странно, в Mozillе всё подхватывается.
спустя 18 часов [обр] Денис Прилуцкий [досье]
Viacheslav Besedin[досье] Как Вы создавали alias chrome://xulnote ?
спустя 36 минут [обр] Viacheslav Besedin [досье]

Делал всё по туториалу, а именно:

  1. Создал внутри FireFox 'овой Chrome директории (у меня: C:\Program Files\Mozilla Firefox\chrome ) папку xulnote со следующей структурой:

xulnote |
        |
        +-- content

        | +xulnote

        | +- contents.rdf
        | +- xulnote.css
        | +- xulnote.js
        | +- xulnote.xul
        +-- locale
                  |
                  +en-us

                  | +xulonote

                  | +contents.rdf
                  | +xulnote.dtd
                  |
                  +ru-ru
                          |
                          +xulonote
                                   |
                                   +contents.rdf
                                   +xulnote.dtd

  1. Далее в файле C:\Program Files\Mozilla Firefox\chrome\installed-chrome.txt Добавил следующие строчки:

content,install,url,resource:/chrome/xulnote/content/xulnote/
locale,install,url,resource:/chrome/xulnote/locale/ru-RU/xulnote/
locale,install,url,resource:/chrome/xulnote/locale/en-US/xulnote/

Вот так. Т.к. у меня FireFox 1.5 попробую последовать совету из ветки "Помогите новичку", Но буду благодарен за замечания по текущей реализации. Что не так может быть?

спустя 6 часов [обр] Владимир Палант [досье]
У вас, случайно, английская локаль не выбралась? Если скопировать xulnote/xulnote.dtd в каталог en-US, то файл откроется?
спустя 3 часа 30 минут [обр] Viacheslav Besedin [досье]
Владимир, файлы открываются (отображается пустая страница, но не ругается на то что такой страницы нет). Я в панике. Попробовал, чтобы не было сомнений скачал jhbubyfkmyjt приложение в виде архива http://xulplanet.com/tutorials......s/xulnote/xulnote-section3.zip . Распаковал в chrome директорию, поправил installed-chrome.txt (путём копирования через буфер обмена строк со странички с описанием). Казалось бы, куда прозрачней. Ан нет :( Итак чувствую, что злоупотребляю терпением форумчан задавая чайниковские вопросы, но, всё-таки, не сочтите за труд где могла собака порытся.
С уважением, Вячеслав.
PS: пойду реализовывать последнюю надежду, из ветки "помогите новичку"
спустя 7 минут [обр] Владимир Палант [досье]
chrome:// никогда не ругается, что страницы нет. Если отображается пустая страница — значит что-то неправильно зарегистрировано.
спустя 2 часа 50 минут [обр] Владимир Палант [досье]

Выяснилось, что дело было в именах entity — Gecko 1.8 не позволяет в них двоеточия, а Gecko 1.7 позволял. Кроме того installed-chrome.txt больше нет, вместо этого создается файл xulnote.manifest с таким содержанием:

content xulnote xulnote/content/xulnote/ xpcnativewrappers=yes
locale xulnote en-US xulnote/locale/en-US/xulnote/

Хотя неправильно, конечно, устанавливать свое приложение прямо в каталог chrome Firefox'а. Надо было бы оформить его как расширение...

Powered by POEM™ Engine Copyright © 2002-2005