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
loggerFactoryILoggerFactoryLogger 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
inlineXBRLsURIUri[]An array of URIs referencing the inline XBRL documents to be loaded. Each URI should point to a valid inline XBRL file.
loaderFunc<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
entryPointUriUriEntry point URI (not used).
loaderFunc<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
inlineXBRLsURIUri[]URIs of all Inline XBRL files to parse.
loaderFunc<Uri, Task<XDocument>>Function to load an XDocument from a URI.
Returns
- Task<DiscoverableTaxonomySet>
The populated DiscoverableTaxonomySet.