Mengenai XBRL

Extensible Business Reporting Language (XBRL) adalah sebuah bahasa komunikasi elektronik yang secara universal digunakan untuk transmisi dan pertukaran informasi bisnis, yang menyempurnakan proses persiapan, analisis dan akurasi untuk berbagai pihak yang menyediakan dan menggunakan informasi bisnis. Sebuah institusi dapat mempersiapkan sebuah pelaporan informasi dengan berbasis XBRL tersebut.

Manfaat dari penggunaan XBRL ialah untuk meningkatkan efisiensi, kecepatan dan mengotomasikan pengolahan data yang dapat menunjang proses analisa dan kualitas informasi yang akan digunakan untuk pengambilan keputusan perusahaan.

XBRL saat ini telah digunakan dalam proses pelaporan di berbagai sektor termasuk perbankan, asuransi, regulator sekuritas, data provider dan perpajakan.

Untuk penjelasan lebih lanjut dapat dikunjungi pada XBRL

Implementasi XBRL Pada Bapepam-LK (Badan Pengawas Pasar Modal dan Lembaga Keuangan)

Dalam hal ini Bapepam sudah memiliki File Taxonomy sendiri, sehinggal hal tersebut  dapat dimanfaat untuk membuat File XBRL atau yang lebih dikenal dengan instance document. Jika Anda belum paham dengan Taxonomy dan Instance Document bisa langsung searching di Google, banyak penjelasan dari istilah tersebut.

Berikut contoh file Taxonomy yang dimiliki oleh Bapepam :

