
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:
- C# API do dodawania linków do przypisów i obiektów referencyjnych ról do XBRL
- Dodaj linki do przypisów do XBRL
- Dodaj obiekt referencyjny roli do XBRL
- Obiekt referencyjny roli łuku w XBRL
C# API do dodawania linków do przypisów i obiektów referencyjnych ról do XBRL
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
Dodaj linki do przypisów do XBRL za pomocą C#
Możemy dodać link do przypisu w dokumencie instancji XBRL, wykonując czynności podane poniżej:
- Najpierw utwórz instancję klasy XbrlDocument.
- Dodaj nową instancję XBRL do instancji obiektu XbrlDocument.
- Dodaj nowe odwołanie do schematu do odwołań do schematu obiektu XbrlInstance.
- Pobierz SchemaRef według jego indeksu ze SchemaRefCollection.
- Zainicjuj instancję Context i dodaj ją do kolekcji Obiekty kontekstu.
- Zdefiniuj instancję Footnote i ustaw jej etykietę oraz tekst.
- Zainicjuj typ Locator przy użyciu instancji klasy Loc.
- Zdefiniuj FootnoteArc z etykietą lokalizatora i etykietą przypisu jako argumentami.
- Utwórz instancję klasy FootnoteLink.
- Dodaj Footnote, Locator i FootnoteArc do odpowiednich kolekcji FootnoteLink.
- Następnie dodaj FootnoteLink do kolekcji FootnoteLinks.
- 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:
- Najpierw utwórz instancję klasy XbrlDocument.
- Następnie dodaj nową instancję XBRL do instancji obiektu XbrlDocument.
- Następnie Dodaj nowe odwołanie do schematu do odwołań do schematu obiektu XbrlInstance.
- Pobierz SchemaRef według jego indeksu z SchemaRefCollection.
- Następnie pobierz RoleType z metody GetRoleTypeByURI().
- Następnie utwórz instancję klasy RoleReference z obiektem RoleType jako argumentem.
- Następnie dodaj RoleReference do kolekcji obiektów RoleReference.
- 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:
- Najpierw utwórz instancję klasy XbrlDocument.
- Następnie dodaj nową instancję XBRL do instancji obiektu XbrlDocument.
- Następnie Dodaj nowe odwołanie do schematu do odwołań do schematu obiektu XbrlInstance.
- Następnie pobierz SchemaRef według jego indeksu ze SchemaRefCollection.
- Następnie pobierz ArcRoleType z metody GetArcroleTypeByURI().
- Następnie utwórz instancję klasy ArcRoleReference z obiektem ArcRoleType jako argumentem.
- Następnie dodaj obiekt ArcRoleReference do kolekcji obiektów ArcRoleReference.
- 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.