pugixml 1.16









ב-16 ביוני, לאחר כמעט שנה וחצי של פיתוח, שוחררה גרסה 1.16. pugixml — ספרייה חוצת פלטפורמות מהירה לניתוח ועיבוד XML (רישיון MIT).

הספרייה מספקת ממשק דמוי DOM עם יכולת לעבור ולשנות צמתי מסמכים. היא תומכת גם ב-XPath 1.0 ובתמיכה מלאה ב-Unicode (UTF-8, UTF-16 (BE/LE), UTF-32 (BE/LE) ו-UCS-2), עם המרת קידוד אוטומטית.

השימוש הנתמך כולל את ספריית ++C הסטנדרטית והחריגים, ואת מצב "קבצי כותרת בלבד".

זוהי מהדורה משמעותית - הפרויקט חוגג 20 שנה השנה! ניתן לקרוא עוד על ההיסטוריה וההתפתחות של הספרייה ב pugixml.org, GitHub או במהדורה הראשונה של החדשות.

  • שינויים התנהגותיים
    • אלמנטים עם אלמנט צאצא ריק אחד של PCDATA מופקים כעת עם תגיות ריקות (אלא אם כן נעשה שימוש בפרמטר format_no_empty_element_tags).
  • שיפורים
    • נוספה האפשרות PUGIXML_CHARCONV_FLOAT להמרת מספרי נקודה צפה באמצעות ; זה דורש C++17, מה שהופך את ההמרות ללא תלויות מקומיות ויכול לשפר את הביצועים;
    • נוספו פונקציות xml_node::ensure_child ו-xml_node::ensure_attribute, אשר מחזירות אלמנט או תכונה של צאצא עם השם שצוין, ומוסיפות אותו אם הוא היה חסר;
    • ביצועים משופרים של חיפוש צמתים ומאפיינים לפי שם;
    • טעינת מסמך ממאגר ריק אינה גורמת עוד להקצאת זיכרון.
  • שיפורי XPath
    • ביצועים משופרים של שאילתות המחשבות או משוות ערכי מאפיינים, כגון @attr > 5;
    • ביצועים משופרים של שאילתות שבוחרות צמתים ותכונות לפי שם.
  • תיקוני באגים
    • תוקנה גלישת מחסנית בעת מחיקת עצי משנה עם רמות קינון עמוקות מאוד;
    • תוקנו גלישות של מספרים שלמים שעלולות לגרום לקריסות בעת טעינת מסמכים גדולים מאוד (מעל 1GB) בפלטפורמות 32 סיביות ב-PUGIXML_WCHAR_MODE;
    • תוקנה שגיאת ביטול הפניה של מצביע null בעת העתקת אובייקטים של xpath_variable_set עם משתני מחרוזת עם ערכים לא מוקצים.
  • שיפורי תמיכה של CMake
    • תמיכה משופרת באפשרות PUGIXML_BUILD_APPLE_FRAMEWORK;
    • נוספה אפשרות CMake PUGIXML_INSTALL_SOURCE להתקנת pugixml.cpp (שימושית בעת עבודה במצב "כותרות בלבד").
  • שיפורי תאימות
    • נוספו קבצי פרויקט וחבילות NuGet עבור Visual Studio 2026;
    • תוקנה בעיית תאימות עם מודולי C++20 בעת הכללת הקובץ pugixml.hpp בפרגמנט מודול גלובלי;
    • תוקנו אזהרות Clang ו-GCC -Wextra-semi-stmt, -Wsign-conversion ו- -Wuninitialized (GCC 16);
    • תוקנה שגיאת קומפילציה עם Embarcadero C++ XE5;
    • תוקנו מספר תוצאות חיוביות שגויות של ניתוח סטטי.

מקור: linux.org.ru

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster