Bir XBRL belgesi, birlikte bir iş raporu oluşturan gerçeklerin bir koleksiyonudur. Programlı olarak kolayca bir XBRL örnek belgesi oluşturabilir ve şema referansı, bağlam, birim, öğeler vb. nesneler veya öğeler ekleyebiliriz. Bu makalemizde Python kullanarak bir XBRL dosyası oluşturmayı öğreneceğiz.
Bu yazıda aşağıdaki konular ele alınacaktır:
- XBRL nedir
- XBRL Dosyaları Oluşturmak İçin Python Finans Kitaplığı
- XBRL Dosyası Oluştur
- XBRL’ye Şema Referansı Ekleyin
- XBRL’de Bağlam Ekle
- XBRL’de Bir Birim Oluşturun
- XBRL’de Gerçek Öğesi Ekleyin
- XBRL’ye Dipnot Bağlantıları Ekleyin
- XBRL’de Rol Referansı Girin
- XBRL’ye Arc Rol Referansı Ekleyin
XBRL nedir?
XBRL, XML tabanlı bir biçimlendirme dili olan eXtensible Business Reporting Language anlamına gelir. Bir şirketin mali performansının standart iş raporlaması için kullanılır. İş sistemleri arasında iş bilgilerini iletmek ve değiş tokuş etmek için bir yol sağlar.
XBRL Dosyaları Oluşturmak için Python Finans Kitaplığı
Bir XBRL dosyası veya örnek belgesi oluşturmak için Aspose.Finance for Python API’sini kullanacağız. XBRL örnekleri oluşturmaya, XBRL veya iXBRL dosyalarını ayrıştırmaya ve doğrulamaya izin verir.
API, bir veya daha fazla XBRL örneği içeren bir XBRL belgesini temsil eden XbrlDocument sınıfını sağlar. Bir XBRL örneği, kök öğesinin bir XBRL etiketine sahip olduğu bir XML parçasıdır. XbrlInstance sınıfı, XBRL örnekleriyle çalışmak için çeşitli yöntemler ve özellikler sağlar. XbrlDocument sınıfının save() yöntemi, XBRL dosyasını oluşturur ve diske kaydeder. Lütfen XBRL nesneleriyle çalışmak için diğer sınıflar hakkında daha fazla bilgiyi API referansı içinde okuyun.
Lütfen paketi indirin veya konsolda aşağıdaki pip komutunu kullanarak API’yi PyPI‘den kurun:
pip install aspose-finance
Python’da XBRL Örnek Belgesi Oluşturun
Aşağıda verilen adımları izleyerek bir XBRL örnek belgesini sıfırdan kolayca oluşturabiliriz:
- İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
- Ardından, XbrlDocument nesnesinden xbrlinstances nesnesine örnek koleksiyonuna erişin.
- Bundan sonra, xbrlinstances.add() yöntemini kullanarak yeni bir XBRL örneği ekleyin.
- Son olarak, save(string) yöntemini kullanarak XBRL dosyasını kaydedin. Çıktı dosyası yolunu bağımsız değişken olarak alır.
Aşağıdaki kod örneği, Python kullanılarak bir XBRL örneğinin nasıl oluşturulacağını gösterir.
# Bu kod örneği, bir XBRL belgesinin nasıl oluşturulacağını gösterir
from aspose.finance.xbrl import XbrlDocument
# Belgeler dizininin yolu.
outputFile = "C:\\Files\\document.xbrl"
# XBRL belgesi oluştur
xbrlDoc = XbrlDocument()
# Belge örnekleri koleksiyonunu alın
xbrlInstances = xbrlDoc.xbrl_instances
# Koleksiyona örnek ekle
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Dosya 'yı kaydet
xbrlDoc.save(outputFile)
XBRL örneğini oluşturduktan sonra, yeni oluşturulan XBRL örneğine şema referansını, bağlamı, birimleri, öğeleri, dipnot bağlantılarını, rol referanslarını ve ark rolü referanslarını ekleyebiliriz.
Python kullanarak XBRL’ye Şema Referansı Ekleme
Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine şema referansı ekleyebiliriz:
- İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
- Ardından, XbrlDocument nesnesinin örneklerinin koleksiyonunu xbrlinstances nesnesine alın.
- Ardından, xbrlinstances.add() yöntemini kullanarak yeni bir XBRL örneği ekleyin.
- Ardından, XbrlInstance nesnesinin şema başvuru koleksiyonunu schemarefs nesnesine alın.
- Bundan sonra, giriş şema dosyasıyla schemarefs.add() yöntemini kullanarak yeni bir şema referansı ekleyin.
- Son olarak, save(string) yöntemini kullanarak XBRL dosyasını kaydedin.
Aşağıdaki kod örneği, Python’da bir XBRL örnek belgesinin nasıl oluşturulacağını ve şema referansının nasıl ekleneceğini gösterir.
# Bu kod örneği, bir XBRL belgesinin nasıl oluşturulacağını ve şema referans nesnesinin nasıl ekleneceğini gösterir.
from aspose.finance.xbrl import XbrlDocument
# Belgeler dizininin yolu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# XBRL belgesi oluştur
xbrlDoc = XbrlDocument()
# Belge örnekleri koleksiyonunu alın
xbrlInstances = xbrlDoc.xbrl_instances
# Koleksiyona örnek ekle
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Örnek şema referansları koleksiyonunu alın
schemaRefs = xbrlInstance.schema_refs
# şema ekle
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
# belgeyi kaydet
xbrlDoc.save(outputFile)
Python kullanarak XBRL’de Bağlam Ekleme
Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine bağlam ekleyebiliriz:
- İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
- Ardından, XbrlDocument nesnesinin xbrlinstances’ına yeni bir XBRL örneği ekleyin.
- Ardından, başlangıç ve bitiş tarihleriyle ContextPeriod sınıfının bir örneğini oluşturun.
- Ardından, şema ve tanımlayıcı ile bir ContextEntity nesnesi oluşturun.
- Ardından, tanımlanmış ContextPeriod ve ContextEntity ile Context sınıfının bir örneğini oluşturun.
- Bundan sonra, Bağlam nesnesini bağlamlar koleksiyonuna ekleyin.
- Son olarak, save(string) yöntemini kullanarak XBRL dosyasını kaydedin.
Aşağıdaki kod örneği, Python’da bir XBRL örnek belgesinin nasıl oluşturulacağını ve bir bağlam nesnesinin nasıl ekleneceğini gösterir.
# Bu kod örneği, bir XBRL belgesinin nasıl oluşturulacağını ve Bağlam nesnesinin nasıl ekleneceğini gösterir.
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context
# Belgeler dizininin yolu.
outputFile = "C:\\Files\\document.xbrl"
# XBRL belgesi oluştur
xbrlDoc = XbrlDocument()
# Belge örnekleri koleksiyonunu alın
xbrlInstances = xbrlDoc.xbrl_instances
# Koleksiyona örnek ekle
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Bağlam dönemi ekle
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
# Bağlam varlığı ekle
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
# Bağlamı tanımlayın ve ekleyin
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)
# belgeyi kaydet
xbrlDoc.save(outputFile)
Python kullanarak XBRL’de Birimler Oluşturun
XBRL’deki birimler sayısal Öğeleri ölçer. Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine bir birim ekleyebiliriz:
- İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
- Ardından, XbrlDocument nesnesinin xbrlinstances’ına yeni bir XBRL örneği ekleyin.
- Ardından, MEASURE olarak UnitType ile Unit sınıfının bir örneğini oluşturun.
- Ardından, measurequalifiednames koleksiyonuna QualifiedName ekleyin.
- Bundan sonra, Birim koleksiyonuna Birim ekleyin.
- Son olarak, save(string) yöntemini kullanarak XBRL dosyasını kaydedin.
Aşağıdaki kod örneği, bir XBRL dosyasının nasıl oluşturulacağını ve Python’da bir birim nesnesinin nasıl ekleneceğini gösterir.
# Bu kod örneği, bir XBRL belgesinin nasıl oluşturulacağını ve Birim nesnesinin nasıl ekleneceğini gösterir.
from aspose.finance.xbrl import XbrlDocument,Unit,QualifiedName,UnitType
# Belgeler dizininin yolu.
outputFile = "C:\\Files\\document.xbrl"
# XBRL belgesi oluştur
xbrlDoc = XbrlDocument()
# Belge örnekleri koleksiyonunu alın
xbrlInstances = xbrlDoc.xbrl_instances
# Koleksiyona örnek ekle
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Birim Ekle
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)
# belgeyi kaydet
xbrlDoc.save(outputFile)
Python kullanarak XBRL’de Gerçek Öğesi Ekleme
XBRL’deki gerçekler, öğe öğeleri kullanılarak tanımlanır. XBRL’deki bir öğe, basit gerçeğin değerini ve bu gerçeği doğru şekilde yorumlamak için bağlama bir referans içerir. Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine bir öğe ekleyebiliriz:
- İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
- XbrlDocument nesnesinin xbrlinstance’larına yeni bir XBRL örneği ekleyin.
- XbrlInstance nesnesinin şema referanslarına yeni bir şema referansı ekleyin.
- SchemaRef’i schemaref’lerden dizinine göre alın.
- Context örneğini başlatın ve onu bağlam koleksiyonuna ekleyin.
- Bir Unit örneği tanımlayın ve onu birimler koleksiyonuna ekleyin.
- getconceptbyname() yöntemini kullanarak bir Concept sınıfı örneği oluşturun.
- Bağımsız değişken olarak Concept nesnesiyle Item sınıfının bir örneğini oluşturun.
- Bağlam ref, birim ref, kesinlik, değer vb. gibi öğe özelliklerini ayarlayın.
- Bundan sonra Öğeyi gerçekler koleksiyonuna ekleyin.
- Son olarak save(string) yöntemini kullanarak XBRL dosyasını kaydedin.
Aşağıdaki kod örneği, Python kullanarak bir XBRL örnek belgesinde bir olgunun öğe öğesi olarak nasıl ekleneceğini gösterir.
# Bu kod örneği, bir XBRL belgesinin nasıl oluşturulacağını ve Öğe nesnesinin nasıl ekleneceğini gösterir.
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,Unit,UnitType,QualifiedName,Item
# Belgeler dizininin yolu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# XBRL belgesi oluştur
xbrlDoc = XbrlDocument()
# Belge örnekleri koleksiyonunu alın
xbrlInstances = xbrlDoc.xbrl_instances
# Koleksiyona örnek ekle
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Örnek şema başvuruları koleksiyonunu alın
schemaRefs = xbrlInstance.schema_refs
# şema ekle
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
# Bağlam ekle
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)
# Birim ekle
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)
# Öğe eklemek
fixedAssetsConcept = schema.get_concept_by_name("fixedAssets")
if fixedAssetsConcept is not None:
item = Item(fixedAssetsConcept)
item.context_ref = context
item.unit_ref = unit
item.precision = 4
item.value = "1444"
xbrlInstance.facts.append(item)
# belgeyi kaydet
xbrlDoc.save(outputFile)
Python’da XBRL’ye Dipnot Bağlantıları Ekleme
Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine dipnot bağlantısı ekleyebiliriz:
- İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
- XbrlDocument nesnesinin xbrlinstance’larına yeni bir XBRL örneği ekleyin.
- XbrlInstance nesnesinin şema referanslarına yeni bir şema referansı ekleyin.
- SchemaRef’i schemaref’lerden dizinine göre alın.
- Context örneğini başlatın ve onu bağlam koleksiyonuna ekleyin.
- Bir Footnote sınıfı örneği tanımlayın ve etiketini ve metnini ayarlayın.
- Loc sınıfı örneğini kullanarak Locator türünü başlatın.
- Konumlandırıcı etiketi ve Dipnot etiketi ile FootnoteArc nesnesini bağımsız değişken olarak tanımlayın.
- FootnoteLink sınıfının bir örneğini oluşturun.
- İlgili koleksiyonlara Footnote, Locator ve FootnoteArc ekleyin.
- Bundan sonra, FootnoteLink’i dipnotelinks koleksiyonuna ekleyin.
- Son olarak save(string) yöntemini kullanarak XBRL dosyasını kaydedin.
Aşağıdaki kod örneği, Python kullanılarak bir XBRL örnek belgesine dipnot bağlantısının nasıl ekleneceğini gösterir.
# Bu kod örneği, bir XBRL belgesinin nasıl oluşturulacağını ve Dipnot Bağlantısı nesnesinin nasıl ekleneceğini gösterir.
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,FootnoteLink,Footnote,Loc,FootnoteArc
# Belgeler dizininin yolu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# XBRL belgesi oluştur
xbrlDoc = XbrlDocument()
# Belge örnekleri koleksiyonunu alın
xbrlInstances = xbrlDoc.xbrl_instances
# Koleksiyona örnek ekle
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Örnek şema referansları koleksiyonunu alın
schemaRefs = xbrlInstance.schema_refs
# şema ekle
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
# Bağlam ekle
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)
# Dipnot Ekle
footnote = Footnote("footnote1")
footnote.text = "Including the effects of the merger."
# Konum ekle
loc = Loc("#cd1", "fact1")
# Dipnot yayını tanımla
footnoteArc = FootnoteArc(loc.label, footnote.label)
# Dipnot EkleLink
footnoteLink = FootnoteLink()
footnoteLink.footnotes.append(footnote)
footnoteLink.locators.append(loc)
footnoteLink.footnote_arcs.append(footnoteArc)
xbrlInstance.footnote_links.append(footnoteLink)
# belgeyi kaydet
xbrlDoc.save(outputFile)
Python kullanarak XBRL’de Rol Referansı Ekleme
Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine bir Rol referansı ekleyebiliriz:
- İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
- XbrlDocument nesnesinin xbrlinstance’larına yeni bir XBRL örneği ekleyin.
- XbrlInstance nesnesinin şema referanslarına yeni bir şema referansı ekleyin.
- SchemaRef’i schemaref’lerden dizinine göre alın.
- Sonra, getroletypebyuri() yönteminden RoleType’ı alın.
- Ardından, bağımsız değişken olarak RoleType nesnesiyle RoleReference sınıfının bir örneğini oluşturun.
- Bundan sonra RoleReference’ı rolereferences koleksiyonuna ekleyin.
- Son olarak, save(string) yöntemini kullanarak XBRL dosyasını kaydedin.
Aşağıdaki kod örneği, Python kullanılarak bir XBRL örnek belgesine nasıl rol referansı ekleneceğini gösterir.
# Bu kod örneği, bir XBRL belgesinin nasıl oluşturulacağını ve Rol referans nesnesinin nasıl ekleneceğini gösterir.
from aspose.finance.xbrl import XbrlDocument,RoleReference
# Belgeler dizininin yolu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# XBRL belgesi oluştur
xbrlDoc = XbrlDocument()
# Belge örnekleri koleksiyonunu alın
xbrlInstances = xbrlDoc.xbrl_instances
# Koleksiyona örnek ekle
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Örnek şema başvuruları koleksiyonunu alın
schemaRefs = xbrlInstance.schema_refs
# şema ekle
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
# Rol türünü al
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")
# Rol referansı ekle
if roleType is not None:
roleReference = RoleReference(roleType)
xbrlInstance.role_references.append(roleReference)
# belgeyi kaydet
xbrlDoc.save(outputFile)
Python’da XBRL’ye Arc Rol Referansı Ekleme
Aşağıda verilen adımları izleyerek bir XBRL örnek belgesine bir Arc rol referansı ekleyebiliriz:
- İlk olarak, XbrlDocument sınıfının bir örneğini oluşturun.
- XbrlDocument nesnesinin xbrlinstance’larına yeni bir XBRL örneği ekleyin.
- XbrlInstance nesnesinin şema referanslarına yeni bir şema referansı ekleyin.
- SchemaRef’i schemaref’lerden dizinine göre alın.
- Ardından, getarcroletypebyuri() yönteminden RoleType’ı alın.
- Ardından, bağımsız değişken olarak RoleType nesnesiyle ArcroleReference sınıfının bir örneğini oluşturun.
- Bundan sonra, ArcroleReference’ı arcrolereferences koleksiyonuna ekleyin.
- Son olarak, save(string) yöntemini kullanarak XBRL dosyasını kaydedin.
Aşağıdaki kod örneği, Python kullanılarak bir XBRL örnek belgesine bir yay rolü referansının nasıl ekleneceğini gösterir.
# Bu kod örneği, bir XBRL belgesinin nasıl oluşturulacağını ve Arc Role referans nesnesinin nasıl ekleneceğini gösterir.
from aspose.finance.xbrl import XbrlDocument,ArcroleReference
# Belgeler dizininin yolu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"
# XBRL belgesi oluştur
xbrlDoc = XbrlDocument()
# Belge örnekleri koleksiyonunu alın
xbrlInstances = xbrlDoc.xbrl_instances
# Koleksiyona örnek ekle
xbrlInstance = xbrlInstances[xbrlInstances.add()]
# Örnek şema başvuruları koleksiyonunu alın
schemaRefs = xbrlInstance.schema_refs
# şema ekle
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
# Rol türünü al
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")
# Rol referansı ekle
if roleType is not None:
arcroleReference = ArcroleReference(roleType)
xbrlInstance.arcrole_references.append(arcroleReference)
# belgeyi kaydet
xbrlDoc.save(outputFile)
Ücretsiz Lisans Alın
Kitaplığı değerlendirme sınırlamaları olmadan denemek için ücretsiz bir geçici lisans alabilirsiniz.
Çözüm
Bu yazıda, Python kullanarak bir XBRL belgesi oluşturmayı öğrendik. Oluşturulan XBRL örnek belgesine programlı olarak çeşitli XBRL nesnelerinin nasıl ekleneceğini de gördük. Ayrıca, belgeleri kullanarak Aspose.Finance for Python API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen forumumuzdan bizimle iletişime geçmekten çekinmeyin.