تقنية

setSystemId في بايثون: هل تخزين العنوان يقرأ XML؟

تخزين معرف المصدر
قيمة مؤلفة دون قراءة. [1] [2]

نفحص عنوانًا مؤلفًا في كائن المصدر. [1] [2]

الخلاصة السريعة

لا؛ تخزين المعرف وحده لا يقرأ XML. [1] [2]

  • نبدأ بكائن InputSource دون تدفقات. [1] [2]
  • نخزن https://own.invalid/r.xml بواسطة setSystemId. [1] [2]
  • يعيد getSystemId النص نفسه. [1] [2]
  • يبقى تدفقا البايتات والمحارف None. [1] [2]
  • استرجاع العنوان لا يثبت وجود المورد أو صلاحية محتواه. [1] [2]
  • اختبرنا 3.12.14 دون استدعاء محلل أو اتصال. [1] [2]

المثال

from xml.sax.xmlreader import InputSource
s=InputSource()
s.setSystemId('https://own.invalid/r.xml')
print(s.getSystemId())
print(s.getByteStream())
print(s.getCharacterStream())

[1] [2]

المخرجات: العنوان، ثم None مرتين. [1] [2]

المعرف والقراءة

المعرف قيمة مخزنة؛ تغييرها لا ينشئ تدفقًا في مثالنا. [1] [2]

التدفقات غير المعينة
لا تدفق في المثال. [1] [2]

الدالة تحفظ النص، والمسترجع يعيده. ظهور عنوان يشبه رابطًا لا يعني وصولًا إلى المورد. [1] [2]

حدود المثال

لم نستدعِ parse أو نختبر موردًا حقيقيًا. لا يثبت نجاح التخزين صحة XML أو أمن تحليله لاحقًا. [1] [2]

المراجع

  1. Python: SAX reader interface
  2. CPython 3.12.14: xmlreader.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.