File Taxonomy Bapepam :  icm-bs-2006-07-31.xsd

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by Fujitsu XWand B0057 -->
<xsd:schema elementFormDefault="qualified" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:icm-bs="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31">
 <xsd:annotation>
 <xsd:appinfo>
 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-presentation.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-calculation.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-label-en.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-label-id.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
 <link:linkbaseRef xlink:type="simple" xlink:href="icm-bs-2006-07-31-reference.xml" xlink:role="http://www.xbrl.org/2003/role/referenceLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
 <link:roleType roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/BalanceSheet" id="BalanceSheet">
 <link:definition>Balance Sheet</link:definition>
 <link:usedOn>link:presentationLink</link:usedOn>
 <link:usedOn>link:calculationLink</link:usedOn>
 </link:roleType>
 <link:roleType roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/IncomeStatement" id="IncomeStatement">
 <link:definition>Income Statement</link:definition>
 <link:usedOn>link:presentationLink</link:usedOn>
 <link:usedOn>link:calculationLink</link:usedOn>
 </link:roleType>
 <link:roleType roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/CashFlowStatement" id="CashFlowStatement">
 <link:definition>Statement of Cash Flow</link:definition>
 <link:usedOn>link:presentationLink</link:usedOn>
 <link:usedOn>link:calculationLink</link:usedOn>
 </link:roleType>
 <link:roleType roleURI="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/role/CompanyInformation" id="CompanyInformation">
 <link:definition>Company Information</link:definition>
 <link:usedOn>link:presentationLink</link:usedOn>
 </link:roleType>
 </xsd:appinfo>
 </xsd:annotation>
 <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
 <xsd:element name="BalanceSheet" id="icm-bs_BalanceSheet" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="instant"/>
 <xsd:element name="Assets" id="icm-bs_Assets" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="TotalAssets" id="icm-bs_TotalAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="CurrentAssets" id="icm-bs_CurrentAssets" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="TotalCurrentAssets" id="icm-bs_TotalCurrentAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="CashCashEquivalents" id="icm-bs_CashCashEquivalents" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="ShortTermInvestments" id="icm-bs_ShortTermInvestments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="NotesReceivables" id="icm-bs_NotesReceivables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="AccountsReceivables" id="icm-bs_AccountsReceivables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="OtherReceivables" id="icm-bs_OtherReceivables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="Inventories" id="icm-bs_Inventories" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="PrepaidTaxes" id="icm-bs_PrepaidTaxes" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="PrepaidExpenses" id="icm-bs_PrepaidExpenses" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="OtherCurrentAssets" id="icm-bs_OtherCurrentAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="NonCurrentAssets" id="icm-bs_NonCurrentAssets" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="TotalNonCurrentAssets" id="icm-bs_TotalNonCurrentAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="RelatedPartyReceivables" id="icm-bs_RelatedPartyReceivables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="DeferredTaxAssets" id="icm-bs_DeferredTaxAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="InvestmentsAssocitatedCompanies" id="icm-bs_InvestmentsAssocitatedCompanies" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="OtherLongTermInvestments" id="icm-bs_OtherLongTermInvestments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="FixedAssets" id="icm-bs_FixedAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="IntangibleAssets" id="icm-bs_IntangibleAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="OtherAssets" id="icm-bs_OtherAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="LiabilitiesEquity" id="icm-bs_LiabilitiesEquity" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="TotalLiabilitiesEquity" id="icm-bs_TotalLiabilitiesEquity" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="Liabilities" id="icm-bs_Liabilities" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="TotalLiabilities" id="icm-bs_TotalLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="CurrentLiabilities" id="icm-bs_CurrentLiabilities" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="TotalCurrentLiabilities" id="icm-bs_TotalCurrentLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="ShortTermLoans" id="icm-bs_ShortTermLoans" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="NotesPayables" id="icm-bs_NotesPayables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="AccountsPayables" id="icm-bs_AccountsPayables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="TaxPayables" id="icm-bs_TaxPayables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="AccruedExpenses" id="icm-bs_AccruedExpenses" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="CurrentPortionLongTermLiabilities" id="icm-bs_CurrentPortionLongTermLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="OtherCurrentLiabilities" id="icm-bs_OtherCurrentLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="NonCurrentLiabilities" id="icm-bs_NonCurrentLiabilities" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="TotalNonCurrentLiabilities" id="icm-bs_TotalNonCurrentLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="RelatedPartiesPayables" id="icm-bs_RelatedPartiesPayables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="DeferredTaxPayables" id="icm-bs_DeferredTaxPayables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="LongTermLoans" id="icm-bs_LongTermLoans" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="LeasePayables" id="icm-bs_LeasePayables" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="Bonds" id="icm-bs_Bonds" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="OtherNonCurrentLiabilities" id="icm-bs_OtherNonCurrentLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="instant"/>
 <xsd:element name="SubordinatedLoans" id="icm-bs_SubordinatedLoans" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="ConvertibleBonds" id="icm-bs_ConvertibleBonds" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="Equity" id="icm-bs_Equity" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="TotalEquity" id="icm-bs_TotalEquity" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="CapitalStocks" id="icm-bs_CapitalStocks" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="AdditionalPaidinCapital" id="icm-bs_AdditionalPaidinCapital" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="DifferenceForeignCurrencyTranslation" id="icm-bs_DifferenceForeignCurrencyTranslation" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="DifferenceEquityTransactionAssociatedCompanies" id="icm-bs_DifferenceEquityTransactionAssociatedCompanies" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="UnrealizedGainLossAvailableSaleInvestments" id="icm-bs_UnrealizedGainLossAvailableSaleInvestments" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="RevaluationIncrementFixedAssetsRevaluation" id="icm-bs_RevaluationIncrementFixedAssetsRevaluation" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="StocksOptions" id="icm-bs_StocksOptions" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="RetainedEarnings" id="icm-bs_RetainedEarnings" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="TreasuryStocks" id="icm-bs_TreasuryStocks" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="instant"/>
 <xsd:element name="IncomeStatement" id="icm-bs_IncomeStatement" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="Revenue" id="icm-bs_Revenue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration"/>
 <xsd:element name="CostSales" id="icm-bs_CostSales" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="duration"/>
 <xsd:element name="GrossProfit" id="icm-bs_GrossProfit" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration"/>
 <xsd:element name="OperatingExpenses" id="icm-bs_OperatingExpenses" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="duration"/>
 <xsd:element name="OperatingIncomeLoss" id="icm-bs_OperatingIncomeLoss" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration"/>
 <xsd:element name="OtherIncomeExpenses" id="icm-bs_OtherIncomeExpenses" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration"/>
 <xsd:element name="EquityNetEarningsAssociates" id="icm-bs_EquityNetEarningsAssociates" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration"/>
 <xsd:element name="IncomeLossBeforeTax" id="icm-bs_IncomeLossBeforeTax" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration"/>
 <xsd:element name="TaxExpense" id="icm-bs_TaxExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="duration"/>
 <xsd:element name="IncomeLossNormalActivities" id="icm-bs_IncomeLossNormalActivities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration"/>
 <xsd:element name="ExtraordinaryItems" id="icm-bs_ExtraordinaryItems" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="duration"/>
 <xsd:element name="NetIncomeLoss" id="icm-bs_NetIncomeLoss" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="credit" xbrli:periodType="duration"/>
 <xsd:element name="CashFlow" id="icm-bs_CashFlow" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="CashOperating" id="icm-bs_CashOperating" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="duration"/>
 <xsd:element name="CashInvesting" id="icm-bs_CashInvesting" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="duration"/>
 <xsd:element name="CashFinancing" id="icm-bs_CashFinancing" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="duration"/>
 <xsd:element name="NetIncreaseCashCashEquivalents" id="icm-bs_NetIncreaseCashCashEquivalents" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="duration"/>
 <xsd:element name="CashCashEquivalentsBeginningEnding" id="icm-bs_CashCashEquivalentsBeginningEnding" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:balance="debit" xbrli:periodType="instant"/>
 <xsd:element name="CompanyInformation" id="icm-bs_CompanyInformation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="CompanyName" id="icm-bs_CompanyName" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="ListedCompanyCode" id="icm-bs_ListedCompanyCode" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="Industry" id="icm-bs_Industry" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="MainOperation" id="icm-bs_MainOperation" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="AddressLine1" id="icm-bs_AddressLine1" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="AddressLine2" id="icm-bs_AddressLine2" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="AddressLine3" id="icm-bs_AddressLine3" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="AddressLine4" id="icm-bs_AddressLine4" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="ReportingType" id="icm-bs_ReportingType" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
 <xsd:element name="AuditedUnaudited" id="icm-bs_AuditedUnaudited" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/>
