Tạo tệp XBRL bằng Python

Tài liệu XBRL là một tập hợp các dữ kiện cùng nhau tạo nên một báo cáo kinh doanh. Chúng ta có thể dễ dàng tạo tài liệu phiên bản XBRL theo chương trình và thêm các đối tượng hoặc phần tử như tham chiếu lược đồ, ngữ cảnh, đơn vị, mục, v.v. Trong bài viết này, chúng ta sẽ học cách tạo tệp XBRL bằng Python.

Các chủ đề sau sẽ được đề cập trong bài viết này:

  1. XBRL là gì
  2. Thư viện tài chính Python để tạo tệp XBRL
  3. Tạo tệp XBRL
  4. Thêm tham chiếu giản đồ vào XBRL
  5. Thêm ngữ cảnh trong XBRL
  6. Tạo một Đơn vị trong XBRL
  7. Thêm mục dữ kiện trong XBRL
  8. Thêm liên kết chú thích cuối trang vào XBRL
  9. Chèn tham chiếu vai trò trong XBRL
  10. Thêm tham chiếu vai trò Arc vào XBRL

XBRL là gì

XBRL là viết tắt của eXtensible Business Reporting Language, một ngôn ngữ đánh dấu dựa trên XML. Nó được sử dụng để báo cáo kinh doanh chuẩn hóa về hoạt động tài chính của một công ty. Nó cung cấp một cách để liên lạc và trao đổi thông tin kinh doanh giữa các hệ thống kinh doanh.

Thư viện tài chính Python để tạo tệp XBRL

Để tạo tệp XBRL hoặc tài liệu phiên bản, chúng tôi sẽ sử dụng API Aspose.Finance cho Python. Nó cho phép tạo các phiên bản XBRL, phân tích cú pháp và xác thực các tệp XBRL hoặc iXBRL.

API cung cấp lớp XbrlDocument đại diện cho một tài liệu XBRL chứa một hoặc nhiều trường hợp XBRL. Một phiên bản XBRL là một phân đoạn XML, với phần tử gốc có thẻ XBRL. Lớp XbrlInstance cung cấp các phương thức và thuộc tính khác nhau để làm việc với các cá thể XBRL. Phương thức save() của lớp XbrlDocument tạo và lưu tệp XBRL vào đĩa. Vui lòng đọc thêm về các lớp khác để làm việc với các đối tượng XBRL trong tài liệu tham khảo API.

Vui lòng tải xuống gói hoặc cài đặt API từ PyPI bằng lệnh pip sau trong bảng điều khiển:

pip install aspose-finance

Tạo tài liệu phiên bản XBRL bằng Python

Chúng tôi có thể dễ dàng tạo tài liệu phiên bản XBRL từ đầu bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Tiếp theo, truy cập bộ sưu tập của các thể hiện từ đối tượng XbrlDocument vào đối tượng xbrlinstances.
  3. Sau đó, thêm một phiên bản XBRL mới bằng phương thức xbrlinstances.add().
  4. Cuối cùng, lưu tệp XBRL bằng phương thức save (string). Nó lấy đường dẫn tệp đầu ra làm đối số.

Mẫu mã sau đây cho thấy cách tạo một phiên bản XBRL bằng Python.

# Ví dụ mã này trình bày cách tạo tài liệu XBRL
from aspose.finance.xbrl import XbrlDocument

# Đường dẫn đến thư mục tài liệu.
outputFile = "C:\\Files\\document.xbrl"

# Tạo tài liệu XBRL
xbrlDoc = XbrlDocument()

# Nhận bộ sưu tập các phiên bản tài liệu
xbrlInstances = xbrlDoc.xbrl_instances

# Thêm phiên bản vào bộ sưu tập
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Lưu các tập tin
xbrlDoc.save(outputFile)

Khi chúng tôi đã tạo phiên bản XBRL, chúng tôi có thể thêm tham chiếu lược đồ, ngữ cảnh, đơn vị, mục, liên kết chú thích cuối trang, tham chiếu vai trò và tham chiếu vai trò vòng cung trong phiên bản XBRL mới được tạo.

Thêm tham chiếu lược đồ vào XBRL bằng Python

Chúng tôi có thể thêm tham chiếu lược đồ trong tài liệu phiên bản XBRL bằng cách làm theo các bước được cung cấp bên dưới:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Tiếp theo, lấy bộ sưu tập các thể hiện của đối tượng XbrlDocument vào đối tượng xbrlinstances.
  3. Sau đó, thêm một phiên bản XBRL mới bằng phương thức xbrlinstances.add().
  4. Tiếp theo, lấy bộ sưu tập tham chiếu lược đồ của đối tượng XbrlInstance vào đối tượng schemarefs.
  5. Sau đó, thêm một tham chiếu lược đồ mới bằng cách sử dụng phương thức schemarefs.add() với tệp lược đồ đầu vào.
  6. Cuối cùng, lưu tệp XBRL bằng phương thức save (string).

Mẫu mã sau đây cho thấy cách tạo tài liệu phiên bản XBRL và thêm tham chiếu lược đồ bằng Python.

# Ví dụ mã này trình bày cách tạo tài liệu XBRL và thêm đối tượng tham chiếu lược đồ
from aspose.finance.xbrl import XbrlDocument

# Đường dẫn đến thư mục tài liệu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Tạo tài liệu XBRL
xbrlDoc = XbrlDocument()

# Nhận bộ sưu tập các phiên bản tài liệu
xbrlInstances = xbrlDoc.xbrl_instances

# Thêm phiên bản vào bộ sưu tập
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Nhận bộ sưu tập tham chiếu lược đồ phiên bản
schemaRefs = xbrlInstance.schema_refs

# Thêm giản đồ
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")

# Lưu tài liệu
xbrlDoc.save(outputFile)

Thêm ngữ cảnh trong XBRL bằng Python

Chúng tôi có thể thêm ngữ cảnh vào tài liệu phiên bản XBRL bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Tiếp theo, Thêm một phiên bản XBRL mới vào xbrlinstances của đối tượng XbrlDocument.
  3. Sau đó, tạo một phiên bản của lớp ContextPeriod với ngày bắt đầu và ngày kết thúc.
  4. Tiếp theo, tạo một đối tượng ContextEntity với lược đồ và mã định danh.
  5. Sau đó, tạo một thể hiện của lớp Context với ContextPeriod và ContextEntity đã xác định.
  6. Sau đó, thêm đối tượng Context vào bộ sưu tập ngữ cảnh.
  7. Cuối cùng, lưu tệp XBRL bằng phương thức save (string).

Mẫu mã sau đây cho thấy cách tạo tài liệu phiên bản XBRL và thêm một đối tượng ngữ cảnh bằng Python.

# Ví dụ mã này trình bày cách tạo tài liệu XBRL và thêm đối tượng ngữ cảnh
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context

# Đường dẫn đến thư mục tài liệu.
outputFile = "C:\\Files\\document.xbrl"

# Tạo tài liệu XBRL
xbrlDoc = XbrlDocument()

# Nhận bộ sưu tập các phiên bản tài liệu
xbrlInstances = xbrlDoc.xbrl_instances

# Thêm phiên bản vào bộ sưu tập
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Thêm khoảng thời gian ngữ cảnh
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))

# Thêm thực thể ngữ cảnh
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")

# Xác định và thêm ngữ cảnh
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Lưu tài liệu
xbrlDoc.save(outputFile)

Tạo đơn vị trong XBRL bằng Python

