lexbor 2.2.0

good-penguin.png

6 апреля, после 20 месяцев разработки, состоялся выпуск 2.2.0 библиотеки парсинга HTML и CSS lexbor, написанной на языке C.

Что нового:

  • добавлены функции клонирования узлов DOM и HTML;
  • добавлена возможность переопределения функций управления памятью;
  • добавлен парсинг CSS стилей, деклараций и свойств;
  • для элементов HTML добавлены события вставки, удаления и уничтожения;
  • добавлен парсинг стилей внутри тега style;
  • при изменении элемента его стиль вычисляется заново;
  • добавлены примеры парсинга стилей.

Исправления:

  • исправлена сериализация текстовых нод HTML без «родителя»;
  • исправлены поиск и получение тега title;
  • исправлено добавление атрибутов для сторонних элементов HTML;
  • устранены различные утечки памяти;
  • исправлена возможность сборки в Windows.

Изменения:

  • минимальная версия CMake — 2.8.12;
  • полностью изменён подход к парсингу CSS;
  • удалены файлы XCode.

Лицензия: Apache 2.0.

Сайт проекта: https://lexbor.com.

Пример использования:

#include 
#include 


int main(int argc, const char *argv[])
{
    lxb_status_t status;
    const lxb_char_t *tag_name;
    lxb_html_document_t *document;

    static const lxb_char_t html[] = "
Work fine!
"; size_t html_len = sizeof(html) - 1; document = lxb_html_document_create(); if (document == NULL) { exit(EXIT_FAILURE); } status = lxb_html_document_parse(document, html, html_len); if (status != LXB_STATUS_OK) { exit(EXIT_FAILURE); } tag_name = lxb_dom_element_qualified_name(lxb_dom_interface_element(document->body), NULL); printf("Element tag name: %s\n", tag_name); lxb_html_document_destroy(document); return EXIT_SUCCESS; }

Исходный текст: https://github.com/lexbor/lexbor.

>>> Подробности

©  Linux.org.ru