Помогите с LibXML (GNOME) SAX, кто работал
Есть множество функций, в шаблоне которых первым параметром прописано "void * ctx", например:
Function type: errorSAXFunc
void errorSAXFunc (void * ctx, const char * msg, ... ...)
Display and format an error messages, callback.
ctx: an XML parser context
msg: the message to display/transmit
...: extra parameters for the message display
Вот непойму, что это за аргумент и с чем его едят.
С XML работаю впервые, потому буду благодарен за любой наглядный пример использования одной этих функций.
С XML работаю впервые, потому буду благодарен за любой наглядный пример использования одной этих функций.
Если честно, не понял, причем тут Gnome и Builder.
Дело в том, что SAX есть в Дельфи-реализации, в виде компонентов, очень близких по функциональности к SAX2 для Java. Когда нам потребовалось работать с XML, мы стали использовать именно их. Правда, пришлось исправить один баг, связанный с неправильной перекодировкой в UTF8.
Если честно, не понял, причем тут Gnome и Builder.
Дело в том, что SAX есть в Дельфи-реализации, в виде компонентов, очень близких по функциональности к SAX2 для Java. Когда нам потребовалось работать с XML, мы стали использовать именно их. Правда, пришлось исправить один баг, связанный с неправильной перекодировкой в UTF8.
Дело в том, что в дальнейшем планируется и перенос на другую платформу (Linux). Эта библиотека работает под множество платформ.
Для начала мне удобней (и необходимо) разобратся как она работает в билдере.
Для DOM есть примеры, но вложенность очень мала, а файлы XML будут очень большими. Надо чтобы с наименьшими затратами памяти и работала побыстрее.
Дело в том, что в дальнейшем планируется и перенос на другую платформу (Linux).
На Kylix или gcc?
Те компоненты, про которые говорю я, написаны полностью на Паскале (Дельфи) и для работы больше ничего не требуют. Состоят из реализации SAX как объектной оболочки над парсером XML и двух парсеров: первый использует установленный в системе Microsoft XML Parser, а второй - встроенный, полностью написанный на Дельфи. Естественно, мы пользуемся вторым.
Вложенность там неограничена.
На Kylix или gcc?
Те компоненты, про которые говорю я, написаны полностью на Паскале (Дельфи) и для работы больше ничего не требуют. Состоят из реализации SAX как объектной оболочки над парсером XML и двух парсеров: первый использует установленный в системе Microsoft XML Parser, а второй - встроенный, полностью написанный на Дельфи. Естественно, мы пользуемся вторым.
Вложенность там неограничена.
На Kylix.
Это конечно выход, но...
LibXML написана на С++, OpenSource (но в этих исходниках сам чёрт не разберётся),я знаю С++, Linux - тоже на С++, плюс ещё и каприз начальства (хотя непонимаю какая им разница).
За ссылочку - спосибо, может МНЕ и пригодится.
Это конечно выход, но...
LibXML написана на С++, OpenSource (но в этих исходниках сам чёрт не разберётся),я знаю С++, Linux - тоже на С++, плюс ещё и каприз начальства (хотя непонимаю какая им разница).
На SAXProject есть некоторое количество ссылок на порты SAX на другие языки. На C++ тоже есть.
Вопрос просто был поставлен, работал ли кто-то реально с XML. Я работал, но поскольку мы не пишем на C++, то... ;)
На SAXProject есть некоторое количество ссылок на порты SAX на другие языки. На C++ тоже есть.
Вопрос просто был поставлен, работал ли кто-то реально с XML. Я работал, но поскольку мы не пишем на C++, то... ;)
Спасибо.
Я уже практически разобрался с LibXML, а компоненты мне сказали в проекте не катят.P(
На будущее буду иметь в виду.
Я уже практически разобрался с LibXML, а компоненты мне сказали в проекте не катят.P(
Подход, конечно, интересный. Правда...
Подумал, и понял, что все компоненты, используемые в наших проектах, мы исправляли или дорабатывали сами...