pugixml 1.16









16. juuni, peaaegu poolteist aastat kestnud arendustööd lĂ”petas 1.16 vĂ€ljaanne pugixml — kiire platvormidevaheline teek XML-i analĂŒĂŒsimiseks ja töötlemiseks (MIT litsents).

Teek pakub DOM-sarnast liidest dokumentide sÔlmede navigeerimise ja muutmise vÔimalustega. Samuti toetab see XPath 1.0 ja tÀielikku Unicode'i toetust (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE) ja UCS-2) koos automaatse kodeeringute konverteerimisega.

Toetatakse kasutamist ilma C++ standardteegi ja eranditeta ning reĆŸiimi „ainult pĂ€ised”.

See on juubeli vĂ€ljaanne — sel aastal saab projekt 20 aastat vanaks! Rohkem teavet teegi ajaloost ja arengust saab lugeda aadressilt pugixml.org, GitHub vĂ”i esimesest versiooniuudisest.

  • KĂ€itumise muutused
    • elementide, millel on ĂŒks tĂŒhi laps PCDATA, vĂ€ljunditakse nĂŒĂŒd tĂŒhi siltidega (kui ei kasutata parameetrit format_no_empty_element_tags).
  • TĂ€iendused
    • lisatud valik PUGIXML_CHARCONV_FLOAT, et konverteerida ujukomaarve, kasutades ; selleks on vajalik C++17, mis muudab konverteerimised lokaalist sĂ”ltumatuks ja vĂ”ib parandada jĂ”udlust;
    • lisatud funktsioonid xml_node::ensure_child ja xml_node::ensure_attribute, mis tagastavad mÀÀratud nimega lapse vĂ”i atribuut, lisades selle, kui see puudus;
    • parandatud sĂ”lmede ja atribuutide nimepidi otsingu jĂ”udlust;
    • dokumentide laadimine tĂŒhisalvest ei pĂ”hjusta enam mĂ€lu eraldamist.
  • XPathi tĂ€iustused
    • parandatud pĂ€ringute jĂ”udlust, kus arvutatakse vĂ”i vĂ”rreldakse atribuutide vÀÀrtusi, nĂ€iteks @attr > 5;
    • parandatud pĂ€ringute jĂ”udlust, mis valivad sĂ”lmed ja atribuudid nime jĂ€rgi.
  • Veaparandused
    • parandatud virnaĂŒlevoolu probleem allasĂ”lmede kĂ€itumise eemaldamisel sĂŒgavale sisse VINDA-sse;
    • parandatud tĂ€isarvude ĂŒlevoolud, mis vĂ”isid pĂ”hjustada probleemide ilmnemist vĂ€ga suurte (> 1GB) dokumentide laadimisel 32-bitistes platvormides PUGIXML_WCHAR_MODE reĆŸiimis;
    • parandatud nullnĂ€itaja derivaliseerimise viga, kui kopeeriti xpath_variable_set objekte stringimuutujatega, millele ei olnud vÀÀrtusi mÀÀratud.
  • CMake'i toe tĂ€iustused
    • parandatud PUGIXML_BUILD_APPLE_FRAMEWORK valiku toetust;
    • lisatud CMake'i valik PUGIXML_INSTALL_SOURCE, et installida pugixml.cpp (kasulik töö reĆŸiimis „ainult pĂ€ised”).
  • Ühildatavuse tĂ€iustused
    • lisatud projektifailid ja NuGet'i paketid Visual Studio 2026 jaoks;
    • Parandatud C++20 moodulitega ĂŒhilduvuse probleem, kui pugixml.hpp fail on globaalsete moodulite fragmendis kaasatud;
    • Parandatud Clang ja GCC -Wextra-semi-stmt, -Wsign-conversion ja -Wuninitialized (GCC 16) hoiatused;
    • Parandatud kompileerimisviga Embarcadero C++ XE5 puhul;
    • Eemaldatud mitu vale positiivset tulemust staatilisest analĂŒĂŒsist.

Allikas: linux.org.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster