Validera filerna XBRL och iXBRL i C#

Validera instansfilen XBRL i C#

XBRL Instances, XBRL Linkbases och XBRL Taxonomy Schemas MÅSTE uppfylla syntaxkraven iXBRL specifikation. För att validera dessa,XbrlInstance klass gerBekräfta() metod.

Följande C#-kodavsnitt visar hur man validerar ett XBRL-instansdokument.

Validera filen iXBRL i C#

DeiXBRL specifikationdefinierar många valideringsregler. För att validera iXBRL-filer,InlineXbrlDocument klass ger enBekräfta() metod.

Följande C#-kodavsnitt visar validering av ett iXBRL-instansdokument.

Validering felkoder

I uppräkningenValidationErrorCode , valideringsfelkoder definieras för varje valideringsregel. Följande är felkodsdefinitionerna:

  • ContextPeriodNoStartTime: Typ av kontextperiod är varaktighet, men har inget startdatum.
  • ContextPeriodNoEndTime: Typ av kontextperiod är varaktighet, men har inget slutdatum.
  • ContextPeriodStartAfterEnd: Typ av kontextperiod är varaktighet, men slutdatumet är före startdatumet.
  • ContextInstantNoTime: Kontextperiodtypen är omedelbar, men har inget direktdatum.
  • ContextScenarioXbrlNamespace: Kontextscenariot kan inte ha XBRL namnområdesnod.
  • ContextScenarioXbrlSubstitutionGroup: Kontextscenariot kan inte ha ett element i ersättningsgruppen för element definierade i namnområdet XBRL.
  • ContextScenarioEmpty: Kontextscenariot kan inte vara tomt.
  • ContextSegmentXbrlNamespace: Kontextsegment kan inte ha XBRL namnområdesnod.
  • ContextSegmentXbrlSubstitutionGroup: Kontextsegmentet kan inte ha element i substitutionsgruppen för element definierade i namnrymden XBRL.
  • ContextSegmentEmpty: Kontextsegmentet får inte vara tomt.
  • ItemNoContext: Objekt måste ha ett sammanhang.
  • ItemPeroidTypeConflictWithContext: Objektet har periodtypkonflikt med sammanhanget.
  • ItemNumericNoUnit: Objektet är numeriskt och måste ha en enhet.
  • MonetaryItemNoSingleUnitMeasure: Objektet är en monetär typ och måste ha ett enda mått.
  • MonetaryItemNoISO4217: Artikeln är en monetär typ och måste ha en Iso 4217 stil enhetsmått.
  • ShareItemNoSingleUnitMeasure: Objektet är en delningstyp och måste ha ett enda mått.
  • ShareItemNoShareUnitMeasure: Objektet är delningstyp och måste ha ett xbrli:shares enhetsmått.
  • NillItemWithPrecisionOrDecimals: Artikeln är noll och får inte ha vare sig precision eller decimaler.
  • FractionItemWithPrecisionOrDecimals: Objektet är en bråktyp och får inte ha vare sig precision eller decimaler.
  • NumericItemWithBothPrecisionAndDecimals: Objektet är en numerisk typ och får inte ha både precision och decimaler.
  • NumericItemWithoutPrecisionOrDecimals: Objektet är en numerisk typ och måste ha antingen precision eller decimaler.
  • NonNumericItemWithPrecisionOrDecimals: Objektet är inte en numerisk typ och får inte ha vare sig precision eller decimaler.
  • FootnoteArcFromNotFound: Det gick inte att hitta fotnotsbågen från Loc.
  • FootnoteArcToNotFound: Det gick inte att hitta fotnotsbåge till fotnot.
  • DefinitionArcFromNotFound: Det gick inte att hitta definitionsbågen från Loc.
  • DefinitionArcToNotFound: Det gick inte att hitta definitionsbågen till Loc.
  • EssenceAliasDefinitionArcDifferentType: Essence-alias Definition arc har olika typer.
  • EssenceAliasDefinitionArcDifferentPeriodType: Essence-alias Definition arc har olika periodTypes.
  • EssenceAliasDefinitionArcDifferentBalance: Essence-alias Definition arc har olika balanser.
  • CalculationArcFromNotFound: Kan inte hitta beräkningsbåge från Loc.
  • CalculationArcToNotFound: Det gick inte att hitta beräkningsbågen till Loc.
  • LabelArcFromNotFound: Kan inte hitta etikettbågen från Loc.
  • LabelArcToNotFound: Kan inte hitta etikettbågen till Loc.
  • PresentationArcFromNotFound: Det gick inte att hitta en presentationsbåge från Loc.
  • PresentationArcToNotFound: Det gick inte att hitta en presentationsbåge till Loc.
  • ReferenceArcFromNotFound: Det gick inte att hitta en referensbåge från Loc.
  • ReferenceArcToNotFound: Det gick inte att hitta en referensbåge till Loc.

Exempel på standard valideringsfelmeddelande

todo:image_alt_text

Ovan är en XBRL-instans, den definierar sammanhanget “cd1”, denna kontextperiodtyp är varaktighet, dess startdatum är 2002-03-31, slutdatumet är 2001-03-31, så slutdatumet är före startdatumet. I XBRL-specifikationen, kapitel 4.7.2, definierar den valideringsregeln: “slutdatumet MÅSTE ange eller antyda en tidpunkt som är senare än den angivna eller underförstådda tidpunkten för motsvarande startdatum”. Enligt denna regel är denna XBRL-instans inte en giltig.

Validera XBRL och mata ut standardfelmeddelande

Följande kod validerar XBRL-instansen och matar ut standardfelmeddelandet.

Följande bild visar resultatet:

todo:image_alt_text

Validera XBRL och mata ut anpassat felmeddelande

Följande kod validerar XBRL-instansen och skickar ut anpassat felmeddelande.

Följande bild visar resultatet:

todo:image_alt_text

Validera XBRL och mata ut standardfelmeddelande