Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№122-01-2006 11:39:29

v743
Участник
 
Группа: Members
Зарегистрирован: 17-12-2005
Сообщений: 10

Встроенные rdf:файлы

А можно как-то посмотреть содержание, ну например rdf:charset-menu, в виде файла rdf? Скачал исходинки firefox'а, но там эти файлы, как я понял, получаются Cишными инструкциями (rdfUtil->MakeSeq(...), etc), а с Cи у меня не сложились отношения.

Отсутствует

 

№222-01-2006 23:30:55

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Встроенные rdf:файлы

v743 пишет

А можно как-то посмотреть содержание, ну например rdf:charset-menu, в виде файла rdf?...

Если известно название источника данных, можно выполнить такой код:

Выделить код

Код:

var dsName = "bookmarks";
var file = "file:///H:/" + dsName + ".rdf";
var rdfService = Components. classes ["@mozilla.org/rdf/rdf-service;1"].
                 getService (Components. interfaces. nsIRDFService);
var ds = rdfService. GetDataSource ("rdf:" + dsName);
var ds2 = Components. classes ["@mozilla.org/rdf/datasource;1?name=xml-datasource"].
          createInstance (Components. interfaces. nsIRDFDataSource);
var subs = ds. GetAllResources ();
var sub, preds, pred, targ;
while (subs. hasMoreElements ())
{
    sub = subs. getNext ();
    preds = ds. ArcLabelsOut (sub);
    while (preds. hasMoreElements ())
    {
        pred = preds. getNext ();
        targ = ds. GetTarget (sub, pred, true);
        try
        {
            ds2. Assert (sub, pred, targ, true);
        }
        catch (e)
        {
            print ("error: " + e + "\n\tsubject: " + sub + " : predicate: " + pred + " : target: " + targ);
        }
    }
}
ds2. QueryInterface (Components. interfaces. nsIRDFRemoteDataSource);
ds2. FlushTo (file);

в Javascript Environment расширения Extension Developer.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№323-01-2006 18:26:07

v743
Участник
 
Группа: Members
Зарегистрирован: 17-12-2005
Сообщений: 10

Re: Встроенные rdf:файлы

Спасибо.
Только почему-то это не для всех источников данных работает :(
При том же упомянутом мной в первом посте rdf:charset-menu в цикл не заходит. Т.е, как я понимаю, ds.GetAllResources() почему-то возвращает пустой список.

Почему?

Отсутствует

 

№423-01-2006 18:43:41

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Встроенные rdf:файлы

v743 пишет

Спасибо.
Только почему-то это не для всех источников данных работает :(
При том же упомянутом мной в первом посте rdf:charset-menu в цикл не заходит. Т.е, как я понимаю, ds.GetAllResources() почему-то возвращает пустой список.

Почему?

Потому что не зарегистрирован ещё этот источник данных. Достаточно перед выполнением кода "пройтись" по меню "Вид" - "Кодировка".


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]