Ajouter des liens de note de bas de page et des objets de référence de rôle à XBRL à l'aide de C#

Dans le publication précédente, nous avons appris à ajouter des objets de référence de schéma, de contexte, d’unité et de fait aux documents d’instance XBRL à l’aide de C#. Dans cet article, nous allons apprendre à ajouter des liens de note de bas de page et des objets de référence de rôle à XBRL à l’aide de C#.

Les sujets suivants seront traités dans cet article :

Pour ajouter des objets de référence de rôle et de référence de rôle d’arc à un document d’instance XBRL, nous utiliserons l’API Aspose.Finance for .NET. Il permet de créer des instances XBRL, d’analyser et de valider les fichiers XBRL ou iXBRL. La classe XbrlDocument de l’API représente un document XBRL qui contient une ou plusieurs instances XBRL. Une instance XBRL est un fragment XML, l’élément racine ayant une balise XBRL. La classe XbrlInstance fournit diverses méthodes et propriétés pour travailler avec l’instance XBRL. La classe FootnoteLink contient des localisateurs, des ressources et des arcs pour décrire les relations entre les faits dans une instance XBRL. L’API fournit la classe RoleReference qui permet de référencer les définitions de toutes les valeurs d’attribut de rôle personnalisé utilisées dans les liens de note de bas de page dans l’instance XBRL. De même, la classe ArcRoleReference permet de résoudre les valeurs de rôle d’arc personnalisées utilisées dans une base de lien ou une instance XBRL.

Veuillez soit télécharger la DLL de l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Finance

Nous pouvons ajouter un lien de note de bas de page dans un document d’instance XBRL en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe XbrlDocument.
  2. Ajoutez une nouvelle instance XBRL aux instances de l’objet XbrlDocument.
  3. Ajoutez une nouvelle référence de schéma aux références de schéma de l’objet XbrlInstance.
  4. Obtenez SchemaRef par son index de SchemaRefCollection.
  5. Initialisez l’instance Context et ajoutez-la à la collection Context objects.
  6. Définissez une instance Footnote et définissez son étiquette et son texte.
  7. Initialisez le type de localisateur à l’aide de l’instance de classe Loc.
  8. Définissez FootnoteArc avec l’étiquette Locator et l’étiquette Footnote comme arguments.
  9. Créez une instance de la classe FootnoteLink.
  10. Ajoutez Footnote, Locator et FootnoteArc aux collections FootnoteLink pertinentes.
  11. Après cela, ajoutez le FootnoteLink à la collection FootnoteLinks.
  12. Enfin, enregistrez le fichier XBRL à l’aide de la méthode XbrlDocument.Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment ajouter un lien de note de bas de page dans un document d’instance XBRL à l’aide de C#.

// Créer une instance de la classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Obtenir des instances Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Ajouter une instance Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Définir la référence du schéma
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Définir le contexte
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);

// Définir la note de bas de page
Footnote footnote = new Footnote("footnote1");
footnote.Text = "Including the effects of the merger.";

// Définir le localisateur
Loc loc = new Loc("#cd1", "fact1");

// Définir la note de bas de pageArc
FootnoteArc footnoteArc = new FootnoteArc(loc.Label, footnote.Label);

// Définir la note de bas de page link
FootnoteLink footnoteLink = new FootnoteLink();
footnoteLink.Footnotes.Add(footnote);
footnoteLink.Locators.Add(loc);
footnoteLink.FootnoteArcs.Add(footnoteArc);
xbrlInstance.FootnoteLinks.Add(footnoteLink);

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

Ajouter un objet de référence de rôle à XBRL à l’aide de C#

Nous pouvons ajouter une référence de rôle dans un document d’instance XBRL en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe XbrlDocument.
  2. Ensuite, ajoutez une nouvelle instance XBRL aux instances de l’objet XbrlDocument.
  3. Ensuite, ajoutez une nouvelle référence de schéma aux références de schéma de l’objet XbrlInstance.
  4. Obtenez SchemaRef par son index de SchemaRefCollection.
  5. Ensuite, récupérez le RoleType à partir de la méthode GetRoleTypeByURI().
  6. Ensuite, créez une instance de la classe RoleReference avec l’objet RoleType comme argument.
  7. Après cela, ajoutez le RoleReference à la collection d’objets RoleReference.
  8. Enfin, enregistrez le fichier XBRL à l’aide de la méthode XbrlDocument.Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment ajouter une référence de rôle dans un document d’instance XBRL à l’aide de C#.

// Créer une instance de la classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Obtenir des instances Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Ajouter une instance Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Définir la référence du schéma
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Ajouter une référence de rôle
RoleType roleType = schema.GetRoleTypeByURI("http://abc.com/role/link1");
if (roleType != null)
{
    RoleReference roleReference = new RoleReference(roleType);
    xbrlInstance.RoleReferences.Add(roleReference);
}

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

Ajouter un objet de référence de rôle Arc à XBRL à l’aide de C#

Nous pouvons ajouter une référence de rôle Arc dans un document d’instance XBRL en suivant les étapes ci-dessous :

  1. Tout d’abord, créez une instance de la classe XbrlDocument.
  2. Ensuite, ajoutez une nouvelle instance XBRL aux instances de l’objet XbrlDocument.
  3. Ensuite, ajoutez une nouvelle référence de schéma aux références de schéma de l’objet XbrlInstance.
  4. Ensuite, obtenez SchemaRef par son index de SchemaRefCollection.
  5. Ensuite, obtenez le ArcRoleType à partir de la méthode GetArcroleTypeByURI().
  6. Ensuite, créez une instance de la classe ArcRoleReference avec l’objet ArcRoleType comme argument.
  7. Après cela, ajoutez ArcRoleReference à la collection d’objets ArcRoleReference.
  8. Enfin, enregistrez le fichier XBRL à l’aide de la méthode XbrlDocument.Save(). Il prend le chemin du fichier de sortie comme argument.

L’exemple de code suivant montre comment ajouter une référence de rôle d’arc dans un document d’instance XBRL à l’aide de C#.

// Créer une instance de la classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Obtenir des instances Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Ajouter une instance Xbrl
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Définir la référence du schéma
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Ajouter une référence de rôle d'arc
ArcroleType arcroleType = schema.GetArcroleTypeByURI("http://abc.com/arcrole/footnote-test");
if (arcroleType != null)
{
    ArcroleReference arcroleReference = new ArcroleReference(arcroleType);
    xbrlInstance.ArcroleReferences.Add(arcroleReference);
}

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

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite pour essayer la bibliothèque sans limitation d’évaluation.

Conclusion

Dans cet article, nous avons appris à :

  • créer un document XBRL à l’aide de C# ;
  • ajouter une note de bas de page et un arc de note de bas de page à l’aide d’un lien de note de bas de page vers des objets XBRL par programmation ;
  • ajouter des références de rôle et de rôle d’arc dans XBRL en C#.

En outre, vous pouvez en savoir plus sur l’API Aspose.Finance for .NET en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également