C#を使用してXBRLドキュメントにオブジェクトを追加する

XBRL(eXtensible Business Reporting Language)は、財務諸表などの財務情報を定義および交換します。 XBRLインスタンスドキュメントは、ビジネスレポートを構成するファクトのコレクションです。プログラムでXBRLインスタンスドキュメントを簡単に作成し、スキーマ参照、コンテキスト、ユニット、アイテムなどのオブジェクトまたは要素を追加できます。この記事では、C#を使用してXBRLインスタンスドキュメントにオブジェクトを追加する方法を学習します。

この記事では、次のトピックについて説明します。

XBRLインスタンスドキュメントにオブジェクトを追加するためのC#API

XBRLインスタンスドキュメントの作成とオブジェクトの追加には、Aspose.Finance for .NETAPIを使用します。これにより、XBRLインスタンスの作成、解析、およびXBRLまたはiXBRLファイルの検証が可能になります。 APIのDLLをダウンロードするか、NuGetを使用してインストールしてください。

PM> Install-Package Aspose.Finance

C#を使用してXBRLにスキーマ参照を追加する

以下の手順に従って、XBRLインスタンスドキュメントにスキーマ参照を追加できます。

  1. まず、XbrlDocumentクラスのインスタンスを作成します。
  2. 次に、XbrlDocumentオブジェクトのインスタンスのコレクションをXbrlInstanceCollectionオブジェクトに取得します。
  3. 次に、XbrlInstanceCollection.Add()メソッドを使用して新しいXBRLインスタンスを追加します。
  4. 次に、XbrlInstanceオブジェクトのスキーマ参照コレクションをSchemaRefCollectionオブジェクトに取得します。
  5. その後、SchemaRefCollection.Add()メソッドを使用して新しいスキーマ参照を追加します。
  6. 最後に、XbrlDocument.Save()メソッドを使用してXBRLファイルを保存します。出力ファイルのパスを引数として取ります。

次のコードサンプルは、C#を使用してXBRLインスタンスドキュメントにスキーマ参照を追加する方法を示しています。

// このコード例は、SchemaReferenceオブジェクトをXBRLに追加する方法を示しています。
// XbrlDocumentクラスのインスタンスを作成します
XbrlDocument document = new XbrlDocument();

// XbrlInstancesを取得する
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// XbrlInstanceを追加します
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// スキーマ参照コレクションを取得する
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;

// スキーマ参照の追加
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");

// 出力ファイルを保存します
document.Save(@"D:\Files\Finance\output.xbrl");

C#を使用してXBRLにコンテキストオブジェクトを追加する

以下の手順に従って、XBRLインスタンスドキュメントにコンテキストを追加できます。

  1. まず、XbrlDocumentクラスのインスタンスを作成します。
  2. 次に、XbrlDocumentオブジェクトのインスタンスのコレクションをXbrlInstanceCollectionオブジェクトに取得します。
  3. 次に、XbrlInstanceCollection.Add()メソッドを使用して新しいXBRLインスタンスを追加します。
  4. 次に、開始日と終了日を使用してContextPeriodクラスのインスタンスを作成します。
  5. 次に、ContextEntityを作成し、スキーマと識別子を指定します。
  6. 次に、定義されたContextPeriodとContextEntityを使用してContextクラスのインスタンスを作成します。
  7. その後、ContextオブジェクトをContextobjectsコレクションに追加します。
  8. 最後に、XbrlDocument.Save()メソッドを使用してXBRLファイルを保存します。出力ファイルのパスを引数として取ります。

次のコードサンプルは、C#を使用してXBRLインスタンスドキュメントにコンテキストオブジェクトを追加する方法を示しています。

// このコード例は、ContextオブジェクトをXBRLに追加する方法を示しています。
// XbrlDocumentクラスのインスタンスを作成します
XbrlDocument document = new XbrlDocument();

// XbrlInstancesを取得する
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// XbrlInstanceを追加します
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// コンテキスト期間を定義する
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));

// Cretaeコンテキストエントリ
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");

// コンテキストを作成する
Context context = new Context(contextPeriod, contextEntity);

// コンテキストを追加する
xbrlInstance.Contexts.Add(context);

// 出力ファイルを保存します
document.Save(@"D:\Files\Finance\Output.xbrl");

C#を使用してXBRLでユニットを作成する

