I föregående inlägg lärde vi oss hur man lägger till schemareferens, sammanhang, enhet och faktaobjekt till XBRL-instansdokument med C#. I den här artikeln kommer vi att lära oss hur du lägger till fotnotslänkar och rollreferensobjekt till XBRL med C#.
Följande ämnen ska behandlas i den här artikeln:
- C# API för att lägga till fotnotslänkar och rollreferensobjekt till XBRL
- Lägg till fotnotslänkar till XBRL
- Lägg till rollreferensobjekt till XBRL
- Arc Roll Reference Object i XBRL
C# API för att lägga till fotnotslänkar och rollreferensobjekt till XBRL
För att lägga till rollreferens- och bågrollreferensobjekt till ett XBRL-instansdokument kommer vi att använda Aspose.Finance for .NET API. Det gör det möjligt att skapa XBRL-instanser, analysera och validera XBRL- eller iXBRL-filerna. Klassen XbrlDocument i API:t representerar ett XBRL-dokument som innehåller en eller flera XBRL-instanser. En XBRL-instans är ett XML-fragment, där rotelementet har en XBRL-tagg. Klassen XbrlInstance tillhandahåller olika metoder och egenskaper för att arbeta med XBRL-instansen. Klassen FootnoteLink innehåller lokalisatorer, resurser och bågar för att beskriva relationerna mellan fakta i en XBRL-instans. API:et tillhandahåller klassen RoleReference som gör det möjligt att referera till definitionerna av alla anpassade rollattributvärden som används i fotnotslänkar i XBRL-instansen. På liknande sätt tillåter klassen ArcRoleReference att lösa anpassade bågrollvärden som används i en länkbas eller en XBRL-instans.
Vänligen antingen ladda ner API:ts DLL eller installera den med NuGet.
PM> Install-Package Aspose.Finance
Lägg till fotnotslänkar till XBRL med C#
Vi kan lägga till en fotnotslänk i ett XBRL-instansdokument genom att följa stegen nedan:
- Skapa först en instans av klassen XbrlDocument.
- Lägg till en ny XBRL-instans till XbrlDocument-objektets instanser.
- Lägg till en ny schemareferens till XbrlInstance-objektets schemareferenser.
- Få SchemaRef genom dess index från SchemaRefCollection.
- Initiera instansen Context och lägg till den i samlingen Context objects.
- Definiera en Fotnot-instans och ställ in dess etikett och text.
- Initiera Locator-typ med klassinstansen Loc.
- Definiera FootnoteArc med Locator-etikett och Footnote-etikett som argument.
- Skapa en instans av klassen FootnoteLink.
- Lägg till Footnote, Locator och FootnoteArc till relevanta FootnoteLink-samlingar.
- Lägg sedan till FootnoteLink till FootnoteLinks-samlingen.
- Spara slutligen XBRL-filen med metoden XbrlDocument.Save(). Den tar utdatafilens sökväg som ett argument.
Följande kodexempel visar hur man lägger till en fotnotslänk i ett XBRL-instansdokument med C#.
// Skapa en instans av XbrlDocument-klassen
XbrlDocument document = new XbrlDocument();
// Skaffa XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Lägg till XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// Definiera schemareferens
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];
// Definiera sammanhang
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);
// Definiera fotnot
Footnote footnote = new Footnote("footnote1");
footnote.Text = "Including the effects of the merger.";
// Definiera Locator
Loc loc = new Loc("#cd1", "fact1");
// Definiera fotnotArc
FootnoteArc footnoteArc = new FootnoteArc(loc.Label, footnote.Label);
// Definiera fotnot link
FootnoteLink footnoteLink = new FootnoteLink();
footnoteLink.Footnotes.Add(footnote);
footnoteLink.Locators.Add(loc);
footnoteLink.FootnoteArcs.Add(footnoteArc);
xbrlInstance.FootnoteLinks.Add(footnoteLink);
// Spara dokumentet
document.Save(@"C:\Files\Finance\document6.xbrl");
Lägg till rollreferensobjekt till XBRL med C#
Vi kan lägga till en rollreferens i ett XBRL-instansdokument genom att följa stegen nedan:
- Skapa först en instans av klassen XbrlDocument.
- Lägg sedan till en ny XBRL-instans till XbrlDocument-objektets instanser.
- Lägg sedan till en ny schemareferens till XbrlInstance-objektets schemareferenser.
- Få SchemaRef genom dess index från SchemaRefCollection.
- Därefter hämtar du RoleType från metoden GetRoleTypeByURI().
- Skapa sedan en instans av klassen RoleReference med RoleType-objektet som argument.
- Lägg sedan till RoleReference till RoleReference-objektsamlingen.
- Slutligen sparar du XBRL-filen med metoden XbrlDocument.Save(). Den tar utdatafilens sökväg som ett argument.
Följande kodexempel visar hur man lägger till rollreferens i ett XBRL-instansdokument med C#.
// Skapa en instans av XbrlDocument-klassen
XbrlDocument document = new XbrlDocument();
// Skaffa XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Lägg till XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// Definiera schemareferens
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];
// Lägg till rollreferens
RoleType roleType = schema.GetRoleTypeByURI("http://abc.com/role/link1");
if (roleType != null)
{
RoleReference roleReference = new RoleReference(roleType);
xbrlInstance.RoleReferences.Add(roleReference);
}
// Spara dokumentet
document.Save(@"C:\Files\Finance\document7.xbrl");
Lägg till Arc Roll Reference Object till XBRL med C#
Vi kan lägga till en Arc-rollreferens i ett XBRL-instansdokument genom att följa stegen nedan:
- Skapa först en instans av klassen XbrlDocument.
- Lägg sedan till en ny XBRL-instans till XbrlDocument-objektets instanser.
- Lägg sedan till en ny schemareferens till XbrlInstance-objektets schemareferenser.
- Hämta sedan SchemaRef efter dess index från SchemaRefCollection.
- Hämta sedan ArcRoleType från metoden GetArcroleTypeByURI().
- Skapa sedan en instans av klassen ArcRoleReference med objektet ArcRoleType som argument.
- Efter det lägger du till ArcRoleReference i ArcRoleReference-objektsamlingen.
- Slutligen, spara XBRL-filen med metoden XbrlDocument.Save(). Den tar utdatafilens sökväg som ett argument.
Följande kodexempel visar hur man lägger till bågrollreferens i ett XBRL-instansdokument med C#.
// Skapa en instans av XbrlDocument-klassen
XbrlDocument document = new XbrlDocument();
// Skaffa XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Lägg till XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// Definiera schemareferens
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];
// Lägg till Arc Roll Reference
ArcroleType arcroleType = schema.GetArcroleTypeByURI("http://abc.com/arcrole/footnote-test");
if (arcroleType != null)
{
ArcroleReference arcroleReference = new ArcroleReference(arcroleType);
xbrlInstance.ArcroleReferences.Add(arcroleReference);
}
// Spara dokumentet
document.Save(@"C:\Files\Finance\document8.xbrl");
Skaffa en gratis licens
Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har vi lärt oss hur man:
- skapa ett XBRL-dokument med C#;
- lägg till en fotnot och en fotnotsbåge med hjälp av fotnotslänk till XBRL-objekt programmatiskt;
- lägg till roll- och bågrollreferenser i XBRL i C#.
Dessutom kan du lära dig mer om Aspose.Finance för .NET API med hjälp av dokumentationen. I händelse av oklarheter, var god kontakta oss på forum.