Dodaj linki do przypisów i obiekty referencyjne do ról do XBRL przy użyciu C#

W poprzednim wpisie dowiedzieliśmy się, jak dodawać odniesienia do schematu, kontekst, jednostki i obiekty faktów do dokumentów instancji XBRL za pomocą C#. W tym artykule nauczymy się, jak dodawać odnośniki do przypisów i obiekty referencyjne roli do XBRL przy użyciu języka C#.

W tym artykule zostaną omówione następujące tematy:

Aby dodać obiekty referencyjne roli i referencyjne roli arc do dokumentu instancji XBRL, użyjemy API Aspose.Finance for .NET. Umożliwia tworzenie instancji XBRL, parsowanie i sprawdzanie poprawności plików XBRL lub iXBRL. Klasa XbrlDocument interfejsu API reprezentuje dokument XBRL zawierający co najmniej jedną instancję XBRL. Instancja XBRL to fragment XML, w którym element główny ma znacznik XBRL. Klasa XbrlInstance udostępnia różne metody i właściwości do pracy z instancją XBRL. Klasa FootnoteLink zawiera lokalizatory, zasoby i łuki do opisu relacji między faktami w Instancji XBRL. Interfejs API udostępnia klasę RoleReference, która umożliwia odwoływanie się do definicji dowolnych niestandardowych wartości atrybutów roli używanych w odsyłaczach do przypisów w instancji XBRL. Podobnie klasa ArcRoleReference umożliwia rozpoznanie niestandardowych wartości ról łuku, które są używane w bazie łącza lub instancji XBRL.

Pobierz bibliotekę DLL interfejsu API lub zainstaluj ją za pomocą NuGet.

PM> Install-Package Aspose.Finance

Możemy dodać link do przypisu w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Dodaj nową instancję XBRL do instancji obiektu XbrlDocument.
  3. Dodaj nowe odwołanie do schematu do odwołań do schematu obiektu XbrlInstance.
  4. Pobierz SchemaRef według jego indeksu ze SchemaRefCollection.
  5. Zainicjuj instancję Context i dodaj ją do kolekcji Obiekty kontekstu.
  6. Zdefiniuj instancję Footnote i ustaw jej etykietę oraz tekst.
  7. Zainicjuj typ Locator przy użyciu instancji klasy Loc.
  8. Zdefiniuj FootnoteArc z etykietą lokalizatora i etykietą przypisu jako argumentami.
  9. Utwórz instancję klasy FootnoteLink.
  10. Dodaj Footnote, Locator i FootnoteArc do odpowiednich kolekcji FootnoteLink.
  11. Następnie dodaj FootnoteLink do kolekcji FootnoteLinks.
  12. Na koniec zapisz plik XBRL metodą XbrlDocument.Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak dodać łącze przypisu dolnego w dokumencie wystąpienia XBRL przy użyciu języka C#.

// Utwórz instancję klasy XbrlDocument
XbrlDocument document = new XbrlDocument();

// Pobierz XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Dodaj instancję Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Zdefiniuj odwołanie do schematu
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Zdefiniuj kontekst
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);

// Zdefiniuj przypis
Footnote footnote = new Footnote("footnote1");
footnote.Text = "Including the effects of the merger.";

// Zdefiniuj lokalizator
Loc loc = new Loc("#cd1", "fact1");

// Zdefiniuj przypisArc
FootnoteArc footnoteArc = new FootnoteArc(loc.Label, footnote.Label);

// Zdefiniuj przypis link
FootnoteLink footnoteLink = new FootnoteLink();
footnoteLink.Footnotes.Add(footnote);
footnoteLink.Locators.Add(loc);
footnoteLink.FootnoteArcs.Add(footnoteArc);
xbrlInstance.FootnoteLinks.Add(footnoteLink);

// Zapisz dokument
document.Save(@"C:\Files\Finance\document6.xbrl");

Dodaj obiekt referencyjny roli do XBRL za pomocą C#

Możemy dodać odwołanie do roli w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Następnie dodaj nową instancję XBRL do instancji obiektu XbrlDocument.
  3. Następnie Dodaj nowe odwołanie do schematu do odwołań do schematu obiektu XbrlInstance.
  4. Pobierz SchemaRef według jego indeksu z SchemaRefCollection.
  5. Następnie pobierz RoleType z metody GetRoleTypeByURI().
  6. Następnie utwórz instancję klasy RoleReference z obiektem RoleType jako argumentem.
  7. Następnie dodaj RoleReference do kolekcji obiektów RoleReference.
  8. Na koniec zapisz plik XBRL przy użyciu metody XbrlDocument.Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak dodać odwołanie do roli w dokumencie wystąpienia XBRL przy użyciu języka C#.

// Utwórz instancję klasy XbrlDocument
XbrlDocument document = new XbrlDocument();

// Pobierz XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Dodaj instancję Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Zdefiniuj odwołanie do schematu
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Dodaj odwołanie do roli
RoleType roleType = schema.GetRoleTypeByURI("http://abc.com/role/link1");
if (roleType != null)
{
    RoleReference roleReference = new RoleReference(roleType);
    xbrlInstance.RoleReferences.Add(roleReference);
}

// Zapisz dokument
document.Save(@"C:\Files\Finance\document7.xbrl");

Dodaj obiekt referencyjny roli łuku do XBRL za pomocą C#

Możemy dodać odwołanie do roli Arc w dokumencie instancji XBRL, wykonując czynności podane poniżej:

  1. Najpierw utwórz instancję klasy XbrlDocument.
  2. Następnie dodaj nową instancję XBRL do instancji obiektu XbrlDocument.
  3. Następnie Dodaj nowe odwołanie do schematu do odwołań do schematu obiektu XbrlInstance.
  4. Następnie pobierz SchemaRef według jego indeksu ze SchemaRefCollection.
  5. Następnie pobierz ArcRoleType z metody GetArcroleTypeByURI().
  6. Następnie utwórz instancję klasy ArcRoleReference z obiektem ArcRoleType jako argumentem.
  7. Następnie dodaj obiekt ArcRoleReference do kolekcji obiektów ArcRoleReference.
  8. Na koniec zapisz plik XBRL przy użyciu metody XbrlDocument.Save(). Przyjmuje ścieżkę pliku wyjściowego jako argument.

Poniższy przykładowy kod pokazuje, jak dodać odwołanie do roli arc w dokumencie wystąpienia XBRL przy użyciu języka C#.

// Utwórz instancję klasy XbrlDocument
XbrlDocument document = new XbrlDocument();

// Pobierz XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Dodaj instancję Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Zdefiniuj odwołanie do schematu
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Dodaj odniesienie do roli łuku
ArcroleType arcroleType = schema.GetArcroleTypeByURI("http://abc.com/arcrole/footnote-test");
if (arcroleType != null)
{
    ArcroleReference arcroleReference = new ArcroleReference(arcroleType);
    xbrlInstance.ArcroleReferences.Add(arcroleReference);
}

// Zapisz dokument
document.Save(@"C:\Files\Finance\document8.xbrl");

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak:

  • stworzyć dokument XBRL przy użyciu C#;
  • programowo dodawać przypis i łuk przypisów za pomocą łącza do przypisów do obiektów XBRL;
  • dodaj odniesienia do ról i ról łukowych w XBRL w C#.

Poza tym możesz dowiedzieć się więcej o Aspose.Finance for .NET API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też