XBRLの単位は、数値項目を測定します。以下の手順に従って、XBRLインスタンスドキュメントにユニットを追加できます。

  1. まず、XbrlDocumentクラスのインスタンスを作成します。
  2. 次に、XbrlDocumentオブジェクトのインスタンスのコレクションをXbrlInstanceCollectionオブジェクトに取得します。
  3. 次に、XbrlInstanceCollection.Add()メソッドを使用して新しいXBRLインスタンスを追加します。
  4. 次に、UnitTypeをMeasureとしてUnitクラスのインスタンスを作成します。
  5. 次に、QualifiedNameをMeasureQualifiedNamesコレクションに追加します。
  6. その後、ユニットをユニットオブジェクトコレクションに追加します。
  7. 最後に、XbrlDocument.Save()メソッドを使用してXBRLファイルを保存します。出力ファイルのパスを引数として取ります。

次のコードサンプルは、C#を使用してXBRLインスタンスドキュメントにユニットオブジェクトを追加する方法を示しています。

// このコード例は、UnitオブジェクトをXBRLに追加する方法を示しています。
// XbrlDocumentクラスのインスタンスを作成します
XbrlDocument document = new XbrlDocument();

// XbrlInstancesを取得する
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// XbrlInstanceを追加します
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// 単位を定義する
Unit unit = new Unit(UnitType.Measure);

// 修飾子名を追加します
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));

// ユニットを追加
xbrlInstance.Units.Add(unit);

// 出力ファイルを保存します
document.Save(@"D:\Files\Finance\Output.xbrl");

C#を使用してXBRLにファクトオブジェクトを追加する

XBRLのファクトは、アイテム要素を使用して定義されます。 XBRLの項目には、単純なファクトの値と、そのファクトを正しく解釈するためのコンテキストへの参照が含まれています。以下の手順に従って、XBRLインスタンスドキュメントにアイテムを追加できます。

  1. まず、XbrlDocumentクラスのインスタンスを作成します。
  2. XbrlDocumentオブジェクトのインスタンスに新しいXBRLインスタンスを追加します。
  3. XbrlInstanceオブジェクトのスキーマ参照に新しいスキーマ参照を追加します。
  4. SchemaRefCollectionからインデックスでSchemaRefを取得します。
  5. Contextインスタンスを初期化し、Contextobjectsコレクションに追加します。
  6. Unitインスタンスを定義し、それをUnitオブジェクトコレクションに追加します。
  7. SchemaRef.GetConceptByName()メソッドを使用して、Conceptクラスインスタンスを作成します。
  8. Conceptオブジェクトを引数としてItemクラスのインスタンスを作成します。
  9. ContextRef、UnitRef、Precision、Valueなどのアイテムプロパティを設定します。 10.その後、アイテムをファクトオブジェクトコレクションに追加します。 11.最後に、XbrlDocument.Save()メソッドを使用してXBRLファイルを保存します。出力ファイルのパスを引数として取ります。

次のコードサンプルは、C#を使用してXBRLインスタンスドキュメントにアイテム要素としてファクトを追加する方法を示しています。

// このコード例は、ファクトアイテムオブジェクトをXBRLに追加する方法を示しています。
// XbrlDocumentを作成する
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];

// スキーマ参照を定義する
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// コンテキストを定義する
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");
Context context = new Context(contextPeriod, contextEntity);
xbrlInstance.Contexts.Add(context);

// 単位を定義する
Unit unit = new Unit(UnitType.Measure);
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));
xbrlInstance.Units.Add(unit);

// コンセプトを取得する
Concept fixedAssetsConcept = schema.GetConceptByName("fixedAssets");
if (fixedAssetsConcept != null)
{
    // ファクトのアイテム要素を定義する
    Item item = new Item(fixedAssetsConcept);
    item.ContextRef = context;
    item.UnitRef = unit;
    item.Precision = 4;
    item.Value = "1444";
    
    // ファクトにアイテム要素を追加する
    xbrlInstance.Facts.Add(item);
}

// 出力ファイルを保存します
document.Save(@"D:\Files\Finance\Output.xbrl");

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにライブラリを試すことができます。

結論

この記事では、C#を使用してXBRLドキュメントを作成する方法を学びました。また、プログラムで作成されたXBRLインスタンスドキュメントにさまざまなXBRLオブジェクトを追加する方法も確認しました。さらに、ドキュメントを使用して、Aspose.Finance for.NET APIについて詳しく知ることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目