Các đơn vị trong XBRL đo các Mục số. Chúng tôi có thể thêm một đơn vị trong tài liệu phiên bản XBRL bằng cách làm theo các bước được cung cấp bên dưới:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Tiếp theo, thêm một phiên bản XBRL mới vào xbrlinstances của đối tượng XbrlDocument.
  3. Sau đó, tạo một thể hiện của lớp Unit với UnitType là MEASURE.
  4. Tiếp theo, thêm Tên đủ điều kiện vào bộ sưu tập tên đủ điều kiện.
  5. Sau đó, thêm Đơn vị vào bộ sưu tập đơn vị.
  6. Cuối cùng, lưu tệp XBRL bằng phương thức save (string).

Mẫu mã sau đây cho thấy cách tạo tệp XBRL và thêm một đối tượng đơn vị trong Python.

# Ví dụ mã này trình bày cách tạo tài liệu XBRL và thêm đối tượng Đơn vị
from aspose.finance.xbrl import XbrlDocument,Unit,QualifiedName,UnitType

# Đường dẫn đến thư mục tài liệu.
outputFile = "C:\\Files\\document.xbrl"

# Tạo tài liệu XBRL
xbrlDoc = XbrlDocument()

# Nhận bộ sưu tập các phiên bản tài liệu
xbrlInstances = xbrlDoc.xbrl_instances

# Thêm phiên bản vào bộ sưu tập
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Thêm đơn vị
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# Lưu tài liệu
xbrlDoc.save(outputFile)

Thêm mục dữ kiện trong XBRL bằng Python

Dữ kiện trong XBRL được xác định bằng cách sử dụng các phần tử mục. Một mục trong XBRL chứa giá trị của dữ kiện đơn giản và tham chiếu đến ngữ cảnh để diễn giải chính xác thực tế đó. Chúng tôi có thể thêm một mục trong tài liệu phiên bản XBRL bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Thêm một phiên bản XBRL mới vào xbrlinstances của đối tượng XbrlDocument.
  3. Thêm một tham chiếu lược đồ mới vào schemarefs của đối tượng XbrlInstance.
  4. Nhận SchemaRef theo chỉ mục của nó từ schemarefs.
  5. Khởi tạo thể hiện Ngữ cảnh và thêm nó vào bộ sưu tập ngữ cảnh.
  6. Xác định một thể hiện Đơn vị và thêm nó vào bộ sưu tập các đơn vị.
  7. Tạo một cá thể lớp Khái niệm bằng phương thức getconceptbyname().
  8. Tạo một thể hiện của lớp Item với đối tượng Concept làm đối số.
  9. Đặt các thuộc tính mục như contextref, unitref, precision, value, v.v.
  10. Sau đó, thêm Mục vào bộ sưu tập dữ kiện.
  11. Cuối cùng, lưu tệp XBRL bằng phương thức save (string).

Mẫu mã sau đây cho thấy cách thêm dữ kiện làm phần tử mục trong tài liệu phiên bản XBRL bằng Python.

# Ví dụ mã này trình bày cách tạo tài liệu XBRL và thêm đối tượng Item
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,Unit,UnitType,QualifiedName,Item

# Đường dẫn đến thư mục tài liệu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Tạo tài liệu XBRL
xbrlDoc = XbrlDocument()

# Nhận bộ sưu tập các phiên bản tài liệu
xbrlInstances = xbrlDoc.xbrl_instances

# Thêm phiên bản vào bộ sưu tập
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Nhận bộ sưu tập tham chiếu lược đồ phiên bản
schemaRefs = xbrlInstance.schema_refs

# Thêm giản đồ
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Thêm ngữ cảnh
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Thêm đơn vị
unit = Unit(UnitType.MEASURE)
unit.measure_qualified_names.append(QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"))
xbrlInstance.units.append(unit)

# Thêm mặt hàng
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)
    
# Lưu tài liệu
xbrlDoc.save(outputFile)

Chúng tôi có thể thêm một liên kết chú thích cuối trang trong tài liệu phiên bản XBRL bằng cách làm theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Thêm một phiên bản XBRL mới vào xbrlinstances của đối tượng XbrlDocument.
  3. Thêm một tham chiếu lược đồ mới vào schemarefs của đối tượng XbrlInstance.
  4. Nhận SchemaRef theo chỉ mục của nó từ schemarefs.
  5. Khởi tạo thể hiện Ngữ cảnh và thêm nó vào bộ sưu tập ngữ cảnh.
  6. Xác định một cá thể lớp Footnote và đặt nhãn và văn bản của nó.
  7. Khởi tạo kiểu Định vị bằng cách sử dụng cá thể lớp Loc.
  8. Xác định đối tượng FootnoteArc với nhãn Locator và nhãn Footnote làm đối số.
  9. Tạo một thể hiện của lớp FootnoteLink.
  10. Thêm Footnote, Locator và FootnoteArc vào các bộ sưu tập có liên quan.
  11. Sau đó, thêm FootnoteLink vào bộ sưu tập footnotelinks.
  12. Cuối cùng, lưu tệp XBRL bằng phương thức save (string).

Mẫu mã sau đây cho thấy cách thêm liên kết chú thích cuối trang trong tài liệu phiên bản XBRL bằng Python.

# Ví dụ mã này trình bày cách tạo tài liệu XBRL và thêm đối tượng Footnote Link
from datetime import datetime
from aspose.finance.xbrl import XbrlDocument,ContextPeriod,ContextEntity,Context,FootnoteLink,Footnote,Loc,FootnoteArc

# Đường dẫn đến thư mục tài liệu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Tạo tài liệu XBRL
xbrlDoc = XbrlDocument()

# Nhận bộ sưu tập các phiên bản tài liệu
xbrlInstances = xbrlDoc.xbrl_instances

# Thêm phiên bản vào bộ sưu tập
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Nhận bộ sưu tập tham chiếu lược đồ phiên bản
schemaRefs = xbrlInstance.schema_refs

# Thêm giản đồ
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Thêm ngữ cảnh
contextPeriod = ContextPeriod(datetime(2020,1,1), datetime(2020,2,10))
contextEntity = ContextEntity("exampleIdentifierScheme", "exampleIdentifier")
context = Context(contextPeriod, contextEntity)
xbrlInstance.contexts.append(context)

# Thêm chú thích cuối trang
footnote = Footnote("footnote1")
footnote.text = "Including the effects of the merger."

# Thêm vị trí
loc = Loc("#cd1", "fact1")

# Xác định vòng cung của Chú thích cuối trang
footnoteArc = FootnoteArc(loc.label, footnote.label)

# Thêm chú thích cuối trangLink
footnoteLink = FootnoteLink()
footnoteLink.footnotes.append(footnote)
footnoteLink.locators.append(loc)
footnoteLink.footnote_arcs.append(footnoteArc)
xbrlInstance.footnote_links.append(footnoteLink)
    
# Lưu tài liệu
xbrlDoc.save(outputFile)

Chèn tham chiếu vai trò trong XBRL bằng Python

Chúng tôi có thể thêm tham chiếu Vai trò trong tài liệu phiên bản XBRL bằng cách thực hiện theo các bước dưới đây:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Thêm một phiên bản XBRL mới vào xbrlinstances của đối tượng XbrlDocument.
  3. Thêm một tham chiếu lược đồ mới vào schemarefs của đối tượng XbrlInstance.
  4. Nhận SchemaRef theo chỉ mục của nó từ schemarefs.
  5. Tiếp theo, lấy RoleType từ phương thức getroletypebyuri().
  6. Sau đó, tạo một thể hiện của lớp RoleReference với đối tượng RoleType làm đối số.
  7. Sau đó, thêm RoleReference vào bộ sưu tập tùy chọn vai trò.
  8. Cuối cùng, lưu tệp XBRL bằng phương thức save (string).

Mẫu mã sau đây cho thấy cách thêm tham chiếu vai trò trong tài liệu phiên bản XBRL bằng Python.

