У попередній публікації ми дізналися, як додавати посилання на схему, контекст, одиницю й факти до документів екземплярів XBRL за допомогою C#. У цій статті ми дізнаємося, як додавати посилання на виноски та об’єкти посилання на ролі до XBRL за допомогою C#.
У цій статті будуть розглянуті такі теми:
- C# API для додавання посилань на виноски та довідкових об’єктів ролі до XBRL
- Додайте посилання на виноски до XBRL
- Додайте об’єкт посилання на роль до XBRL
- Довідковий об’єкт ролі дуги в XBRL
C# API для додавання посилань на виноски та довідкових об’єктів ролі до XBRL
Для додавання об’єктів посилання на роль і посилання на роль дуги до документа екземпляра XBRL ми будемо використовувати Aspose.Finance for .NET API. Це дозволяє створювати екземпляри XBRL, аналізувати та перевіряти файли XBRL або iXBRL. Клас XbrlDocument API представляє документ XBRL, який містить один або більше екземплярів XBRL. Екземпляр XBRL — це фрагмент XML, кореневий елемент якого має тег XBRL. Клас XbrlInstance надає різні методи та властивості для роботи з екземпляром XBRL. Клас FootnoteLink містить локатори, ресурси та дуги для опису зв’язків між фактами в екземплярі XBRL. API надає клас RoleReference, який дозволяє посилатися на визначення будь-яких значень атрибутів настроюваних ролей, що використовуються в посиланнях на виноски в екземплярі XBRL. Подібним чином клас ArcRoleReference дозволяє розпізнавати користувацькі значення ролей дуг, які використовуються в базі посилань або екземплярі XBRL.
Завантажте DLL API або встановіть його за допомогою NuGet.
PM> Install-Package Aspose.Finance
Додайте посилання на виноски до XBRL за допомогою C#
Ми можемо додати посилання на виноску в екземпляр документа XBRL, виконавши наведені нижче кроки:
- По-перше, створіть екземпляр класу XbrlDocument.
- Додайте новий екземпляр XBRL до екземплярів об’єкта XbrlDocument.
- Додайте нове посилання на схему до посилань на схему об’єкта XbrlInstance.
- Отримайте SchemaRef за його індексом із SchemaRefCollection.
- Ініціалізуйте екземпляр Context і додайте його до колекції Context objects.
- Визначте екземпляр Footnote і встановіть його мітку та текст.
- Ініціалізація типу Locator за допомогою екземпляра класу Loc.
- Визначте FootnoteArc за допомогою мітки локатора та мітки виноски як аргументів.
- Створіть екземпляр класу FootnoteLink.
- Додайте Foonote, Locator і FootnoteArc до відповідних колекцій FootnoteLink.
- Після цього додайте посилання на виноски до колекції посилань на виноски.
- Нарешті, збережіть файл XBRL за допомогою методу XbrlDocument.Save(). Він приймає вихідний шлях до файлу як аргумент.
У наведеному нижче прикладі коду показано, як додати посилання на виноску в документ екземпляра XBRL за допомогою C#.
// Створіть екземпляр класу 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");
Додайте об’єкт посилання на роль до XBRL за допомогою C#
Ми можемо додати посилання на роль у документ екземпляра XBRL, виконавши наведені нижче кроки:
- По-перше, створіть екземпляр класу XbrlDocument.
- Далі додайте новий екземпляр XBRL до екземплярів об’єкта XbrlDocument.
- Потім додайте нове посилання на схему до посилань на схему об’єкта XbrlInstance.
- Отримайте SchemaRef за його індексом із SchemaRefCollection.
- Далі отримайте RoleType з методу GetRoleTypeByURI().
- Потім створіть екземпляр класу RoleReference з об’єктом RoleType як аргументом.
- Після цього додайте RoleReference до колекції об’єктів RoleReference.
- Нарешті збережіть файл XBRL за допомогою методу XbrlDocument.Save(). Він приймає вихідний шлях до файлу як аргумент.
У наведеному нижче прикладі коду показано, як додати посилання на роль у документ екземпляра XBRL за допомогою C#.
// Створіть екземпляр класу 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");
Додайте довідковий об’єкт Arc Role до XBRL за допомогою C#
Ми можемо додати посилання на роль Arc в документ екземпляра XBRL, виконавши наведені нижче кроки:
- По-перше, створіть екземпляр класу XbrlDocument.
- Далі додайте новий екземпляр XBRL до екземплярів об’єкта XbrlDocument.
- Потім додайте нове посилання на схему до посилань на схему об’єкта XbrlInstance.
- Далі отримайте SchemaRef за його індексом із SchemaRefCollection.
- Потім отримайте ArcRoleType із методу GetArcroleTypeByURI().
- Далі створіть екземпляр класу ArcRoleReference з об’єктом ArcRoleType як аргументом.
- Після цього додайте ArcRoleReference до колекції об’єктів ArcRoleReference.
- Нарешті збережіть файл XBRL за допомогою методу XbrlDocument.Save(). Він приймає вихідний шлях до файлу як аргумент.
У наведеному нижче прикладі коду показано, як додати посилання на роль дуги в документ екземпляра XBRL за допомогою C#.
// Створіть екземпляр класу 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];
// Додати посилання на роль Arc
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");
Отримайте безкоштовну ліцензію
Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.
Висновок
У цій статті ми дізналися, як:
- створити документ XBRL за допомогою C#;
- програмно додати виноску та дугу виноски за допомогою посилання на виноску до об’єктів XBRL;
- додати посилання на ролі та ролі дуг у XBRL у C#.
Крім того, ви можете дізнатися більше про Aspose.Finance for .NET API за допомогою документації. У разі будь-якої неясності зв’яжіться з нами на форумі.