قم بإنشاء ملف 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")) |