</xsd:schema>

 Create Instance Document

Di dalam Instance Document terdapat tiga element yaitu : Unit, Context dan Fact. Ketiga element ini dijelaskan di dalam codingnya (Main.java) cara pembuatannya.

1. Buka IDE yang Anda gunakan (Netbeans, Eclipse atau Intellij IDEA). Saya menggunakan IDE Intellij IDEA.

2. Klik New Project, Java Application

3. Buat Main Class (Main.java)

file : Main.java

import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
import services.InstanceService;
import utils.Constant;
import xbrlcore.constants.NamespaceConstants;
import xbrlcore.exception.XBRLException;
import xbrlcore.instance.*;
import xbrlcore.taxonomy.Concept;
import xbrlcore.taxonomy.DTSFactory;
import xbrlcore.taxonomy.DiscoverableTaxonomySet;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class Main {

 public static void main(String[] args) {
 System.out.println("Hello World!");
 DTSFactory ivFactory = DTSFactory.get();
 try {
 /**
 * membaca taxonomy yang sudah ada
 */
 DiscoverableTaxonomySet dts = ivFactory.createTaxonomy(new File("/home/thinksmart/LearnXBRL/1-xbrl/xbrl-bapepam/taxonomy/icm-bs-2006-07-31.xsd"));
 Set<DiscoverableTaxonomySet> setDts = new HashSet<>();
 setDts.add(dts);

 /**
 * create Instance
 */
 Instance instance = new Instance(setDts);
 instance.addNamespace(NamespaceConstants.XSI_NAMESPACE);
 instance.addNamespace(NamespaceConstants.LINK_NAMESPACE);
 instance.addNamespace(NamespaceConstants.XLINK_NAMESPACE);
 instance.addNamespace(Constant.NameSpace.ICM_BS_NAMESPACE);
 instance.addNamespace(Constant.NameSpace.REF_NAMESPACE);
 instance.addNamespace(Constant.NameSpace.ICM_BS_A_NAMESPACE);
 instance.addNamespace(NamespaceConstants.ISO4217_NAMESPACE);
 instance.addNamespace(NamespaceConstants.XSI_NAMESPACE);

 instance.addSchemaLocation("icm-bs-2006-07-31.xsd","xbrl-bs");
 instance.addSchemaLocation("icm-bs-2006-07-31-audited.xsd","xbrl-audited");

 /**
 * create InstanceUnit
 */
 InstanceUnit instanceUnit = new InstanceUnit("U-IDR");
 instanceUnit.setValue("IDR");
 instanceUnit.setNamespaceURI(NamespaceConstants.ISO4217_NAMESPACE.getURI());
 instance.addUnit(instanceUnit);

 /**
 * create InstanceContext
 * Prior_AsOf_Audited
 */
 InstanceContext icPrior_AsOf_Audited = new InstanceContext("Prior_AsOf_Audited");
 icPrior_AsOf_Audited.setIdentifier("Alpha");
 icPrior_AsOf_Audited.setIdentifierScheme(Constant.IDENTIFIER_SCHEMA);
 icPrior_AsOf_Audited.setPeriodValue("2004-12-31");
 //create Scenario
 Element element = new Element("Audited", Constant.NameSpace.ICM_BS_A_NAMESPACE);
 icPrior_AsOf_Audited.addScenarioElement(element);
 instance.addContext(icPrior_AsOf_Audited);

 /**
 * create InstanceContext
 * Current_Period_Audited
 */
 InstanceContext icCurrent_Period_Audited = new InstanceContext("Current_Period_Audited");
 icCurrent_Period_Audited.setIdentifier("Alpha");
 icCurrent_Period_Audited.setIdentifierScheme(Constant.IDENTIFIER_SCHEMA);
 icCurrent_Period_Audited.setPeriodStartDate("2005-01-01");
 icCurrent_Period_Audited.setPeriodEndDate("2005-12-31");
 //create Scenario
 Element element1 = new Element("Audited",Constant.NameSpace.ICM_BS_A_NAMESPACE);
 icCurrent_Period_Audited.addScenarioElement(element1);
 instance.addContext(icCurrent_Period_Audited);


 /**
 * create InstanceContext
 * Current_AsOf_Audited
 */
 InstanceContext icCurrent_AsOf_Audited = new InstanceContext("Current_AsOf_Audited");
 icCurrent_AsOf_Audited.setIdentifier("Alpha");
 icCurrent_AsOf_Audited.setIdentifierScheme(Constant.IDENTIFIER_SCHEMA);
 icCurrent_AsOf_Audited.setPeriodValue("2005-12-31");
 //create Scenario
 Element element2 = new Element("Audited",Constant.NameSpace.ICM_BS_A_NAMESPACE);
 icCurrent_AsOf_Audited.addScenarioElement(element2);
 instance.addContext(icCurrent_AsOf_Audited);

 /**
 * create Fact
 */
 Main main = new Main();

 /**
 * Fact CompanyName
 */
 Fact factCompanyName = new Fact(main.findConceptById("icm-bs_CompanyName", setDts));
 factCompanyName.setValue("Alpha");
 factCompanyName.setInstanceContext(icCurrent_Period_Audited);
 instance.addFact(factCompanyName);

 /**
 * Fact ListedCompanyCode
 */
 Fact factListedCompanyCode = new Fact(main.findConceptById("icm-bs_ListedCompanyCode", setDts));
 factListedCompanyCode.setValue("ONEC");
 factListedCompanyCode.setInstanceContext(icCurrent_Period_Audited);
 instance.addFact(factListedCompanyCode);

 /**
 * Fact Current_Period_Audited
 */
 Fact factIndustry = new Fact(main.findConceptById("icm-bs_Industry", setDts));
 factIndustry.setValue("Manufacture");
 factIndustry.setInstanceContext(icCurrent_Period_Audited);
 instance.addFact(factIndustry);

 /**
 * Fact MainOperation
 */
 Fact factMainOperation = new Fact(main.findConceptById("icm-bs_MainOperation", setDts));
 factMainOperation.setValue("Heavy Industry");
 factMainOperation.setInstanceContext(icCurrent_Period_Audited);
 instance.addFact(factMainOperation);

 /**
 * Fact AddresLine1
 */
 Fact factAddressLine1 = new Fact(main.findConceptById("icm-bs_AddressLine1", setDts));
 factAddressLine1.setValue("127 Lindon Square");
 factAddressLine1.setInstanceContext(icCurrent_Period_Audited);
 instance.addFact(factAddressLine1);

 /**
 * Fact AddressLine2
 */
 Fact factAddressLine2 = new Fact(main.findConceptById("icm-bs_AddressLine2", setDts));
 factAddressLine2.setValue("Konnington JK7 5FE");
 factAddressLine2.setInstanceContext(icCurrent_Period_Audited);
 instance.addFact(factAddressLine2);

 /**
 * Fact AddressLine3
 */
 Fact factAddressLine3 = new Fact(main.findConceptById("icm-bs_AddressLine3", setDts));
 factAddressLine3.setValue("London");
 factAddressLine3.setInstanceContext(icCurrent_Period_Audited);
 instance.addFact(factAddressLine3);

 /**
 * Fact AddressLine4
 */
 Fact factAddressLine4 = new Fact(main.findConceptById("icm-bs_AddressLine4", setDts));
 factAddressLine4.setValue("England");
 factAddressLine4.setInstanceContext(icCurrent_Period_Audited);
 instance.addFact(factAddressLine4);

 /**
 *Fact ReportingType
 */
 Fact factReportingType = new Fact(main.findConceptById("icm-bs_ReportingType", setDts));
 factReportingType.setValue("Semi-annual");
 factReportingType.setInstanceContext(icCurrent_Period_Audited);
 instance.addFact(factReportingType);


 /**
 * menyimpan instance
 */
 InstanceOutputter instanceOutputter = new InstanceOutputter(instance);
 Document instanceXML = instanceOutputter.getXML();
 /* outputting XML */
 XMLOutputter serializer = new XMLOutputter();
 Format f = Format.getPrettyFormat();
 f.setOmitDeclaration(false);
 serializer.setFormat(f);
 OutputStream os = new FileOutputStream("/home/thinksmart/LearnXBRL/1-xbrl/xbrl-testing/test.xbrl");
 serializer.output(instanceXML, os);

 } catch (IOException e) {
 e.printStackTrace();
 } catch (XBRLException e) {
 e.printStackTrace();
 } catch (JDOMException e) {
 e.printStackTrace();
 }
 }

 public Concept findConceptById(String conceptId, Set<DiscoverableTaxonomySet> dts) {
 Concept concept = null;
 Iterator<DiscoverableTaxonomySet> iterator = dts.iterator();
 while (iterator.hasNext()) {
 DiscoverableTaxonomySet next = iterator.next();
 concept = next.getConceptByID(conceptId);
 if (concept != null)
 break;
 }
 return concept;
 }

}

