ใน โพสต์ก่อนหน้า เราได้เรียนรู้วิธีเพิ่มการอ้างอิงสคีมา บริบท หน่วย และวัตถุข้อเท็จจริงไปยังเอกสารอินสแตนซ์ 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 อนุญาตให้แก้ไขค่าบทบาทส่วนโค้งแบบกำหนดเองที่ใช้ใน Link base หรือ XBRL Instance
โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.Finance
เพิ่มลิงก์เชิงอรรถให้กับ XBRL โดยใช้ C#
เราสามารถเพิ่มลิงค์เชิงอรรถในเอกสารอินสแตนซ์ XBRL โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
- เพิ่มอินสแตนซ์ XBRL ใหม่ให้กับอินสแตนซ์ของวัตถุ XbrlDocument
- เพิ่มการอ้างอิง schema ใหม่ไปยังการอ้างอิง schema ของวัตถุ XbrlInstance
- รับ SchemaRef โดยดัชนีจาก SchemaRefCollection
- เริ่มต้นอินสแตนซ์ Context และเพิ่มไปยังคอลเลกชัน Context object
- กำหนดตัวอย่าง เชิงอรรถ และตั้งค่าป้ายกำกับและข้อความ
- เริ่มต้นประเภท Locator โดยใช้อินสแตนซ์ของคลาส Loc
- กำหนด FootnoteArc ด้วย Locator label และ Footnote label เป็นอาร์กิวเมนต์
- สร้างอินสแตนซ์ของคลาสเชิงอรรถลิงก์
- เพิ่มเชิงอรรถ ตัวระบุตำแหน่ง และเชิงอรรถส่วนโค้งไปยังคอลเลกชันเชิงอรรถที่เกี่ยวข้อง
- หลังจากนั้น เพิ่ม FootnoteLink ลงในคอลเลกชัน FootnoteLinks
- สุดท้าย บันทึกไฟล์ XBRL โดยใช้วิธี XbrlDocument.Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มลิงก์เชิงอรรถในเอกสารอินสแตนซ์ XBRL โดยใช้ C#
// สร้างอินสแตนซ์ของคลาส XbrlDocument
XbrlDocument document = new XbrlDocument();
// รับอินสแตนซ์ Xbrl
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// เพิ่ม XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// กำหนดการอ้างอิง Schema
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.";
// กำหนด Locator
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");
เพิ่ม Role Reference Object ให้กับ XBRL โดยใช้ C#
เราสามารถเพิ่มการอ้างอิงบทบาทในเอกสารอินสแตนซ์ XBRL โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
- ถัดไป เพิ่มอินสแตนซ์ XBRL ใหม่ไปยังอินสแตนซ์ของวัตถุ XbrlDocument
- จากนั้น เพิ่มการอ้างอิง schema ใหม่ไปยังการอ้างอิง schema ของวัตถุ XbrlInstance
- รับ SchemaRef โดยดัชนีจาก SchemaRefCollection
- ถัดไป รับ RoleType จากเมธอด GetRoleTypeByURI()
- จากนั้น สร้างอินสแตนซ์ของคลาส RoleReference โดยมีอ็อบเจ็กต์ RoleType เป็นอาร์กิวเมนต์
- หลังจากนั้น ให้เพิ่ม RoleReference ลงในคอลเล็กชันวัตถุ RoleReference
- สุดท้าย บันทึกไฟล์ XBRL โดยใช้วิธี XbrlDocument.Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มการอ้างอิงบทบาทในเอกสารอินสแตนซ์ XBRL โดยใช้ C#
// สร้างอินสแตนซ์ของคลาส XbrlDocument
XbrlDocument document = new XbrlDocument();
// รับ XbrlInstance
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// เพิ่ม XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// กำหนดการอ้างอิง Schema
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 Reference Object ให้กับ XBRL โดยใช้ C#
เราสามารถเพิ่มการอ้างอิงบทบาท Arc ในเอกสารอินสแตนซ์ XBRL โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก สร้างอินสแตนซ์ของคลาส XbrlDocument
- ถัดไป เพิ่มอินสแตนซ์ XBRL ใหม่ไปยังอินสแตนซ์ของวัตถุ XbrlDocument
- จากนั้น เพิ่มการอ้างอิง schema ใหม่ไปยังการอ้างอิง schema ของวัตถุ XbrlInstance
- ถัดไป รับ SchemaRef โดยดัชนีจาก SchemaRefCollection
- จากนั้น รับ ArcRoleType จากเมธอด GetArcroleTypeByURI()
- จากนั้น สร้างอินสแตนซ์ของคลาส ArcRoleReference โดยมีอ็อบเจ็กต์ ArcRoleType เป็นอาร์กิวเมนต์
- หลังจากนั้น ให้เพิ่ม ArcRoleReference ลงในคอลเลกชันอ็อบเจ็กต์ ArcRoleReference
- สุดท้าย บันทึกไฟล์ XBRL โดยใช้วิธี XbrlDocument.Save() ใช้เส้นทางไฟล์เอาต์พุตเป็นอาร์กิวเมนต์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มการอ้างอิงบทบาทส่วนโค้งในเอกสารอินสแตนซ์ XBRL โดยใช้ C#
// สร้างอินสแตนซ์ของคลาส XbrlDocument
XbrlDocument document = new XbrlDocument();
// รับ XbrlInstance
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// เพิ่ม XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// กำหนดการอ้างอิง Schema
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 โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม