الدليل فارغ: كيف تكتشف السبب
الدليل الفارغ يكاد لا يكون أبدًا إعدادًا أخطأت فيه. هو عادةً الوصلة بين معرّفَين لا يتطابقان.
للدليل الفارغ 3 أسباب محتملة. افصل بينها قبل أن تغيّر أي شيء، لأن الإصلاح لكل منها مختلف و2 منها ليسا من الإعدادات.
الملف لم يصل. الملف وصل ولم يمكن قراءته. الملف وصل وقُرئ ولم يطابق شيء فيه قنواتك.
الثالث هو الأشيع بفارق كبير.
أولًا: هل تنظر في المكان الصحيح؟
على جهاز الألعاب، تحقق من هذا قبل أي شيء آخر. فالجدول يقع داخل التلفزيون المباشر، لا كوجهة مستقلة. اضبط على قناة، وافتح طبقة الجدول، وأزرار الكتف تنقلك يومًا في كل مرة.
مُدخل الدليل المستقل في تنقّل جهاز الألعاب عنصر نائب. وفتحه وعدم إيجاد شيء فيه لا يقول شيئًا عن بيانات دليلك. وهذا يوقع الناس في الحيرة بما يكفي ليكون أول ما يُستبعد.
السبب 1: الملف لم يصل
أجهزتك تنزّل ملفات الدليل مباشرة. خوادمنا لا تجلبها لك أبدًا، وهذه قاعدة مقصودة لا قيد، ولها نتيجة تشخيصية: الدليل الذي يعمل على جهاز ولا يعمل على آخر مشكلة شبكة محلية، لا مشكلة حساب.
اختبره بفتح عنوان الدليل في متصفح على الجهاز الذي يفشل. إن نُزِّل هناك فالتطبيق يستطيع الوصول إليه أيضًا. وإن لم يُنزَّل فالمشكلة خارج التطبيق.
تحقق من شكل الحاوية أيضًا. 5 منها مقبولة:
.xml .xmltv .gz .zip .xz
العنوان الذي يجيب بصفحة خطأ HTML بدلًا من ذلك يفشل على نحو يبدو كدليل فارغ.
السبب 2: الملف وصل ولم يمكن قراءته
أقل شيوعًا مما كان، ويستحق المعرفة لأن الفشل فيه مدوٍّ.
حزمة اختبار من 51 ملف دليل حقيقيًّا كشفت 3 أعطال متمايزة. لم أتوقع أن يُسقط بايت واحد دليل مزوّد بأكمله، وكل واحد من الـ 3 كان قادرًا على ذلك. علامة عطف (&) غير مهرَّبة في عنوان برنامج. ملف يعلن UTF-8 في ترويسته بينما يحمل بايتات Latin-1 في جسمه. محرف تحكم شارد في وصف.
الـ 3 كلها تُرمَّم الآن بدل أن تكون قاتلة، والترميمات تُعدّ، فالملف الذي احتاج ترقيعًا يقول ذلك بدل أن يعمل بصمت. وعلى إصدار حديث هذا السبب غير محتمل.
شكل واحد ما يزال يستحق التحقق: الدليل المضغوط المبتور أثناء النقل يُفكّ ضغطه جزئيًّا ويعطيك نصف دليل، وهذا يُقرأ على أنه «بعض القنوات لها بيانات وبعضها لا». ولذلك مقالته الخاصة: دليل يتوقف في منتصف الطريق.
السبب 3: لا شيء تطابق
هذا هو الجواب في أغلب الأحيان، وليس عطلًا في أي من الملفَين.
يُوصَل الدليل بقائمة قنواتك بالمعرّف. فقائمة تشغيلك تقول إن قناة ما هي tvg-id="bbc1.uk"، وعلى ملف دليلك أن يحتوي قناة معرّفها ذلك بالضبط. وإن كانت قائمة تشغيل مزوّدك تستخدم اصطلاحًا ودليلك يستخدم آخر، فالوصلة لا تنتج شيئًا، والملفان كلاهما مثاليان كل على حدة.
playlist #EXTINF:-1 tvg-id="bbc1.uk",BBC One HD
guide <channel id="BBCOne.uk"> -> no match, no schedule
guide <channel id="bbc1.uk"> -> match
الأعراض التي تشير إلى هنا: القنوات تعمل جيدًا، والدليل فارغ لكلها أو لمجموعة واحدة، وملف الدليل كبير بوضوح حين تنزّله. تلك التوليفة مشكلة مطابقة في كل مرة.
إصلاحان. إن كان مزوّدك ينشر XMLTV خاصًّا به فاستخدمه: معرّفاته تطابق قائمة تشغيله بالبناء. وإلا فاستخدم التجاوز لكل قناة، الذي يمكن الوصول إليه بوصفه تصحيح الدليل في ترويسة معاينة التلفزيون المباشر، ووجّه القناة يدويًّا إلى مُدخل الدليل الصحيح. وذلك التجاوز موجود لأن المطابقة الآلية لا تستطيع الفوز دائمًا. ويُخزَّن التصحيح مقابل القناة لا المصدر ويُزامَن مع حسابك، فإصلاح قناة مرة واحدة يصلحها على كل جهاز ولكل مزوّد يحملها.
وما دمت هناك
حالتا ضبط تنتجان دليلًا بطيئًا لا غائبًا.
يقبل الوضع العالمي حتى 15 عنوانًا. وكل دليل وطني كبير تضيفه ملف ينزّله جهازك ويحلّله قبل أن يكتمل الدليل، فعدة أدلة منها تصنع دليلًا يمتلئ تدريجيًّا. ووضع البلدان يحذّر فوق 5 بلدان للسبب نفسه.
والتشغيل الأول بمصدر كبير يستغرق وقتًا: فنحو 77,842 عنوانًا عبر نحو 444 فئة كثيرٌ للفهرسة. وفي الدقائق القليلة الأولى يبدو الدليل الذي ما يزال يمتلئ مطابقًا تمامًا لدليل فارغ.
لمعرفة ما يُفترض أن يحتويه الملف، ما هو XMLTV. وإن كان الدليل موجودًا لكن الأوقات خاطئة فتلك مشكلة مختلفة لها سبب محدد: لماذا أوقات الدليل منحرفة.
ما قياس هذه المادة21 ادعاءات، كل منها مزود بالأدلة التي تقف خلفه
| المطالبة | الأدلة | عد |
|---|---|---|
| ملفات الدليل تجلبها أجهزتك لا خوادمنا، فالدليل الذي يعمل على جهاز ولا يعمل على آخر مشكلة جلب محلية لا مشكلة حساب. | n = 1 | 31/08/2026 |
| يُشحن تجاوز يدوي لربط الدليل لكل قناة، يمكن الوصول إليه بوصفه تصحيح الدليل في ترويسة معاينة التلفزيون المباشر، للحالة التي لا تستطيع فيها المطابقة الآلية وصل قناة بجدولها. | n = 1 | 13/08/2026 |
| عُثر على ثلاثة أعطال في المحلِّل بحزمة اختبار من 51 ملفًا، كل منها قادر على إضاعة دليل مزوّد كامل بسبب بايت واحد: علامة عطف (&) غير مهرَّبة، وUTF-8 مُعلن فوق بايتات Latin-1، ومحرف تحكم شارد. | n = 51 | 16/08/2026 |
| يقبل الوضع العالمي 15 عنوان دليل على الأكثر، ويحذّر وضع البلدان فوق 5 بلدان مفعَّلة، فالدليل المفرط في الضبط حالة حقيقية يمكن الوصول إليها. | n = 1 | 31/08/2026 |
| تُقبل خمسة أشكال حاويات: .xml و.xmltv و.gz و.zip و.xz. وأي شيء آخر ليس ملف دليل مدعومًا. | n = 5 | 31/08/2026 |
| على جهاز الألعاب يظهر الجدول داخل التلفزيون المباشر لا كوجهة مستقلة، فمستخدم الجهاز الذي يتفقد مُدخل الدليل المستقل يجد عنصرًا نائبًا وقد يستنتج أن الدليل مفقود. | n = 1 | 31/08/2026 |
| تُحدَّد الحاوية من البايتات الأولى في الملف، فالعنوان الذي يعد اسمه بضغط ثم يقدّم XML عاديًا يعمل مع ذلك، والذي يقدّم صفحة خطأ يُرفض بوصفه ليس XML لا بوصفه فشل فك ضغط. | n = 4 | 01/09/2026 |
| يُبلَّغ عن ثمانية أنواع فشل متمايزة بدل خطأ واحد، وهذا ما يتيح نسب الدليل الفارغ إلى سببه: لا عنوان، أو ليس XML، أو شبكة، أو حد الحجم، أو حد فك الضغط، أو حد الأمان، أو ملغى، أو غير معروف. | n = 8 | 01/09/2026 |
| يبلّغ التحليل عن أعداد المحفوظ والمُسقَط إلى جانب الحجمَين المضغوط وغير المضغوط، فالدليل الذي وصل مبتورًا يبدو مختلفًا عن دليل وقعت مُدخَلاته خارج نافذة الاحتفاظ. | n = 7 | 01/09/2026 |
| الدليل الذي ينشر أبعد مما يحتفظ به العميل ليس فاشلًا: فالبرامج خارج 8 أيام إلى الأمام و1 إلى الخلف تُسقَط أثناء التحليل افتراضيًا. | n = 1 | 01/09/2026 |
| يتعامل المحلِّل مع الدليل كمُدخل غير موثوق، فيتجاهل تعريفات نوع المستند، ويستخدم محلِّل مراجع خارجية معدومًا (null)، ويحدّ توسيع الكيانات بصفر محرف. | n = 3 | 01/09/2026 |
| الدليل المضغوط محدود بـ 2 GiB من الخرج وبـ 400 مرة حجمه المضغوط، فقنبلة الضغط تتوقف مبكرًا بدل أن تملأ قرصًا. | n = 2 | 01/09/2026 |
| أحد عشر حدًّا بنيويًّا يقيّد التحليل، منها سقف عنوان قدره 1 KB موجود لأن البرنامج قد يحمل قانونيًّا عنوانًا واحدًا لكل لغة، وكانت أربعون ستُسلسَل وإلا في عنوان واحد. | n = 11 | 01/09/2026 |
| يُخزَّن ربط الدليل اليدوي على مستوى الملف الشخصي مقابل مفتاح قناة خالٍ من المصدر، فتصحيح قناة واحدة يغطي كل مزوّد يحملها. | n = 1 | 01/09/2026 |
| تصحيحات الدليل حالة حساب متزامنة لا إصلاح محلي، فإصلاح قناة على جهاز يصلحها في كل مكان. | n = 1 | 01/09/2026 |
| الطابع الزمني بلا منطقة زمنية مُعرَّف لا ملتبس: فالصيغة تقول إن UTC مفترض. والأدلة التي تحذفه تنشر عادةً الوقت المحلي على أي حال، وهذه مشكلة منفصلة عن الدليل الفارغ.xmltv.dtd, date field documentation: "You can also append a timezone to the end; if no explicit timezone is given, UTC is assumed." | المواصفات | لا ينطبق |
| هناك وضعان للدليل بالضبط، عالمي ولكل بلد، مسمَّيان كثوابت لا كنص حر، فلا يمكن لضبط خاطئ أن ينتج حالة ثالثة. | n = 2 | 01/09/2026 |
| على جهاز الألعاب تعرض وجهة الدليل المستقلة عنصرًا نائبًا، فعدم إيجاد شيء هناك ليس دليلًا على بيانات دليلك. | n = 1 | 01/09/2026 |
| تحت ضغط الذاكرة على جهاز الألعاب تكون ذاكرة الدليل المؤقتة من أول ما يُقلَّم، وهذا قد يجعل دليلًا ممتلئًا يبدو أنحف بعد جلسة طويلة. | n = 1 | 01/09/2026 |
| تُكتب الصفوف في دفعات من 512 قناة و2,000 برنامج، وهذا من أجل الإنتاجية لا الأمان: فالدليل الوطني المكتوب صفًّا صفًّا دليل يبدو معلَّقًا. | n = 2 | 01/09/2026 |
| حمل مصدر إنتاجي في عيّنتنا نحو 77,842 عنوانًا عبر نحو 444 فئة، فالدليل الذي ما يزال يمتلئ حالة طبيعية عند التشغيل الأول. | n = 1 | 31/08/2026 |