验证C#中的XBRL和iXBRL文件
Contents
 [
      
        Hide
      ]
    验证 C# 中的 XBRL 实例文件
XBRL 实例、XBRL 链接库和 XBRL 分类法模式必须符合XBRL 规格书.为了验证这些,Xbrl实例类提供了证实()方法。
以下 C# 代码片段演示了如何验证 XBRL 实例文档。
验证 C# 中的 iXBRL 文件
这iXBRL 规格书定义了许多验证规则。为了验证 iXBRL 文件,内联Xbrl文档类提供了证实()方法。
以下 C# 代码片段演示了验证 iXBRL 实例文档。
验证错误代码
在枚举中验证错误代码,为每个验证规则定义了验证错误代码。 以下是错误码定义:
- ContextPeriodNoStartTime:上下文周期类型是持续时间,但没有开始日期。
 - ContextPeriodNoEndTime:上下文期间类型是持续时间,但没有结束日期。
 - ContextPeriodStartAfterEnd:上下文期间类型为持续时间,但结束日期早于开始日期。
 - ContextInstantNoTime:上下文期间类型是即时的,但没有即时日期。
 - ContextScenarioXbrlNamespace:上下文场景不能有 XBRL 命名空间节点。
 - ContextScenarioXbrlSubstitutionGroup:上下文场景在 XBRL 命名空间中定义的元素的替换组中不能有元素。
 - ContextScenarioEmpty:上下文场景不能为空。
 - ContextSegmentXbrlNamespace:上下文段不能有 XBRL 命名空间节点。
 - ContextSegmentXbrlSubstitutionGroup:上下文段在 XBRL 命名空间中定义的元素的替换组中不能有元素。
 - ContextSegmentEmpty:上下文段不能为空。
 - ItemNoContext:项目必须有上下文。
 - ItemPeroidTypeConflictWithContext:项目的句点类型与上下文冲突。
 - ItemNumericNoUnit:项目是数字,必须有一个单位。
 - MonetaryItemNoSingleUnitMeasure:Item 是一种货币类型,必须有一个单一的计量单位。
 - MonetaryItemNoISO4217:项目是一种货币类型,必须具有 Iso 4217 样式的单位度量。
 - ShareItemNoSingleUnitMeasure:Item 是一个共享类型,必须有一个单一的单位度量。
 - ShareItemNoShareUnitMeasure:项目是共享类型并且必须具有 xbrli:shares 单位度量。
 - NillItemWithPrecisionOrDecimals:项目为 nil,不得有精度或小数。
 - FractionItemWithPrecisionOrDecimals:项目是分数类型,不能有精度或小数。
 - NumericItemWithBothPrecisionAndDecimals:项目是数字类型,不能同时具有精度和小数。
 - NumericItemWithoutPrecisionOrDecimals:项目是数字类型,必须具有精度或小数。
 - NonNumericItemWithPrecisionOrDecimals:项目不是数字类型,不能有精度或小数。
 - FootnoteArcFromNotFound:无法从 Loc 找到脚注弧。
 - FootnoteArcToNotFound:无法找到到脚注的脚注弧。
 - DefinitionArcFromNotFound:无法从 Loc 找到定义弧。
 - DefinitionArcToNotFound:无法找到到 Loc 的定义弧。
 - EssenceAliasDefinitionArcDifferentType: Essence-alias Definition arc有不同的类型。
 - EssenceAliasDefinitionArcDifferentPeriodType: Essence-alias Definition arc 有不同的periodTypes。
 - EssenceAliasDefinitionArcDifferentBalance:本质别名定义弧有不同的平衡。
 - CalculationArcFromNotFound:无法从 Loc 找到计算弧。
 - CalculationArcToNotFound:无法找到 Loc 的计算弧。
 - LabelArcFromNotFound:无法从 Loc 找到 Lable 弧。
 - LabelArcToNotFound:无法找到到 Loc 的 Lable 弧。
 - PresentationArcFromNotFound:无法从 Loc 中找到 Presentation arc。
 - PresentationArcToNotFound:无法找到到 Loc 的 Presentation arc。
 - ReferenceArcFromNotFound:无法从 Loc 找到参考弧。
 - ReferenceArcToNotFound:无法找到 Loc 的参考弧。
 
标准验证错误消息示例

上面是一个XBRL实例,它定义了context“cd1”,这个context的周期类型是duration,它的开始日期是2002-03-31,结束日期是2001-03-31,所以结束日期早于开始日期。在 XBRL 规范的第 4.7.2 章中,它定义了验证规则:“endDate 必须指定或暗示一个时间点晚于相应 startDate 的指定或暗示时间点”。根据此规则,此 XBRL 实例无效。
验证 XBRL 并输出标准错误消息
以下代码验证 XBRL 实例并输出标准错误消息。
下图显示了输出:

验证 XBRL 并输出自定义错误消息
以下代码验证 XBRL 实例并输出自定义错误消息。
下图显示了输出:

验证 XBRL 并输出标准错误消息