Aggiungi collegamenti a piè di pagina e oggetti di riferimento ruolo a XBRL usando C#

Nel post precedente, abbiamo imparato come aggiungere riferimento allo schema, contesto, unità e oggetti fact ai documenti di istanza XBRL usando C#. In questo articolo impareremo come aggiungere collegamenti a piè di pagina e oggetti di riferimento di ruolo a XBRL usando C#.

In questo articolo verranno trattati i seguenti argomenti:

Per aggiungere oggetti riferimento ruolo e riferimento al ruolo arco a un documento di istanza XBRL, utilizzeremo l’API Aspose.Finance for .NET. Consente di creare istanze XBRL, analizzare e convalidare i file XBRL o iXBRL. La classe XbrlDocument dell’API rappresenta un documento XBRL che contiene una o più istanze XBRL. Un’istanza XBRL è un frammento XML, con l’elemento radice che ha un tag XBRL. La classe XbrlInstance fornisce vari metodi e proprietà per lavorare con l’istanza XBRL. La classe FootnoteLink contiene locator, risorse e archi per descrivere le relazioni tra i fatti in un’istanza XBRL. L’API fornisce la classe RoleReference che consente di fare riferimento alle definizioni di qualsiasi valore di attributo del ruolo personalizzato utilizzato nei collegamenti delle note a piè di pagina nell’istanza XBRL. Allo stesso modo, la classe ArcRoleReference consente di risolvere i valori di ruolo dell’arco personalizzati utilizzati in una base di collegamento o in un’istanza XBRL.

Si prega di scaricare la DLL dell’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.Finance

Possiamo aggiungere un collegamento a piè di pagina in un documento di istanza XBRL seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe XbrlDocument.
  2. Aggiungi una nuova istanza XBRL alle istanze dell’oggetto XbrlDocument.
  3. Aggiungi un nuovo riferimento allo schema ai riferimenti allo schema dell’oggetto XbrlInstance.
  4. Ottieni SchemaRef dal suo indice da SchemaRefCollection.
  5. Inizializza l’istanza Context e aggiungila alla raccolta Context objects.
  6. Definire un’istanza Footnote e impostarne l’etichetta e il testo.
  7. Inizializza il tipo Locator usando l’istanza della classe Loc.
  8. Definisci FootnoteArc con l’etichetta Locator e l’etichetta Footnote come argomenti.
  9. Crea un’istanza della classe FootnoteLink.
  10. Aggiungere Footnote, Locator e FootnoteArc alle raccolte FootnoteLink pertinenti.
  11. Successivamente, aggiungi FootnoteLink alla raccolta FootnoteLinks.
  12. Infine, salva il file XBRL usando il metodo XbrlDocument.Save(). Prende il percorso del file di output come argomento.

L’esempio di codice seguente mostra come aggiungere un collegamento a piè di pagina in un documento di istanza XBRL usando C#.

// Crea un'istanza della classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Ottieni XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Aggiungi XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Definire il riferimento allo schema
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Definisci il contesto
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);

// Definisci nota a piè di pagina
Footnote footnote = new Footnote("footnote1");
footnote.Text = "Including the effects of the merger.";

// Definisci localizzatore
Loc loc = new Loc("#cd1", "fact1");

// Definisci nota a piè di paginaArc
FootnoteArc footnoteArc = new FootnoteArc(loc.Label, footnote.Label);

// Definisci nota a piè di pagina link
FootnoteLink footnoteLink = new FootnoteLink();
footnoteLink.Footnotes.Add(footnote);
footnoteLink.Locators.Add(loc);
footnoteLink.FootnoteArcs.Add(footnoteArc);
xbrlInstance.FootnoteLinks.Add(footnoteLink);

// Salva il documento
document.Save(@"C:\Files\Finance\document6.xbrl");

Aggiungi un oggetto riferimento ruolo a XBRL usando C#

Possiamo aggiungere un riferimento al ruolo in un documento di istanza XBRL seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe XbrlDocument.
  2. Quindi, aggiungi una nuova istanza XBRL alle istanze dell’oggetto XbrlDocument.
  3. Quindi, aggiungi un nuovo riferimento allo schema ai riferimenti allo schema dell’oggetto XbrlInstance.
  4. Ottieni SchemaRef dal suo indice da SchemaRefCollection.
  5. Quindi, ottieni RoleType dal metodo GetRoleTypeByURI().
  6. Quindi, crea un’istanza della classe RoleReference con l’oggetto RoleType come argomento.
  7. Successivamente, aggiungi RoleReference alla raccolta di oggetti RoleReference.
  8. Infine, salva il file XBRL usando il metodo XbrlDocument.Save(). Prende il percorso del file di output come argomento.

L’esempio di codice seguente mostra come aggiungere un riferimento al ruolo in un documento di istanza XBRL usando C#.

// Crea un'istanza della classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Ottieni XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Aggiungi XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Definire il riferimento allo schema
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Aggiungi riferimento ruolo
RoleType roleType = schema.GetRoleTypeByURI("http://abc.com/role/link1");
if (roleType != null)
{
    RoleReference roleReference = new RoleReference(roleType);
    xbrlInstance.RoleReferences.Add(roleReference);
}

// Salva il documento
document.Save(@"C:\Files\Finance\document7.xbrl");

Aggiungi Arc Role Reference Object a XBRL usando C#

Possiamo aggiungere un riferimento al ruolo Arc in un documento di istanza XBRL seguendo i passaggi indicati di seguito:

  1. Innanzitutto, crea un’istanza della classe XbrlDocument.
  2. Quindi, aggiungi una nuova istanza XBRL alle istanze dell’oggetto XbrlDocument.
  3. Quindi, aggiungi un nuovo riferimento allo schema ai riferimenti allo schema dell’oggetto XbrlInstance.
  4. Quindi, ottieni SchemaRef dal suo indice da SchemaRefCollection.
  5. Quindi, ottieni ArcRoleType dal metodo GetArcroleTypeByURI().
  6. Quindi, crea un’istanza della classe ArcRoleReference con l’oggetto ArcRoleType come argomento.
  7. Successivamente, aggiungi ArcRoleReference alla raccolta di oggetti ArcRoleReference.
  8. Infine, salva il file XBRL usando il metodo XbrlDocument.Save(). Prende il percorso del file di output come argomento.

L’esempio di codice seguente mostra come aggiungere un riferimento al ruolo arco in un documento di istanza XBRL usando C#.

// Crea un'istanza della classe XbrlDocument
XbrlDocument document = new XbrlDocument();

// Ottieni XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// Aggiungi XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Definire il riferimento allo schema
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Aggiungi riferimento al ruolo dell'arco
ArcroleType arcroleType = schema.GetArcroleTypeByURI("http://abc.com/arcrole/footnote-test");
if (arcroleType != null)
{
    ArcroleReference arcroleReference = new ArcroleReference(arcroleType);
    xbrlInstance.ArcroleReferences.Add(arcroleReference);
}

// Salva il documento
document.Save(@"C:\Files\Finance\document8.xbrl");

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per provare la libreria senza limitazioni di valutazione.

Conclusione

In questo articolo abbiamo imparato a:

  • creare un documento XBRL usando C#;
  • aggiungere una nota a piè di pagina e un arco di nota a piè di pagina utilizzando il collegamento a piè di pagina agli oggetti XBRL a livello di codice;
  • aggiungi riferimenti al ruolo e all’arco in XBRL in C#.

Inoltre, puoi saperne di più su Aspose.Finance per l’API .NET usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche