pugixml 1.16









16 qershor, pas gati njĂ« vit e gjysmĂ« zhvillimi, u lançua versioni 1.16 pugixml — njĂ« bibliotekĂ« shumĂ«platrore e shpejtĂ« pĂ«r analizĂ«n dhe pĂ«rpunimin e XML (licenca MIT).

Biblioteka ofron një ndërfaqe të ngjashme me DOM me mundësi për të shfletuar dhe ndryshuar nodet e dokumentit. Gjithashtu mbështetet XPath 1.0 dhe një mbështetje e plotë për Unicode (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE) dhe UCS-2), me konvertim automatik të kodimeve.

Mbështet përdorimin pa bibliotekën standarde dhe përjashtimet C++, si dhe modalitetin "vetëm skedarët e titullit".

Ky është një version jubile - këtë vit projekti mbush 20 vjet! Më shumë rreth historisë së krijimit dhe zhvillimit të bibliotekës mund të lexoni në pugixml.org, GitHub ose në redaktimin e parë të lajmeve.

  • Ndryshimet nĂ« sjellje
    • elementet me njĂ« fĂ«mijĂ« tĂ« vetĂ«m PCDATA tani paraqiten me etiketa bosh (nĂ«se nuk pĂ«rdoret parametri format_no_empty_element_tags).
  • PĂ«rmirĂ«simet
    • shtohet mundĂ«sia PUGIXML_CHARCONV_FLOAT pĂ«r konvertimin e numrave me pikĂ« tĂ« lĂ«vizshme, duke pĂ«rdorur ; pĂ«r kĂ«tĂ« kĂ«rkohet C++17, gjĂ« qĂ« e bĂ«n konvertimin tĂ« pavarur nga lokali dhe mund tĂ« pĂ«rmirĂ«sojĂ« performancĂ«n;
    • shtohen funksionet xml_node::ensure_child dhe xml_node::ensure_attribute, tĂ« cilat kthejnĂ« njĂ« fĂ«mijĂ« ose atribut me emrin e caktuar, duke e shtuar atĂ« nĂ«se mungon;
    • pĂ«rmirĂ«sohet performanca e kĂ«rkimeve tĂ« nodĂ«ve dhe atributeve sipas emrit;
    • ngarkimi i dokumentit nga njĂ« bufer i zbrazĂ«t nuk shkakton mĂ« alokim tĂ« memories.
  • PĂ«rmirĂ«sime nĂ« XPath
    • pĂ«rmirĂ«sohet performanca e pyetjeve qĂ« llogarisin ose krahasojnĂ« vlera atributesh, pĂ«r shembull @attr > 5;
    • pĂ«rmirĂ«sohet performanca e pyetjeve qĂ« zgjedhin nodĂ« dhe atribute sipas emrit.
  • Korrektime gabimesh
    • rregullohet mbushja e stack-ut kur fshihet nĂ«nndjesh tĂ« niveli tĂ« thellĂ«;
    • rregullohen mbushjet e plota qĂ« mund tĂ« çojnĂ« nĂ« dĂ«shtime kur ngarkohet dokumente shumĂ« tĂ« mĂ«dha (> 1GB) nĂ« platforma 32-bit nĂ« modalitetin PUGIXML_WCHAR_MODE;
    • rregullohet gabimi i dereferencimit tĂ« treguesit tĂ« nullit gjatĂ« kopjimit tĂ« objekteve xpath_variable_set me variabĂ« string me vlera tĂ« papĂ«rcaktuara.
  • PĂ«rmirĂ«sime nĂ« mbĂ«shtetje pĂ«r CMake
    • pĂ«rmirĂ«sohet mbĂ«shtetje pĂ«r opsionin PUGIXML_BUILD_APPLE_FRAMEWORK;
    • shtohet opsioni CMake PUGIXML_INSTALL_SOURCE pĂ«r instalimin e pugixml.cpp (i dobishĂ«m kur punoni nĂ« modalitetin "vetĂ«m skedarĂ«t e titullit").
  • PĂ«rmirĂ«sime nĂ« pĂ«rputhshmĂ«ri
    • shtohen skedarĂ«t e projektit dhe paketat NuGet pĂ«r Visual Studio 2026;
    • rregullohet problemi i pĂ«rputhshmĂ«risĂ« me modulat C++20 kur pĂ«rfshihet skedari pugixml.hpp nĂ« njĂ« fragment tĂ« modulit global;
    • rregullohen paralajmĂ«rimet Clang dhe GCC -Wextra-semi-stmt, -Wsign-conversion dhe -Wuninitialized (GCC 16);
    • rregullohet gabimi i kompilimit me Embarcadero C++ XE5;
    • eliminohen disa alarmet e rreme tĂ« analizĂ«s statike.

Burimi: linux.org.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster