pugixml 1.16









Június 16-án, másfél év fejlesztés után, megjelent a 1.16-os verzió. pugixml — egy gyors, platformfüggetlen könyvtár XML parselésére és feldolgozására (MIT licenc).

A könyvtár DOM-szerű interfészt biztosít a dokumentumcsomópontok átkutatásához és módosításához. Támogatja az XPath 1.0-t és a teljes Unicode támogatást (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE) és UCS-2), automatikus kódoláskonverzióval.

Lehetséges a használata anélkül, hogy a standard könyvtárra és C++ kivételekre lenne szükség, valamint "csak fejléces fájlok" módban.

Ez a jubileumi kiadás — idén a projekt 20 éves lesz! A könyvtár létrehozásának és fejlődésének történetét a következő linken olvashatja el: pugixml.org, GitHub vagy az első kiadású hírben.

  • A viselkedés változásai
    • azok az elemek, amelyek egy üres gyermek PCDATA elemet tartalmaznak, most üres tagekkel jelennek meg (ha nem használják a format_no_empty_element_tags paramétert).
  • Fejlesztések
    • hozzáadva a PUGIXML_CHARCONV_FLOAT opció, aminek segítségével lebegőpontos számokat alakíthat át a <charconv> segítségével; ehhez C++17 szükséges, amely a konverziókat függetlenné teszi a helyi beállításoktól és javíthatja a teljesítményt;
    • hozzáadva az xml_node::ensure_child és xml_node::ensure_attribute funkciók, amelyek visszaadják a megadott nevű gyermek elemet vagy attribútumot, és hozzáadják, ha az nem létezett;
    • javítva a csomópontok és attribútumok nevére történő keresés teljesítménye;
    • üres pufferről történő dokumentumbetöltés már nem vezet memóriaallokáláshoz.
  • XPath fejlesztések
    • javítva a lekérdezések teljesítménye, ahol az attribútumok értékeinek számítása vagy összehasonlítása történik, például @attr > 5;
    • javítva a csomópontok és attribútumok név szerinti kiválasztásának teljesítménye.
  • Hibajavítások
    • javítva a verem túlcsordulását, amely nagyon mélyen beágyazott részfák törlésekor léphetett fel;
    • javítva a kettős számítási túlcsordulások, amelyek nagyon nagy (> 1GB) dokumentumok betöltésekor a 32 bites platformokon hibákat okozhattak PUGIXML_WCHAR_MODE módban;
    • javítva a nullpointer dereferálásának hibája, amely xpath_variable_set objektumok másolásakor lépett fel nem inicializált értékű szöveges változókkal.
  • CMake támogatás fejlesztések
    • javítva a PUGIXML_BUILD_APPLE_FRAMEWORK opció támogatása;
    • hozzáadva a CMake PUGIXML_INSTALL_SOURCE opció a pugixml.cpp telepítéséhez (hasznos "csak fejlécek" módban).
  • Kompatibilitási fejlesztések
    • hozzáadva projektfájlok és NuGet csomagok a Visual Studio 2026-hoz;
    • Javították a C++20 modulokkal való kompatibilitási problémát a pugixml.hpp fájl globális modul fragmentumba való beillesztésekor;
    • Javították a Clang és GCC -Wextra-semi-stmt, -Wsign-conversion és -Wuninitialized (GCC 16) figyelmeztetéseit;
    • Javították a fordítási hibát az Embarcadero C++ XE5-tel;
    • Több hamis pozitív esetet észleltek a statikus elemzés során.

Forrás: linux.org.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster