pugixml 1.16









16. lipnja, nakon gotovo godinu i pol dana razvoja, objavljen je 1.16 pugixml — brza cross-platform biblioteka za parsiranje i obradu XML-a (MIT licenca).

Biblioteka pruža DOM-sličan interfejs s mogućnostima prolaska kroz čvorove dokumenta i njihovih izmjena. Također podržava XPath 1.0 i potpunu podršku za Unicode (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE) i UCS-2), uz automatsko pretvaranje kodiranja.

Podržava korištenje bez standardne biblioteke i izuzetaka C++, te režim "samo zaglavlja".

Ovo je jubilejna verzija — ove godine projekt puni 20 godina! Više o povijesti stvaranja i razvoja biblioteke možete pročitati na pugixml.org, GitHub ili u prvoj verziji vijesti.

  • Promjene ponašanja
    • elementi s jednim praznim podčvorom PCDATA sada se prikazuju s praznim oznakama (s obzirom na parametar format_no_empty_element_tags).
  • Poboljšanja
    • dodana opcija PUGIXML_CHARCONV_FLOAT za pretvaranje brojeva s pomičnom decimalnom točkom, koristeći ; za to je potreban C++17, što čini pretvorbe neovisnima o lokalitetu i može poboljšati performanse;
    • dodane funkcije xml_node::ensure_child i xml_node::ensure_attribute, koje vraćaju podčvor ili atribut s navedenim imenom, dodajući ga ako je nedostajao;
    • poboljšana performansa pretrage čvorova i atributa po imenu;
    • učitavanje dokumenta iz praznog bafer ne rezultira više alokacijom memorije.
  • Poboljšanja XPath-a
    • poboljšana performansa upita u kojima se vrši izračun ili usporedba vrijednosti atributa, kao što je @attr > 5;
    • poboljšana performansa upita koji biraju čvorove i atribute po imenu.
  • Ispravke grešaka
    • ispravljena prekomjerna dubina stoga prilikom uklanjanja podstabala s vrlo dubokim razinama ugniježdenja;
    • ispravljene cijelobrojne prekomjerne vrijednosti koje su mogle uzrokovati padove prilikom učitavanja vrlo velikih (> 1 GB) dokumenata na 32-bitnim platformama u režimu PUGIXML_WCHAR_MODE;
    • ispravljena greška dereferenciranja nultog pokazivača prilikom kopiranja objekata xpath_variable_set s string varijablama bez dodijeljenih vrijednosti.
  • Poboljšanja podrške za CMake
    • poboljšana podrška za opciju PUGIXML_BUILD_APPLE_FRAMEWORK;
    • dodana CMake opcija PUGIXML_INSTALL_SOURCE za instalaciju pugixml.cpp (korisno u režimu "samo zaglavlja").
  • Poboljšanja kompatibilnosti
    • dodani su datoteke projekta i NuGet paketi za Visual Studio 2026;
    • riješen je problem kompatibilnosti s C++20 modulima prilikom uključivanja datoteke pugixml.hpp u globalni modul;
    • riješena su upozorenja Clang i GCC -Wextra-semi-stmt, -Wsign-conversion i -Wuninitialized (GCC 16);
    • riješena je greška pri kompilaciji s Embarcadero C++ XE5;
    • uklonjena su neka lažna uzbunjivanja statičke analize.

Izvor: linux.org.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster