В предыдущем посте мы узнали, как добавить ссылку на схему, контекст, единицу измерения и объекты фактов в документы экземпляра XBRL с помощью C#. В этой статье мы узнаем, как добавлять ссылки на сноски и объекты ссылок на роли в XBRL с помощью C#.
В этой статье должны быть раскрыты следующие темы:
- C# API для добавления ссылок сносок и объектов ссылок на роли в XBRL
- Добавьте ссылки на сноски в XBRL
- Добавить объект ссылки на роль в XBRL
- Справочный объект роли дуги в XBRL
C# API для добавления ссылок сносок и объектов ссылок на роли в XBRL
Для добавления объектов ссылки на роль и ссылки на роль дуги в документ экземпляра XBRL мы будем использовать API Aspose.Finance for .NET. Он позволяет создавать экземпляры 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 и установите его метку и текст.
- Инициализируйте тип локатора, используя экземпляр класса Loc.
- Определите FootnoteArc с меткой локатора и меткой сноски в качестве аргументов.
- Создайте экземпляр класса FootnoteLink.
- Добавьте Footnote, Locator и FootnoteArc в соответствующие коллекции FootnoteLink.
- После этого добавьте FootnoteLink в коллекцию FootnoteLinks.
- Наконец, сохраните файл XBRL, используя метод XbrlDocument.Save(). Он принимает путь к выходному файлу в качестве аргумента.
В следующем примере кода показано, как добавить ссылку на сноску в экземпляр документа XBRL с помощью C#.
// Создайте экземпляр класса XbrlDocument
XbrlDocument document = new XbrlDocument();
// Получить экземпляры Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Добавить экземпляр Xbrl
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();
// Получить экземпляры Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Добавить экземпляр Xbrl
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");
Добавить объект ссылки на роль дуги в 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();
// Получить экземпляры Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Добавить экземпляр Xbrl
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");
Получить бесплатную лицензию
Вы можете получить бесплатную временную лицензию, чтобы попробовать библиотеку без ограничений пробной версии.
Вывод
В этой статье мы узнали, как:
- создать документ XBRL с помощью C#;
- добавить сноску и дугу сноски, используя ссылку сноски на объекты XBRL программно;
- добавить ссылки на роли и дуги в XBRL на C#.
Кроме того, вы можете узнать больше об Aspose.Finance for .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.