C# kullanarak XBRL'ye Dipnot Bağlantıları ve Rol Referans Nesneleri Ekleme

Önceki gönderide, C# kullanarak XBRL örnek belgelerine şema referansı, bağlam, birim ve olgu nesnelerinin nasıl ekleneceğini öğrendik. Bu yazımızda C# kullanarak XBRL’ye dipnot linkleri ve rol referans nesneleri eklemeyi öğreneceğiz.

Bu yazıda aşağıdaki konular ele alınacaktır:

Bir XBRL örnek belgesine rol referansı ve ark rolü referans nesneleri eklemek için Aspose.Finance for .NET API’sini kullanacağız. XBRL örnekleri oluşturmaya, XBRL veya iXBRL dosyalarını ayrıştırmaya ve doğrulamaya izin verir. API’nin XbrlDocument sınıfı, bir veya daha fazla XBRL örneği içeren bir XBRL belgesini temsil eder. Bir XBRL örneği, kök öğesinin bir XBRL etiketine sahip olduğu bir XML parçasıdır. XbrlInstance sınıfı, XBRL örneğiyle çalışmak için çeşitli yöntemler ve özellikler sağlar. FootnoteLink sınıfı, bir XBRL Eşgörünümündeki gerçekler arasındaki ilişkileri açıklamak için yer belirleyicileri, kaynakları ve yayları içerir. API, XBRL örneğindeki dipnot bağlantılarında kullanılan herhangi bir özel rol özniteliği değerlerinin tanımlarına başvurulmasına izin veren RoleReference sınıfını sağlar. Benzer şekilde, ArcRoleReference sınıfı, bir Bağlantı tabanında veya bir XBRL Eşgörünümünde kullanılan özel ark rolü değerlerinin çözümlenmesine izin verir.

Lütfen API’nin DLL’sini indirin veya NuGet kullanarak kurun.

PM> Install-Package Aspose.Finance

Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine dipnot bağlantısı ekleyebiliriz:

  1. İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
  2. XbrlDocument nesnesinin örneklerine yeni bir XBRL örneği ekleyin.
  3. XbrlInstance nesnesinin şema referanslarına yeni bir şema referansı ekleyin.
  4. SchemaRef dizinine göre SchemaRefCollection’dan alın.
  5. Bağlam örneğini başlatın ve Bağlam nesneleri koleksiyonuna ekleyin.
  6. Bir Dipnot örneği tanımlayın ve etiketini ve metnini ayarlayın.
  7. Loc sınıf örneğini kullanarak Bulucu türünü başlatın.
  8. FootnoteArc‘i Konumlandırıcı etiketi ve Dipnot etiketi ile bağımsız değişken olarak tanımlayın.
  9. FootnoteLink sınıfının bir örneğini oluşturun.
  10. İlgili FootnoteLink koleksiyonlarına Footnote, Locator ve FootnoteArc ekleyin.
  11. Bundan sonra, FootnoteLinks’i FootnoteLinks koleksiyonuna ekleyin.
  12. Son olarak, XBRL dosyasını XbrlDocument.Save() yöntemini kullanarak kaydedin. Çıktı dosyası yolunu bağımsız değişken olarak alır.

Aşağıdaki kod örneği, C# kullanarak bir XBRL örnek belgesine dipnot bağlantısının nasıl ekleneceğini gösterir.

// XbrlDocument sınıfının bir örneğini oluşturun
XbrlDocument document = new XbrlDocument();

// XbrlInstances'ı Alın
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// XbrlÖrneği Ekle
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Şema referansını tanımla
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Bağlamı tanımla
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);

// Dipnotu Tanımla
Footnote footnote = new Footnote("footnote1");
footnote.Text = "Including the effects of the merger.";

// Konum Belirleyiciyi Tanımla
Loc loc = new Loc("#cd1", "fact1");

// Dipnotu TanımlaArc
FootnoteArc footnoteArc = new FootnoteArc(loc.Label, footnote.Label);

// Dipnotu Tanımla link
FootnoteLink footnoteLink = new FootnoteLink();
footnoteLink.Footnotes.Add(footnote);
footnoteLink.Locators.Add(loc);
footnoteLink.FootnoteArcs.Add(footnoteArc);
xbrlInstance.FootnoteLinks.Add(footnoteLink);

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

C# kullanarak XBRL’ye Rol Referans Nesnesi Ekleme

Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine bir Rol referansı ekleyebiliriz:

  1. İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
  2. Ardından, XbrlDocument nesnesinin örneklerine yeni bir XBRL örneği ekleyin.
  3. Ardından, XbrlInstance nesnesinin şema referanslarına yeni bir şema referansı ekleyin.
  4. SchemaRefCollection’dan dizinine göre SchemaRef’i alın.
  5. Ardından, GetRoleTypeByURI() yönteminden RoleType‘yi alın.
  6. Ardından, bağımsız değişken olarak RoleType nesnesiyle RoleReference sınıfının bir örneğini oluşturun.
  7. Bundan sonra, RoleReference’ı RoleReference nesneleri koleksiyonuna ekleyin.
  8. Son olarak, XBRL dosyasını XbrlDocument.Save() yöntemini kullanarak kaydedin. Çıktı dosyası yolunu bağımsız değişken olarak alır.

Aşağıdaki kod örneği, C# kullanarak bir XBRL örnek belgesine rol referansının nasıl ekleneceğini gösterir.

// XbrlDocument sınıfının bir örneğini oluşturun
XbrlDocument document = new XbrlDocument();

// XbrlInstances'ı Alın
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// XbrlÖrneği Ekle
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Şema referansını tanımla
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

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

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

C# kullanarak XBRL’ye Arc Role Referans Nesnesi ekleyin

Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine bir Arc rol referansı ekleyebiliriz:

  1. İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
  2. Ardından, XbrlDocument nesnesinin örneklerine yeni bir XBRL örneği ekleyin.
  3. Ardından, XbrlInstance nesnesinin şema referanslarına yeni bir şema referansı ekleyin.
  4. Ardından, SchemaRefCollection’dan dizinine göre SchemaRef’i alın.
  5. Ardından, GetArcroleTypeByURI() yönteminden ArcRoleType öğesini alın.
  6. Ardından, bağımsız değişken olarak ArcRoleType nesnesiyle ArcRoleReference sınıfının bir örneğini oluşturun.
  7. Bundan sonra, ArcRoleReference nesneleri koleksiyonuna ArcRoleReference ekleyin.
  8. Son olarak, XBRL dosyasını XbrlDocument.Save() yöntemini kullanarak kaydedin. Çıktı dosyası yolunu bağımsız değişken olarak alır.

Aşağıdaki kod örneği, C# kullanarak bir XBRL örnek belgesine ark rolü referansının nasıl ekleneceğini gösterir.

// XbrlDocument sınıfının bir örneğini oluşturun
XbrlDocument document = new XbrlDocument();

// XbrlInstances'ı Alın
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// XbrlÖrneği Ekle
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// Şema referansını tanımla
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"C:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// Arc Rolü Referansı Ekle
ArcroleType arcroleType = schema.GetArcroleTypeByURI("http://abc.com/arcrole/footnote-test");
if (arcroleType != null)
{
    ArcroleReference arcroleReference = new ArcroleReference(arcroleType);
    xbrlInstance.ArcroleReferences.Add(arcroleReference);
}

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

Ücretsiz Lisans Alın

Kitaplığı değerlendirme sınırlamaları olmadan denemek için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Bu makalede, şunların nasıl yapıldığını öğrendik:

  • C# kullanarak bir XBRL belgesi oluşturun;
  • programlı olarak XBRL nesnelerine dipnot bağlantısını kullanarak bir dipnot ve dipnot yayı ekleyin;
  • C#’ta XBRL’de rol ve ark rolü referansları ekleyin.

Ayrıca belgeleri kullanarak Aspose.Finance for .NET API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen forumda bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız