C#을 사용하여 XBRL에 각주 링크 및 역할 참조 개체 추가

이전 게시물에서 C#을 사용하여 XBRL 인스턴스 문서에 스키마 참조, 컨텍스트, 단위 및 팩트 개체를 추가하는 방법을 배웠습니다. 이 기사에서는 C#을 사용하여 XBRL에 각주 링크 및 역할 참조 개체를 추가하는 방법을 배웁니다.

이 기사에서는 다음 주제를 다룹니다.

XBRL 인스턴스 문서에 역할 참조 및 호 역할 참조 개체를 추가하기 위해 Aspose.Finance for .NET API를 사용합니다. XBRL 인스턴스 생성, 구문 분석 및 XBRL 또는 iXBRL 파일 유효성 검사를 허용합니다. API의 XbrlDocument 클래스는 하나 이상의 XBRL 인스턴스를 포함하는 XBRL 문서를 나타냅니다. XBRL 인스턴스는 XBRL 태그가 있는 루트 요소가 있는 XML 조각입니다. XbrlInstance 클래스는 XBRL 인스턴스와 함께 작동하는 다양한 메서드와 속성을 제공합니다. FootnoteLink 클래스에는 XBRL 인스턴스의 사실 간의 관계를 설명하는 로케이터, 리소스 및 호가 포함되어 있습니다. API는 XBRL 인스턴스의 각주 링크에 사용되는 사용자 정의 역할 속성 값의 정의를 참조할 수 있는 RoleReference 클래스를 제공합니다. 마찬가지로 ArcRoleReference 클래스를 사용하면 링크 기반 또는 XBRL 인스턴스에서 사용되는 사용자 지정 호 역할 값을 확인할 수 있습니다.

API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하십시오.

PM> Install-Package Aspose.Finance

아래 단계에 따라 XBRL 인스턴스 문서에 각주 링크를 추가할 수 있습니다.

  1. 먼저 XbrlDocument 클래스의 인스턴스를 만듭니다.
  2. XbrlDocument 개체의 인스턴스에 새 XBRL 인스턴스를 추가합니다.
  3. XbrlInstance 개체의 스키마 참조에 새 스키마 참조를 추가합니다.
  4. SchemaRefCollection에서 해당 인덱스로 SchemaRef을 가져옵니다.
  5. Context 인스턴스를 초기화하고 Context objects 컬렉션에 추가합니다.
  6. 각주 인스턴스를 정의하고 해당 레이블과 텍스트를 설정합니다.
  7. Loc 클래스 인스턴스를 사용하여 Locator 유형을 초기화합니다.
  8. Locator 레이블과 Footnote 레이블을 인수로 사용하여 FootnoteArc를 정의합니다.
  9. FootnoteLink 클래스의 인스턴스를 만듭니다.
  10. 관련 FootnoteLink 모음에 Footnote, Locator 및 FootnoteArc를 추가합니다.
  11. 그런 다음 FootnoteLinks 컬렉션에 FootnoteLink를 추가합니다.
  12. 마지막으로 XbrlDocument.Save() 메서드를 사용하여 XBRL 파일을 저장합니다. 출력 파일 경로를 인수로 사용합니다.

다음 코드 샘플은 C#을 사용하여 XBRL 인스턴스 문서에 각주 링크를 추가하는 방법을 보여줍니다.

// XbrlDocument 클래스의 인스턴스 만들기
XbrlDocument document = new XbrlDocument();

// XbrlInstances 가져오기
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// XbrlInstance 추가
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// 스키마 참조 정의
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\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);
context.Id = "cd1";
xbrlInstance.Contexts.Add(context);

// 각주 정의
Footnote footnote = new Footnote("footnote1");
footnote.Text = "Including the effects of the merger.";

// 로케이터 정의
Loc loc = new Loc("#cd1", "fact1");

// 각주 정의Arc
FootnoteArc footnoteArc = new FootnoteArc(loc.Label, footnote.Label);

// 각주 정의 link
FootnoteLink footnoteLink = new FootnoteLink();
footnoteLink.Footnotes.Add(footnote);
footnoteLink.Locators.Add(loc);
footnoteLink.FootnoteArcs.Add(footnoteArc);
xbrlInstance.FootnoteLinks.Add(footnoteLink);

// 문서 저장
document.Save(@"C:\Files\Finance\document6.xbrl");

