Проверить файлы XBRL и iXBRL в C#

Проверить файл экземпляра XBRL в C#

XBRL Экземпляры, XBRL Базы ссылок и XBRL Схемы таксономии ДОЛЖНЫ соответствовать требованиям синтаксиса, установленным вXBRL спецификация. Чтобы подтвердить их,XbrlInstance класс обеспечиваетПодтвердить() метод.

В следующем фрагменте кода C# показано, как проверить экземпляр документа XBRL.

Проверить файл iXBRL в C#

iXBRL спецификацияопределяет множество правил проверки. Для проверки файлов iXBRLInlineXbrlDocument класс предоставляетПодтвердить() метод.

Следующий фрагмент кода C# демонстрирует проверку экземпляра документа iXBRL.

Коды ошибок проверки

В перечисленииВалидатионерркоде , коды ошибок проверки определяются для каждого правила проверки. Ниже приведены определения кодов ошибок:

  • ContextPeriodNoStartTime: Тип периода контекста — продолжительность, но не имеет даты начала.
  • ContextPeriodNoEndTime: Тип периода контекста — продолжительность, но не имеет даты окончания.
  • ContextPeriodStartAfterEnd: Тип периода контекста — продолжительность, но дата окончания предшествует дате начала.
  • ContextInstantNoTime: тип периода контекста является мгновенным, но не имеет мгновенной даты.
  • ContextScenarioXbrlNamespace: сценарий контекста не может иметь узел пространства имен XBRL.
  • ContextScenarioXbrlSubstitutionGroup: контекстный сценарий не может иметь элемент в группе подстановки для элементов, определенных в пространстве имен XBRL.
  • ContextScenarioEmpty: сценарий контекста не может быть пустым.
  • ContextSegmentXbrlNamespace: Сегмент контекста не может иметь узел пространства имен XBRL.
  • ContextSegmentXbrlSubstitutionGroup: сегмент контекста не может иметь элемент в группе замены для элементов, определенных в пространстве имен XBRL.
  • ContextSegmentEmpty: Сегмент контекста не может быть пустым.
  • ItemNoContext: элемент должен иметь контекст.
  • ItemPeroidTypeConflictWithContext: у элемента есть конфликт типа периода с контекстом.
  • ItemNumericNoUnit: Элемент является числовым и должен иметь единицу измерения.
  • MonetaryItemNoSingleUnitMeasure: Элемент является денежным типом и должен иметь единую единицу измерения.
  • MonetaryItemNoISO4217: Элемент является денежным типом и должен иметь единицу измерения в стиле Iso 4217.
  • ShareItemNoSingleUnitMeasure: элемент относится к типу общего доступа и должен иметь единую меру.
  • ShareItemNoShareUnitMeasure: Элемент относится к типу акций и должен иметь единицу измерения xbrli:shares.
  • NillItemWithPrecisionOrDecimals: элемент равен нулю и не должен иметь ни точности, ни десятичных знаков.
  • FractionItemWithPrecisionOrDecimals: Элемент представляет собой дробный тип и не должен иметь ни точности, ни десятичных знаков.
  • NumericItemWithBothPrecisionAndDecimals: элемент является числовым типом и не должен иметь как точность, так и десятичные дроби.
  • NumericItemWithoutPrecisionOrDecimals: элемент является числовым типом и должен иметь точность или десятичные дроби.
  • NonNumericItemWithPrecisionOrDecimals: элемент не является числовым типом и не должен иметь ни точности, ни десятичных знаков.
  • FootnoteArcFromNotFound: невозможно найти дугу сноски из лок.
  • FootnoteArcToNotFound: невозможно найти дугу сноски в сноске.
  • DefinitionArcFromNotFound: Не удалось найти дугу определения из лок.
  • DefinitionArcToNotFound: Не удалось найти дугу определения для местоположения.
  • EssenceAliasDefinitionArcDifferentType: дуга определения EssenceAliasDefinitionArcDifferentType имеет разные типы.
  • EssenceAliasDefinitionArcDifferentPeriodType: Дуга определения псевдонима сущности имеет разные типы periodTypes.
  • EssenceAliasDefinitionArcDifferentBalance: дуга определения EssenceAliasDefinition имеет разные балансы.
  • CalculationArcFromNotFound: невозможно найти расчетную дугу из Loc.
  • CalculationArcToNotFound: Не удалось найти расчетную дугу для Loc.
  • LabelArcFromNotFound: Не удалось найти дугу Lable от Loc.
  • LabelArcToNotFound: Не удалось найти дугу Lable, ведущую к Loc.
  • PresentationArcFromNotFound: невозможно найти дугу презентации из лок.
  • PresentationArcToNotFound: Не удалось найти дугу презентации для местоположения.
  • ReferenceArcFromNotFound: Не удалось найти опорную дугу из Loc.
  • ReferenceArcToNotFound: Не удалось найти опорную дугу для Loc.

Пример стандартного сообщения об ошибке проверки

дело:изображение_альтернативный_текст

Выше приведен экземпляр XBRL, он определяет контекст «cd1», этот тип периода контекста — продолжительность, его начальная дата — 31 марта 2002 г., дата окончания — 31 марта 2001 г., поэтому дата окончания предшествует дате начала. В спецификации XBRL, глава 4.7.2, определяется правило проверки: «endDate ДОЛЖЕН указывать или подразумевать момент времени, который является более поздним, чем указанный или подразумеваемый момент времени соответствующего startDate». Согласно этому правилу, этот экземпляр XBRL не является допустимым.

Подтвердите XBRL и выведите стандартное сообщение об ошибке

Следующий код проверяет экземпляр XBRL и выводит стандартное сообщение об ошибке.

На следующем изображении показан результат:

дело:изображение_альтернативный_текст

Подтвердите XBRL и выведите индивидуальное сообщение об ошибке.

Следующий код проверяет экземпляр XBRL и выводит настроенное сообщение об ошибке.

На следующем изображении показан результат:

дело:изображение_альтернативный_текст

Подтвердите XBRL и выведите стандартное сообщение об ошибке