تحقق من صحة ملفات XBRL و iXBRL في Python

تحقق من صحة ملف المثيل XBRL في Python

يجب أن تتوافق مثيلات XBRL و XBRL Linkbases و XBRL مخططات التصنيف مع متطلبات بناء الجملة المفروضة فيمواصفات XBRL. للتحقق من صحة هذه ، توفر فئة XbrlInstance طريقة التحقق من الصحة ().

يوضح مقتطف التعليمات البرمجية Python التالي كيفية التحقق من صحة مستند مثيل XBRL.

تحقق من صحة الملف iXBRL في Python

المواصفات iXBRL يحدد العديد من قواعد التحقق من الصحة. للتحقق من صحة ملفات iXBRL ، توفر فئة InlineXbrlDocument أسلوب التحقق من الصحة ().

يوضح مقتطف التعليمات البرمجية Python التالي التحقق من صحة وثيقة نسخة iXBRL.

أكواد خطأ التحقق من الصحة

في التعداد ValidationErrorCode ، يتم تحديد أكواد خطأ التحقق من الصحة لكل قاعدة من قواعد التحقق من الصحة. فيما يلي تعريفات رمز الخطأ:

  • سياق الكلام_فترة_رقم_بداية_الوقت: نوع فترة السياق هي المدة ، ولكن ليس لها تاريخ بدء.
  • سياق الكلام_فترة_رقم_نهاية_الوقت: نوع فترة السياق هي المدة ، ولكن ليس لها تاريخ انتهاء.
  • سياق الكلام_فترة_بداية_بعد، بعدما_النهاية: نوع فترة السياق هي المدة ، لكن تاريخ الانتهاء قبل تاريخ البدء.
  • سياق الكلام_فوري_NO_TIME: نوع فترة السياق فوري ، ولكن ليس لها تاريخ فوري.
  • سياق الكلام_سيناريو_XBRL_NAMESPACE: لا يمكن أن يحتوي سيناريو السياق على XBRL عقدة مساحة الاسم.
  • سياق الكلام_سيناريو_XBRL_الاستبدال_المجموعة: لا يمكن أن يحتوي سيناريو السياق على عنصر في مجموعة الاستبدال للعناصر المحددة في مساحة الاسم XBRL.
  • سياق الكلام_سيناريو_فارغ: لا يمكن أن يكون سيناريو السياق فارغًا.
  • سياق الكلام_مقطع_XBRL_NAMESPACE: لا يمكن أن يحتوي مقطع السياق على XBRL عقدة مساحة الاسم.
  • سياق الكلام_مقطع_XBRL_SUBSTITUTIONGROUP: لا يمكن أن يحتوي مقطع السياق على عنصر في مجموعة الاستبدال للعناصر المحددة في مساحة الاسم XBRL.
  • سياق الكلام_مقطع_فارغ: لا يمكن ترك مقطع السياق فارغًا.
  • العنصر_رقم_السياق: يجب أن يكون للعنصر سياق.
  • العنصر_بيرويد_يكتب_نزاع_WITH_CONTEXT: يحتوي العنصر على نوع فترة يتعارض مع السياق.
  • العنصر_رقمي_NO_UNIT: العنصر رقمي ويجب أن يحتوي على وحدة.
  • نقدي_العنصر_رقم_غير مرتبطة_UNIT_MEASURE: العنصر هو نوع نقدي ويجب أن يحتوي على وحدة قياس واحدة.
  • نقدي_العنصر_NO_ISO4217: العنصر هو نوع نقدي ويجب أن يحتوي على مقياس وحدة نمط Iso 4217.
  • شارك_العنصر_رقم_غير مرتبطة_UNIT_MEASURE: العنصر هو نوع مشاركة ويجب أن يحتوي على وحدة قياس واحدة.
  • شارك_العنصر_رقم_شارك_UNIT_MEASURE: العنصر هو نوع المشاركة ويجب أن يحتوي على xbrli: مقياس وحدة الأسهم.
  • لا شيء_العنصر_مع_الاحكام_OR_DECIMALS: العنصر صفري ويجب ألا يحتوي على دقة أو كسور عشرية.
  • جزء_العنصر_مع_الاحكام_OR_DECIMALS: العنصر هو نوع كسر ويجب ألا يحتوي على دقة أو كسور عشرية.
  • رقمي_العنصر_مع_على حد سواء_الاحكام_و_الأرقام العشرية: العنصر هو نوع رقمي ويجب ألا يحتوي على كل من الدقة والأرقام العشرية.
  • رقمي_العنصر_بدون_الاحكام_OR_DECIMALS: العنصر هو نوع رقمي ويجب أن يحتوي إما على الدقة أو الكسور العشرية.
  • عدم_رقمي_العنصر_مع_الاحكام_أو_الأرقام العشرية: العنصر ليس نوعًا رقميًا ويجب ألا يحتوي على دقة أو كسور عشرية.
  • هامش_قوس_من_ليس_تم العثور عليها: تعذر العثور على قوس الحاشية السفلية من Loc.
  • هامش_قوس_إلى_ليس_تم العثور عليها: تعذر العثور على قوس الحاشية السفلية للحاشية السفلية.
  • تعريف_قوس_من_ليس_تم العثور عليها: تعذر العثور على قوس التعريف من Loc.
  • تعريف_قوس_إلى_ليس_تم العثور عليها: تعذر العثور على تعريف القوس إلى Loc.
  • جوهر_الاسم المستعار_تعريف_قوس_DIFFERENT_TYPE: جوهر تعريف قوس له أنواع مختلفة.
  • جوهر_الاسم المستعار_تعريف_قوس_مختلف_فترة_النوع: Essence-alias تعريف القوس له أنواع مختلفة من الفترة.
  • جوهر_الاسم المستعار_تعريف_قوس_DIFFERENT_BALANCE: Essence-alias تعريف القوس له أرصدة مختلفة.
  • عملية حسابية_قوس_من_ليس_تم العثور عليها: تعذر العثور على قوس الحساب من Loc.
  • عملية حسابية_قوس_إلى_ليس_تم العثور عليها: تعذر العثور على قوس الحساب إلى Loc.
  • ضع الكلمة المناسبة_قوس_من_ليس_تم العثور عليها: تعذر العثور على قوس Lable من Loc.
  • ضع الكلمة المناسبة_قوس_إلى_ليس_تم العثور عليها: تعذر العثور على قوس Lable إلى Loc.
  • عرض تقديمي_قوس_من_ليس_تم العثور عليها: تعذر العثور على قوس عرض تقديمي من Loc.
  • عرض تقديمي_قوس_إلى_ليس_تم العثور عليها: تعذر العثور على قوس عرض تقديمي لـ Loc.
  • المرجعي_قوس_من_ليس_تم العثور عليها: تعذر العثور على قوس مرجعي من Loc.
  • المرجعي_قوس_إلى_ليس_تم العثور عليها: تعذر العثور على قوس مرجعي لـ Loc.

مثال على رسالة خطأ التحقق القياسية

ما يجب القيام به: image_بديل_نص

أعلاه هو مثيل XBRL ، فهو يعرّف السياق “cd1” ، ونوع فترة السياق هذا هو المدة ، وتاريخ البدء هو 2002-03-31 ، وتاريخ الانتهاء هو 31-03-2001 ، لذلك يكون تاريخ الانتهاء قبل تاريخ البدء. في مواصفة XBRL ، الفصل 4.7.2 ، تحدد قاعدة التحقق من الصحة: “يجب أن يحدد تاريخ الانتهاء أو يشير إلى نقطة زمنية بعد النقطة المحددة أو الضمنية في وقت تاريخ البدء المقابل”. وفقًا لهذه القاعدة ، لا يعد مثيل XBRL هذا صالحًا.

تحقق من صحة XBRL وإخراج رسالة الخطأ المعيارية

يقوم الكود التالي بالتحقق من صحة مثيل XBRL وإخراج رسالة الخطأ القياسية.

الصورة التالية توضح الإخراج:

ما يجب القيام به: image_بديل_نص