C#을 사용하여 XBRL에 역할 참조 개체 추가

다음 단계에 따라 XBRL 인스턴스 문서에 역할 참조를 추가할 수 있습니다.

  1. 먼저 XbrlDocument 클래스의 인스턴스를 만듭니다.
  2. 그런 다음 XbrlDocument 개체의 인스턴스에 새 XBRL 인스턴스를 추가합니다.
  3. 그런 다음 XbrlInstance 개체의 스키마 참조에 새 스키마 참조를 추가합니다.
  4. SchemaRefCollection에서 해당 인덱스로 SchemaRef를 가져옵니다.
  5. 다음으로 GetRoleTypeByURI() 메서드에서 RoleType을 가져옵니다.
  6. 그런 다음 RoleType 개체를 인수로 사용하여 RoleReference 클래스의 인스턴스를 만듭니다.
  7. 그런 다음 RoleReference 개체 컬렉션에 RoleReference를 추가합니다.
  8. 마지막으로 XbrlDocument.Save() 메서드를 사용하여 XBRL 파일을 저장합니다. 출력 파일 경로를 인수로 사용합니다.

다음 코드 샘플은 C#을 사용하여 XBRL 인스턴스 문서에 역할 참조를 추가하는 방법을 보여줍니다.

// XbrlDocument 클래스의 인스턴스 만들기
XbrlDocument document = new XbrlDocument();

// XbrlInstances 가져오기
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// XbrlInstance 추가
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// 스키마 참조 정의
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// 역할 참조 추가
RoleType roleType = schema.GetRoleTypeByURI("http://abc.com/role/link1");
if (roleType != null)
{
    RoleReference roleReference = new RoleReference(roleType);
    xbrlInstance.RoleReferences.Add(roleReference);
}

// 문서 저장
document.Save(@"C:\Files\Finance\document7.xbrl");

C#을 사용하여 XBRL에 Arc 역할 참조 개체 추가

다음 단계에 따라 XBRL 인스턴스 문서에 Arc 역할 참조를 추가할 수 있습니다.

  1. 먼저 XbrlDocument 클래스의 인스턴스를 만듭니다.
  2. 그런 다음 XbrlDocument 개체의 인스턴스에 새 XBRL 인스턴스를 추가합니다.
  3. 그런 다음 XbrlInstance 개체의 스키마 참조에 새 스키마 참조를 추가합니다.
  4. 다음으로 SchemaRefCollection에서 해당 인덱스로 SchemaRef를 가져옵니다.
  5. 그런 다음 GetArcroleTypeByURI() 메서드에서 ArcRoleType을 가져옵니다.
  6. 그런 다음 ArcRoleType 개체를 인수로 사용하여 ArcRoleReference 클래스의 인스턴스를 만듭니다.
  7. 그런 다음 ArcRoleReference 개체 컬렉션에 ArcRoleReference를 추가합니다.
  8. 마지막으로 XbrlDocument.Save() 메서드를 사용하여 XBRL 파일을 저장합니다. 출력 파일 경로를 인수로 사용합니다.

다음 코드 샘플은 C#을 사용하여 XBRL 인스턴스 문서에 호 역할 참조를 추가하는 방법을 보여줍니다.

// XbrlDocument 클래스의 인스턴스 만들기
XbrlDocument document = new XbrlDocument();

// XbrlInstances 가져오기
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// XbrlInstance 추가
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// 스키마 참조 정의
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// 호 역할 참조 추가
ArcroleType arcroleType = schema.GetArcroleTypeByURI("http://abc.com/arcrole/footnote-test");
if (arcroleType != null)
{
    ArcroleReference arcroleReference = new ArcroleReference(arcroleType);
    xbrlInstance.ArcroleReferences.Add(arcroleReference);
}

// 문서 저장
document.Save(@"C:\Files\Finance\document8.xbrl");

무료 라이선스 받기

평가 제한 없이 라이브러리를 사용하려면 무료 임시 라이센스를 얻으십시오.

결론

이 문서에서는 다음 방법을 배웠습니다.

  • C#을 사용하여 XBRL 문서 만들기;
  • 프로그래밍 방식으로 XBRL 객체에 대한 각주 링크를 사용하여 각주 및 각주 호를 추가합니다.
  • C#의 XBRL에 역할 및 호 역할 참조를 추가합니다.

또한 문서를 사용하여 Aspose.Finance for .NET API에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오