4. Buat File Constant.java

package utils;

import org.jdom.Namespace;

/**
 * Created by thinksmart on 9/30/14.
 */
public class Constant {
 public static final String IDENTIFIER_SCHEMA = "www.bapepam.go.id/showcase/alpha";
 public interface NameSpace{
 public static final Namespace ICM_BS_NAMESPACE = Namespace.getNamespace(
 "icm-bs","http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31");
 public static final Namespace REF_NAMESPACE = Namespace.getNamespace(
 "ref", "http://www.xbrl.org/2004/ref");
 public static final Namespace ICM_BS_A_NAMESPACE = Namespace.getNamespace(
 "icm-bs-a","http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/audited");
 }
}

5. Klik kanan Class Main.java, Run As Main Application

6. Instance Document yang dihasilkan sebagai berikut :

Instance Document : test.xbrl

<?xml version="1.0" encoding="UTF-8"?>
<xbrli:xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:icm-bs-a="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31/audited" xmlns:icm-bs="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" xmlns:ref="http://www.xbrl.org/2004/ref" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:xlink="http://www.w3.org/1999/xlink">
 <link:schemaRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="icm-bs-2006-07-31.xsd" />
 <ns_2006-07-31:AddressLine2 xmlns:ns_2006-07-31="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" contextRef="Current_Period_Audited">Konnington JK7 5FE</ns_2006-07-31:AddressLine2>
 <ns_2006-07-31:AddressLine3 xmlns:ns_2006-07-31="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" contextRef="Current_Period_Audited">London</ns_2006-07-31:AddressLine3>
 <ns_2006-07-31:AddressLine1 xmlns:ns_2006-07-31="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" contextRef="Current_Period_Audited">127 Lindon Square</ns_2006-07-31:AddressLine1>
 <ns_2006-07-31:CompanyName xmlns:ns_2006-07-31="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" contextRef="Current_Period_Audited">Alpha</ns_2006-07-31:CompanyName>
 <ns_2006-07-31:MainOperation xmlns:ns_2006-07-31="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" contextRef="Current_Period_Audited">Heavy Industry</ns_2006-07-31:MainOperation>
 <ns_2006-07-31:Industry xmlns:ns_2006-07-31="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" contextRef="Current_Period_Audited">Manufacture</ns_2006-07-31:Industry>
 <ns_2006-07-31:ListedCompanyCode xmlns:ns_2006-07-31="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" contextRef="Current_Period_Audited">ONEC</ns_2006-07-31:ListedCompanyCode>
 <ns_2006-07-31:ReportingType xmlns:ns_2006-07-31="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" contextRef="Current_Period_Audited">Semi-annual</ns_2006-07-31:ReportingType>
 <ns_2006-07-31:AddressLine4 xmlns:ns_2006-07-31="http://www.bapepam.go.id/id/fr/ifrs/ci/id/2006-07-31" contextRef="Current_Period_Audited">England</ns_2006-07-31:AddressLine4>
 <xbrli:context id="Current_AsOf_Audited">
 <xbrli:entity>
 <xbrli:identifier scheme="www.bapepam.go.id/showcase/alpha">Alpha</xbrli:identifier>
 </xbrli:entity>
 <xbrli:period>
 <xbrli:instant>2005-12-31</xbrli:instant>
 </xbrli:period>
 <xbrli:scenario>
 <icm-bs-a:Audited />
 </xbrli:scenario>
 </xbrli:context>
 <xbrli:context id="Prior_AsOf_Audited">
 <xbrli:entity>
 <xbrli:identifier scheme="www.bapepam.go.id/showcase/alpha">Alpha</xbrli:identifier>
 </xbrli:entity>
 <xbrli:period>
 <xbrli:instant>2004-12-31</xbrli:instant>
 </xbrli:period>
 <xbrli:scenario>
 <icm-bs-a:Audited />
 </xbrli:scenario>
 </xbrli:context>
 <xbrli:context id="Current_Period_Audited">
 <xbrli:entity>
 <xbrli:identifier scheme="www.bapepam.go.id/showcase/alpha">Alpha</xbrli:identifier>
 </xbrli:entity>
 <xbrli:period>
 <xbrli:startDate>2005-01-01</xbrli:startDate>
 <xbrli:endDate>2005-12-31</xbrli:endDate>
 </xbrli:period>
 <xbrli:scenario>
 <icm-bs-a:Audited />
 </xbrli:scenario>
 </xbrli:context>
 <xbrli:unit id="U-IDR">
 <xbrli:measure>iso4217:IDR</xbrli:measure>
 </xbrli:unit>
</xbrli:xbrl>

File test.xbrl (instance document) ini yang digunakan oleh suatu organisasi untuk melakukan pelaporan secara digital.

Library yang dibutuhkan : ccl.jar, javancss.jar, jdom-1.1.1.jar, junit.jar, log4j.jar, xbrlcore_0.2.2.jar, xerces.jar.

Semoga Artikel ini cukup bermanfaat.

Keep Learn, Have fun Coding!!

Advertisements