Table of Contents

Class XbrlParser

Namespace
Manpuku.Edinet.Xbrl.InlineXBRL
Assembly
Manpuku.Edinet.Xbrl.dll

Inline XBRL parser for processing Inline XBRL documents and producing a discoverable taxonomy set (DTS).

public class XbrlParser : XbrlParser, IXbrlParser, IXbrlParser
Inheritance
XbrlParser
Implements
Inherited Members

Constructors

XbrlParser(ILoggerFactory)

Initializes a new instance of the XbrlParser class for Inline XBRL.

public XbrlParser(ILoggerFactory loggerFactory)

Parameters

loggerFactory ILoggerFactory

Logger factory for diagnostics.

Methods

LoadDtsAsync(Uri[], Func<Uri, Task<XDocument>>)

Asynchronously loads an XBRL Discoverable Taxonomy Set (DTS) from a collection of inline XBRL document URIs using the specified document loader.

protected Task<DiscoverableTaxonomySet> LoadDtsAsync(Uri[] inlineXBRLsURI, Func<Uri, Task<XDocument>> loader)

Parameters

inlineXBRLsURI Uri[]

An array of URIs referencing the inline XBRL documents to be loaded. Each URI should point to a valid inline XBRL file.

loader Func<Uri, Task<XDocument>>

A function that asynchronously loads an XDocument from a given URI. This function is invoked for each URI in the collection.

Returns

Task<DiscoverableTaxonomySet>

A task that represents the asynchronous operation. The task result contains an XBRLDiscoverableTaxonomySet constructed from the loaded inline XBRL documents and their referenced schema.

Exceptions

InvalidDataException

Thrown if any loaded XBRL document does not have a valid root element.

XbrlSemanticException

Thrown if no schemaRef element is found in any of the provided inline XBRL documents.

ParseAsync(Uri, Func<Uri, Task<XDocument>>)

Not supported for Inline XBRL. Throws an exception if called.

public override sealed Task<DiscoverableTaxonomySet> ParseAsync(Uri entryPointUri, Func<Uri, Task<XDocument>> loader)

Parameters

entryPointUri Uri

Entry point URI (not used).

loader Func<Uri, Task<XDocument>>

Loader function (not used).

Returns

Task<DiscoverableTaxonomySet>

Never returns; always throws.

Exceptions

InvalidOperationException

Always thrown. Use ParseInlineAsync(Uri[], Func<Uri, Task<XDocument>>) instead.

ParseInlineAsync(Uri[], Func<Uri, Task<XDocument>>)

Parses the specified Inline XBRL documents and returns a discoverable taxonomy set (DTS).

public Task<DiscoverableTaxonomySet> ParseInlineAsync(Uri[] inlineXBRLsURI, Func<Uri, Task<XDocument>> loader)

Parameters

inlineXBRLsURI Uri[]

URIs of all Inline XBRL files to parse.

loader Func<Uri, Task<XDocument>>

Function to load an XDocument from a URI.

Returns

Task<DiscoverableTaxonomySet>

The populated DiscoverableTaxonomySet.