# Ví dụ mã này trình bày cách tạo tài liệu XBRL và thêm đối tượng tham chiếu Vai trò
from aspose.finance.xbrl import XbrlDocument,RoleReference

# Đường dẫn đến thư mục tài liệu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Tạo tài liệu XBRL
xbrlDoc = XbrlDocument()

# Nhận bộ sưu tập các phiên bản tài liệu
xbrlInstances = xbrlDoc.xbrl_instances

# Thêm phiên bản vào bộ sưu tập
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Nhận bộ sưu tập tham chiếu lược đồ phiên bản
schemaRefs = xbrlInstance.schema_refs

# Thêm giản đồ
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Nhận loại vai trò
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# Thêm tham chiếu vai trò
if roleType is not None:
    roleReference = RoleReference(roleType)
    xbrlInstance.role_references.append(roleReference)

# Lưu tài liệu
xbrlDoc.save(outputFile)

Thêm tham chiếu vai trò Arc vào XBRL bằng Python

Chúng tôi có thể thêm tham chiếu vai trò Arc trong tài liệu phiên bản XBRL bằng cách làm theo các bước được đưa ra bên dưới:

  1. Đầu tiên, tạo một phiên bản của lớp XbrlDocument.
  2. Thêm một phiên bản XBRL mới vào xbrlinstances của đối tượng XbrlDocument.
  3. Thêm một tham chiếu lược đồ mới vào schemarefs của đối tượng XbrlInstance.
  4. Nhận SchemaRef theo chỉ mục của nó từ schemarefs.
  5. Tiếp theo, lấy RoleType từ phương thức getarcroletypebyuri().
  6. Sau đó, tạo một thể hiện của lớp ArcroleReference với đối tượng RoleType làm đối số.
  7. Sau đó, thêm ArcroleReference vào bộ sưu tập arcrolereferences.
  8. Cuối cùng, lưu tệp XBRL bằng phương thức save (string).

Mẫu mã sau đây cho thấy cách thêm tham chiếu vai trò vòng cung trong tài liệu phiên bản XBRL bằng Python.

# Ví dụ mã này trình bày cách tạo tài liệu XBRL và thêm đối tượng tham chiếu Vai trò Arc
from aspose.finance.xbrl import XbrlDocument,ArcroleReference

# Đường dẫn đến thư mục tài liệu.
outputFile = "C:\\Files\\document.xbrl"
inputSchemaFile = "C:\\Files\\schema.xsd"

# Tạo tài liệu XBRL
xbrlDoc = XbrlDocument()

# Nhận bộ sưu tập các phiên bản tài liệu
xbrlInstances = xbrlDoc.xbrl_instances

# Thêm phiên bản vào bộ sưu tập
xbrlInstance = xbrlInstances[xbrlInstances.add()]

# Nhận bộ sưu tập tham chiếu lược đồ phiên bản
schemaRefs = xbrlInstance.schema_refs

# Thêm giản đồ
schemaRefs.add(inputSchemaFile, "example", "http://example.com/xbrl/taxonomy")
schema = schemaRefs[0]

# Nhận loại vai trò
roleType = schema.get_role_type_by_uri("http://abc.com/role/link1")

# Thêm tham chiếu vai trò
if roleType is not None:
    arcroleReference = ArcroleReference(roleType)
    xbrlInstance.arcrole_references.append(arcroleReference)

# Lưu tài liệu
xbrlDoc.save(outputFile)

Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử thư viện mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, chúng ta đã học cách tạo tài liệu XBRL bằng Python. Chúng ta cũng đã thấy cách thêm các đối tượng XBRL khác nhau vào tài liệu phiên bản XBRL đã tạo theo chương trình. Bên cạnh đó, bạn có thể tìm hiểu thêm về API Aspose.Finance cho Python bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn của chúng tôi.

Xem thêm