pugixml 1.16









16. júna, po takmer 18 mesiacoch vývoja, bol vydaný 1.16 pugixml — rýchla multiplatformová knižnica na parsovanie a spracovanie XML (licencia MIT).

Knižnica poskytuje rozhranie podobné DOM s možnosťami prechádzania uzlov dokumentu a ich zmien. Tiež podporuje XPath 1.0 a plnú podporu Unicode (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE) a UCS-2), s automatickým prevodom kódovaní.

Podporuje použitie bez štandardnej knižnice a výnimiek C++, ako aj režim „iba hlavičkové súbory“.

Toto je výročné vydanie — tento rok oslávi projekt 20 rokov! Viac o histórii vytvorenia a rozvoja knižnice si môžete prečítať na pugixml.org, GitHub alebo v prvej edícii správy.

  • Zmeny správania
    • prvky s jedným prázdnym potomkom PCDATA sa teraz zobrazujú s prázdnymi značkami (ak nie je použitý parameter format_no_empty_element_tags).
  • Vylepšenia
    • bola pridaná voľba PUGIXML_CHARCONV_FLOAT na prevod čísel s pohyblivou desatinnou čiarou pomocou ; na to sa vyžaduje C++17, čo robí prevody nezávislými od lokality a môže zvýšiť výkonnosť;
    • pridané funkcie xml_node::ensure_child a xml_node::ensure_attribute, ktoré vracajú podriadený element alebo atribút s uvedeným menom, pričom ho pridávajú, ak chýba;
    • zvýšená výkonnosť vyhľadávania uzlov a atribútov podľa mena;
    • načítanie dokumentu z prázdneho vyrovnávacej pamäte už neviedlo k alokácii pamäte.
  • Vylepšenia XPath
    • zvýšená výkonnosť dotazov, pri ktorých sa vykonáva výpočtovanie alebo porovnávanie hodnôt atribútov, napr. @attr > 5;
    • zvýšená výkonnosť dotazov, ktoré vyberajú uzly a atribúty podľa mena.
  • Opravy chýb
    • opravené pretekanie zásobníka pri odstraňovaní podstromov s veľmi hlbokou úrovňou vnorenia;
    • opravené celočíselné pretekania, ktoré mohli viesť k zlyhaniam pri načítaní veľmi veľkých (> 1GB) dokumentov na 32-bitových platformách v móde PUGIXML_WCHAR_MODE;
    • opravená chyba dereferencovania nulového ukazovateľa pri kopírovaní objektov xpath_variable_set so reťazcovými premennými bez priradených hodnôt.
  • Vylepšenia podpory CMake
    • vylepšená podpora voľby PUGIXML_BUILD_APPLE_FRAMEWORK;
    • pridaná voľba CMake PUGIXML_INSTALL_SOURCE na inštaláciu pugixml.cpp (užitočné pri práci v režime „iba hlavičky“).
  • Vylepšenia kompatibility
    • pridané súbory projektu a balíky NuGet pre Visual Studio 2026;
    • opravený problém s kompatibilitou s modulmi C++20 pri zahrnutí súboru pugixml.hpp do fragmentu globálneho modulu;
    • opravené varovania Clang a GCC -Wextra-semi-stmt, -Wsign-conversion a -Wuninitialized (GCC 16);
    • opravená chyba pri kompilácii s Embarcadero C++ XE5;
    • odstránených niekoľko falošných pozitív statickej analýzy.

Zdroj: linux.org.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster