Expat C API¶
ماژول xml.parsers.expat توابع منتخب Expat را از طریق کپسول expat_CAPI خود در معرض نمایش میگذارد. این امر به ماژولهای توسعهای اجازه میدهد تا از همان کتابخانهی Expat پایتون استفاده کنند. این رابط در pyexpat.h اعلان میشود که باید پس از سرآیند expat.h مربوط به Expat گنجانده شود.
-
PyExpat_CAPSULE_NAME¶
نام کپسول حاوی Expat C API: "pyexpat.expat_CAPI". این مقدار را به PyCapsule_Import() ارسال کنید تا اشارهگری به یک PyExpat_CAPI به دست آورید.
-
PyExpat_CAPI_MAGIC¶
رشتهای که چیدمان PyExpat_CAPI را مشخص میکند. پیش از استفاده از اشارهگرهای تابع در ساختار، بررسی کنید که عضو magic آن با استفاده از strcmp() با این رشته برابر باشد و عضو size آن حداقل sizeof(struct PyExpat_CAPI) باشد.
-
struct PyExpat_CAPI¶
جدول اشارهگرهای تابع صادرشده توسط xml.parsers.expat. کپسول مالک این ساختار است: آن را به عنوان فقطخواندنی در نظر بگیرید و آزاد نکنید. در حالی که از جدول استفاده میکنید، یک ارجاع قوی به کپسول نگه دارید.
پیش از استفاده از اشارهگرهای تابع، فیلدهای سازگاری را همانطور که تحت PyExpat_CAPI_MAGIC توصیف شده است بررسی کنید.
-
char *magic¶
شناسهی رابط، روی PyExpat_CAPI_MAGIC تنظیم شده است.
-
int size¶
اندازهی ساختار بر حسب بایت، که توسط ماژول xml.parsers.expat که کپسول را ایجاد کرده است روی sizeof(struct PyExpat_CAPI) تنظیم شده است.
-
int MAJOR_VERSION¶
-
int MINOR_VERSION¶
-
int MICRO_VERSION¶
شمارههای نسخهی اصلی، فرعی و ریز کتابخانهی Expat که توسط xml.parsers.expat استفاده میشود.
-
void (*SetUnknownEncodingHandler)(XML_Parser parser, XML_UnknownEncodingHandler handler, void *encodingHandlerData)¶
اشارهگر به XML_SetUnknownEncodingHandler. هندلر ممکن است هنگام خطا یک استثنای پایتون تنظیم کند. فراخواننده باید پس از تجزیه، وجود استثنای پایتون را بررسی کند.
-
int (*DefaultUnknownEncodingHandler)(void *encodingHandlerData, const XML_Char *name, XML_Encoding *info)¶
هندلر کدگذاری نامشخص پایتون برای Expat، که با XML_SetUnknownEncodingHandler استفاده میشود. این هندلر از رجیستری کُدک پایتون برای پر کردن info استفاده میکند. آرگومان encodingHandlerData استفاده نمیشود. فراخوانی این هندلر نیازمند یک وضعیت نخ متصل است.
اشارهگرها به توابع متناظر Expat، یا NULL اگر در نسخهی Expat مورد استفادهی xml.parsers.expat موجود نباشند، در زیر فهرست شدهاند.
نام اعضا پیشوند XML_ را حذف میکند؛ برای مثال، SetHashSalt تابع XML_SetHashSalt متعلق به Expat را در معرض نمایش میگذارد. برای اطلاع از رفتار آنها و حداقل نسخهی Expat که در آن ظاهر میشوند، به مرجع API اکسپت مراجعه کنید.
-
const XML_LChar *(*ErrorString)(enum XML_Error code)¶
-
enum XML_Error (*GetErrorCode)(XML_Parser parser)¶
-
XML_Size (*GetErrorColumnNumber)(XML_Parser parser)¶
-
XML_Size (*GetErrorLineNumber)(XML_Parser parser)¶
-
enum XML_Status (*Parse)(XML_Parser parser, const char *s, int len, int isFinal)¶
-
XML_Parser (*ParserCreate_MM)(const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite, const XML_Char *namespaceSeparator)¶
-
void (*ParserFree)(XML_Parser parser)¶
-
void (*SetCharacterDataHandler)(XML_Parser parser, XML_CharacterDataHandler handler)¶
-
void (*SetCommentHandler)(XML_Parser parser, XML_CommentHandler handler)¶
-
void (*SetDefaultHandlerExpand)(XML_Parser parser, XML_DefaultHandler handler)¶
-
void (*SetElementHandler)(XML_Parser parser, XML_StartElementHandler start, XML_EndElementHandler end)¶
-
void (*SetNamespaceDeclHandler)(XML_Parser parser, XML_StartNamespaceDeclHandler start, XML_EndNamespaceDeclHandler end)¶
-
void (*SetProcessingInstructionHandler)(XML_Parser parser, XML_ProcessingInstructionHandler handler)¶
-
void (*SetUserData)(XML_Parser parser, void *userData)¶
-
void (*SetStartDoctypeDeclHandler)(XML_Parser parser, XML_StartDoctypeDeclHandler start)¶
-
enum XML_Status (*SetEncoding)(XML_Parser parser, const XML_Char *encoding)¶
-
int (*SetHashSalt)(XML_Parser parser, unsigned long hash_salt)¶
-
XML_Bool (*SetReparseDeferralEnabled)(XML_Parser parser, XML_Bool enabled)¶
-
XML_Bool (*SetAllocTrackerActivationThreshold)(XML_Parser parser, unsigned long long activationThresholdBytes)¶
-
XML_Bool (*SetAllocTrackerMaximumAmplification)(XML_Parser parser, float maxAmplificationFactor)¶
-
XML_Bool (*SetBillionLaughsAttackProtectionActivationThreshold)(XML_Parser parser, unsigned long long activationThresholdBytes)¶
-
XML_Bool (*SetBillionLaughsAttackProtectionMaximumAmplification)(XML_Parser parser, float maxAmplificationFactor)¶
-
XML_Bool (*SetHashSalt16Bytes)(XML_Parser parser, const uint8_t entropy[16])¶
به مرجع API اکسپت مراجعه کنید.
©
حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرمافزار پایتون نسخه ۲ منتشر شده است.
مثالها، دستورالعملها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شدهاند.
برای اطلاعات بیشتر به
تاریخچه و مجوز مراجعه کنید.
بنیاد نرمافزار پایتون یک شرکت غیرانتفاعی است.
لطفاً کمک مالی کنید.
آخرین بهروزرسانی در نوامبر 12, 2026 (06:19 UTC).
آیا
اشکالی یافتید؟
ساخته شده با
Sphinx 9.1.0.