قم بإنشاء ملف XBRL في Python

قم بإنشاء مثيل XBRL في C#

يدعم Aspose.Finance تكوين وثائق XBRL. لهذا ، يوفر API فئة XbrlDocument. يمكن استخدام المُنشئ الافتراضي لفئة XbrlDocument لإنشاء مستند نسخة XBRL جديد.

يوضح مقتطف الكود التالي إنشاء مستند مثيل جديد XBRL.

xbrlDoc = XbrlDocument()
xbrlInstances = xbrlDoc.xbrl_instances
xbrlInstance = xbrlInstances[xbrlInstances.add()]
xbrlDoc.save(os.path.join(outputDir, "dochavingItem.xbrl"))

أضف مرجع مخطط

يسمح لك Aspose.Finance بإضافة مرجع الوصف المنطقي في نسخة XBRL التي تم تكوينها حديثًا. لهذا ، يوفر API فئة SchemaRefCollection.

يوضح مقتطف التعليمات البرمجية التالي إضافة مرجع مخطط إلى مثيل XBRL تم إنشاؤه حديثًا.

xbrlDoc = XbrlDocument()
xbrlInstances = xbrlDoc.xbrl_instances
xbrlInstance = xbrlInstances[xbrlInstances.add()]
schemaRefs = xbrlInstance.schema_refs
schemaRefs.add(os.path.join(sourceDir, "schema.xsd"), "example", "http://example.com/xbrl/taxonomy")
xbrlDoc.save(os.path.join(outputDir, "dochavingItem.xbrl"))

أضف السياق

يسمح لك Aspose.Finance بإضافة سياق في نسخة XBRL المنشأة حديثًا. لهذا ، يوفر API فئة السياق.

يوضح مقتطف التعليمات البرمجية التالي إضافة سياق في مثيل XBRL تم إنشاؤه حديثًا.

xbrlDoc = XbrlDocument()
xbrlInstances = xbrlDoc.xbrl_instances
xbrlInstance = xbrlInstances[xbrlInstances.add()]
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)
xbrlDoc.save(os.path.join(outputDir, "dochavingItem.xbrl"))

أضف وحدة

يسمح لك Aspose.Finance بإضافة سياق في نسخة XBRL المنشأة حديثًا. لهذا ، يوفر API فئة الوحدة.

يوضح مقتطف الشفرة التالي كيفية إضافة وحدة في مثيل XBRL تم إنشاؤه حديثًا.

xbrlDoc = XbrlDocument()
xbrlInstances = xbrlDoc.xbrl_instances
xbrlInstance = xbrlInstances[xbrlInstances.add()]
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)
xbrlDoc.save(os.path.join(outputDir, "dochavingItem.xbrl"))

اضافة عنصر

يسمح لك Aspose.Finance بإضافة بنود في نسخة XBRL التي تم تكوينها حديثًا. لهذا ، يوفر API فئة البند.

يوضح مقتطف التعليمات البرمجية التالي كيفية إضافة عنصر في مثيل XBRL تم إنشاؤه حديثًا.

xbrlDoc = XbrlDocument()
xbrlInstances = xbrlDoc.xbrl_instances
xbrlInstance = xbrlInstances[xbrlInstances.add()]
schemaRefs = xbrlInstance.schema_refs
schemaRefs.add(os.path.join(sourceDir, "schema.xsd"), "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)
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)
xbrlDoc.save(os.path.join(outputDir, "dochavingItem.xbrl"))

إضافة ارتباط الحاشية السفلية

يسمح لك Aspose.Finance بإضافة ارتباط حاشية سفلية في نسخة XBRL المنشأة حديثًا. لهذا ، يوفر API فئة FootnoteLink.

يوضح مقتطف التعليمات البرمجية التالي كيفية إضافة ارتباط حاشية سفلية في مثيل XBRL تم إنشاؤه حديثًا.

xbrlDoc = XbrlDocument()
xbrlInstances = xbrlDoc.xbrl_instances
xbrlInstance = xbrlInstances[xbrlInstances.add()]
schemaRefs = xbrlInstance.schema_refs
schemaRefs.add(os.path.join(sourceDir, "schema.xsd"), "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)
footnoteLink = FootnoteLink()
footnote = Footnote("footnote1")
footnote.text = "Including the effects of the merger."
loc = Loc("#cd1", "fact1")
footnoteArc = FootnoteArc(loc.label, footnote.label)
footnoteLink.footnotes.append(footnote)
footnoteLink.locators.append(loc)
footnoteLink.footnote_arcs.append(footnoteArc)
xbrlInstance.footnote_links.append(footnoteLink)
xbrlDoc.save(os.path.join(outputDir, "xbrl_sample_with_footnotelink.xbrl"))

أضف مرجع الدور

يسمح لك Aspose.Finance بإضافة مرجع دور في نسخة XBRL التي تم تكوينها حديثًا. لهذا ، يوفر API الفئة RoleReference.

يوضح مقتطف الشفرة التالي كيفية إضافة مرجع دور في مثيل XBRL تم إنشاؤه حديثًا.

xbrlDoc = XbrlDocument()
xbrlInstances = xbrlDoc.xbrl_instances
xbrlInstance = xbrlInstances[xbrlInstances.add()]
schemaRefs = xbrlInstance.schema_refs
schemaRefs.add(os.path.join(sourceDir, "schema.xsd"), "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")
if roleType is not None:
roleReference = RoleReference(roleType)
xbrlInstance.role_references.append(roleReference)
xbrlDoc.save(os.path.join(outputDir, "xbrl_sample_with_roletype.xbrl"))

أضف مرجع دور القوس

يسمح لك Aspose.Finance بإضافة مرجع دور القوس في مثيل XBRL الذي تم إنشاؤه حديثًا. لهذا الغرض ، يوفر API فئة ArcroleReference.

يوضح مقتطف التعليمات البرمجية التالي كيفية إضافة مرجع دور القوس في مثيل XBRL الذي تم إنشاؤه حديثًا.

xbrlDoc = XbrlDocument()
xbrlInstances = xbrlDoc.xbrl_instances
xbrlInstance = xbrlInstances[xbrlInstances.add()]
schemaRefs = xbrlInstance.schema_refs
schemaRefs.add(os.path.join(sourceDir, "schema.xsd"), "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]
arcroleType = schema.get_arcrole_type_by_uri("http://abc.com/arcrole/footnote-test")
if arcroleType is not None:
arcroleReference = ArcroleReference(arcroleType)
xbrlInstance.arcrole_references.append(arcroleReference)
xbrlDoc.save(os.path.join(outputDir, "xbrl_sample_with_arcroletype.xbrl"))