تحقق من صحة ملفات XBRL و iXBRL في C#
تحقق من صحة ملف المثيل XBRL في C#
يجب أن تتوافق مثيلات XBRL و XBRL Linkbases و XBRL مخططات التصنيف مع متطلبات بناء الجملة المفروضة فيمواصفات XBRL. للتحقق من صحة هذه ، فإنXbrlInstance فئة توفرالتحقق من صحة () طريقة.
يوضح مقتطف التعليمات البرمجية C# التالي كيفية التحقق من صحة مستند مثيل XBRL.
تحقق من صحة الملف iXBRL في C#
المواصفات iXBRLيحدد العديد من قواعد التحقق من الصحة. للتحقق من صحة ملفات iXBRL ، فإن ملفInlineXbrlDocument فئة توفر أالتحقق من صحة () طريقة.
يوضح مقتطف التعليمات البرمجية C# التالي التحقق من صحة وثيقة نسخة iXBRL.
أكواد خطأ التحقق من الصحة
في التعدادValidationErrorCode ، يتم تحديد رموز خطأ التحقق من الصحة لكل قاعدة من قواعد التحقق من الصحة. فيما يلي تعريفات رمز الخطأ:
- ContextPeriodNoStartTime: نوع فترة السياق هي المدة ، ولكن ليس لها تاريخ بدء.
- ContextPeriodNoEndTime: نوع فترة السياق هي المدة ، ولكن ليس لها تاريخ انتهاء.
- ContextPeriodStartAfterEnd: نوع فترة السياق هي المدة ، ولكن تاريخ الانتهاء يسبق تاريخ البدء.
- ContextInstantNoTime: نوع فترة السياق فوري ، ولكن ليس له تاريخ فوري.
- ContextScenarioXbrlNamespace: لا يمكن أن يحتوي سيناريو السياق على XBRL عقدة مساحة الاسم.
- ContextScenarioXbrlSubstitutionGroup: لا يمكن أن يحتوي سيناريو السياق على عنصر في مجموعة الاستبدال للعناصر المحددة في مساحة الاسم XBRL.
- ContextScenarioEmpty: لا يمكن أن يكون سيناريو السياق فارغًا.
- ContextSegmentXbrlNamespace: لا يمكن أن تحتوي قطعة السياق على XBRL عقدة مساحة الاسم.
- ContextSegmentXbrlSubstitutionGroup: لا يمكن أن يحتوي مقطع السياق على عنصر في مجموعة الاستبدال للعناصر المحددة في مساحة الاسم XBRL.
- ContextSegmentEmpty: لا يمكن أن يكون مقطع السياق فارغًا.
- ItemNoContext: يجب أن يكون للعنصر سياق.
- ItemPeroidTypeConflictWithContext: يحتوي العنصر على نوع فترة يتعارض مع السياق.
- ItemNumericNoUnit: العنصر رقمي ويجب أن يحتوي على وحدة.
- MonetaryItemNoSingleUnitMeasure: العنصر هو نوع نقدي ويجب أن يحتوي على وحدة قياس واحدة.
- MonetaryItemNoISO4217: العنصر هو نوع نقدي ويجب أن يحتوي على مقياس وحدة نمط Iso 4217.
- ShareItemNoSingleUnitMeasure: العنصر هو نوع مشاركة ويجب أن يحتوي على وحدة قياس واحدة.
- ShareItemNoShareUnitMeasure: العنصر هو نوع المشاركة ويجب أن يكون له xbrli: قياس وحدة الأسهم.
- NillItemWithPrecisionOrDecimals: العنصر لا شيء ويجب ألا يحتوي على دقة أو كسور عشرية.
- FractionItemWithPrecisionOrDecimals: العنصر هو نوع كسر ويجب ألا يحتوي على دقة أو كسور عشرية.
- NumericItemWithBothPrecisionAndDecimals: العنصر هو نوع رقمي ويجب ألا يحتوي على كل من الدقة والأرقام العشرية.
- NumericItemWithoutPrecisionOrDecimals: العنصر هو نوع رقمي ويجب أن يحتوي إما على الدقة أو الكسور العشرية.
- NonNumericItemWithPrecisionOrDecimals: العنصر ليس نوعًا رقميًا ويجب ألا يحتوي على دقة أو كسور عشرية.
- FootnoteArcFromNotFound: تعذر العثور على قوس الحاشية السفلية من Loc.
- FootnoteArcToNotFound: تعذر العثور على قوس حاشية سفلية إلى حاشية سفلية.
- DefinitionArcFromNotFound: تعذر العثور على قوس التعريف من Loc.
- DefinitionArcToNotFound: تعذر العثور على تعريف القوس لـ Loc.
- EssenceAliasDefinitionArcDifferentType: Essence-alias تعريف القوس له أنواع مختلفة.
- EssenceAliasDefinitionArcDifferentPeriodType: Essence-alias تعريف القوس له أنواع مختلفة من periodTypes.
- EssenceAliasDefinitionArcDifferentBalance: Essence-alias تعريف القوس له أرصدة مختلفة.
- CalculationArcFromNotFound: تعذر العثور على قوس الحساب من Loc.
- CalculationArcToNotFound: تعذر العثور على قوس الحساب إلى Loc.
- LabelArcFromNotFound: تعذر العثور على قوس Lable من Loc.
- LabelArcToNotFound: تعذر العثور على قوس Lable إلى Loc.
- PresentationArcFromNotFound: تعذر العثور على قوس عرض تقديمي من Loc.
- PresentationArcToNotFound: تعذر العثور على قوس عرض تقديمي إلى Loc.
- ReferenceArcFromNotFound: تعذر العثور على قوس مرجعي من Loc.
- ReferenceArcToNotFound: تعذر العثور على قوس مرجعي لـ Loc.
مثال على رسالة خطأ التحقق القياسية
أعلاه هو مثيل XBRL ، فهو يعرّف السياق “cd1” ، ونوع فترة السياق هذا هو المدة ، وتاريخ البدء هو 2002-03-31 ، وتاريخ الانتهاء هو 31-03-2001 ، لذلك يكون تاريخ الانتهاء قبل تاريخ البدء. في مواصفة XBRL ، الفصل 4.7.2 ، تحدد قاعدة التحقق من الصحة: “يجب أن يحدد تاريخ الانتهاء أو يشير إلى نقطة زمنية بعد النقطة المحددة أو الضمنية في وقت تاريخ البدء المقابل”. وفقًا لهذه القاعدة ، لا يعد مثيل XBRL هذا صالحًا.
تحقق من صحة XBRL وإخراج رسالة الخطأ المعيارية
يقوم الكود التالي بالتحقق من صحة مثيل XBRL وإخراج رسالة الخطأ القياسية.
الصورة التالية توضح الإخراج:
قم بالتحقق من صحة XBRL وإخراج رسالة الخطأ المخصصة
تقوم التعليمات البرمجية التالية بالتحقق من صحة مثيل XBRL وإخراج رسالة خطأ مخصصة.
الصورة التالية توضح الإخراج:
تحقق من صحة XBRL وإخراج رسالة الخطأ المعيارية