Xbrl實(shí)例文檔校驗(yàn)方法以及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及XBRL技術(shù)領(lǐng)域,特別是涉及一種XBRL實(shí)例文檔校驗(yàn)方法以及系統(tǒng)。
【背景技術(shù)】
[0002]XBRL(可擴(kuò)展商業(yè)報(bào)告語(yǔ)言,extensible Business Reporting Language)是XML(可擴(kuò)展標(biāo)記語(yǔ)言,extensible Markup Language)在商業(yè)報(bào)告信息交換方面的一種應(yīng)用,是目前應(yīng)用于非結(jié)構(gòu)化信息處理,尤其是財(cái)務(wù)信息處理的最新標(biāo)準(zhǔn)和技術(shù)。XBRL具有可跨平臺(tái)使用、支持多種格式輸出和搜索快速、準(zhǔn)確等技術(shù)優(yōu)勢(shì),為財(cái)務(wù)報(bào)告信息的準(zhǔn)備、生成、分析、傳輸和比較利用提供了便利。
[0003]XBRL作為XML語(yǔ)言的一種應(yīng)用,它主要由三個(gè)部分組成:XBRL技術(shù)規(guī)范、XBRL分類標(biāo)準(zhǔn)和XBRL實(shí)例文檔。其中,XBRL技術(shù)規(guī)范是最基礎(chǔ)的,它規(guī)定了 XBRL分類標(biāo)準(zhǔn)和XBRL實(shí)例文檔應(yīng)該遵循的各種規(guī)則。XBRL分類標(biāo)準(zhǔn)是現(xiàn)有會(huì)計(jì)準(zhǔn)則的基礎(chǔ)上遵循XBRL技術(shù)規(guī)范制定的,是對(duì)會(huì)計(jì)報(bào)告內(nèi)容標(biāo)準(zhǔn)的描述與分類。XBRL實(shí)例文檔是一份包含了會(huì)計(jì)數(shù)據(jù)的XML文檔,它是根據(jù)分類標(biāo)準(zhǔn)映射企業(yè)會(huì)計(jì)數(shù)據(jù)而生成的。
[0004]為確保XBRL實(shí)例文檔的有效性,需要對(duì)XBRL實(shí)例文檔是否符合編報(bào)規(guī)則以及XBRL語(yǔ)法進(jìn)行校驗(yàn)。傳統(tǒng)的對(duì)XBRL實(shí)例文檔校驗(yàn)過(guò)程需要在校驗(yàn)之初加載所有的校驗(yàn)塊然后順序依次校驗(yàn),其校驗(yàn)流程如圖1所示。XBRL的校驗(yàn)塊數(shù)量一般較多,因此,這種校驗(yàn)方式的校驗(yàn)效率較低且靈活性較低。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)上述問(wèn)題,提供一種效率較高且靈活性較高的XBRL實(shí)例文檔校驗(yàn)方法。
[0006]—種XBRL實(shí)例文檔校驗(yàn)方法,包括以下步驟:讀取配置文件中的配置信息,所述配置信息包括包含有XBRL實(shí)例文檔特性的校驗(yàn)塊信息以及校驗(yàn)塊與校驗(yàn)類的映射關(guān)系;根據(jù)需要校驗(yàn)的特性選擇校驗(yàn)塊;依次對(duì)選擇的各個(gè)校驗(yàn)塊進(jìn)行校驗(yàn);具體包括讀取校驗(yàn)塊,根據(jù)讀取的校驗(yàn)塊以及所述配置信息中校驗(yàn)塊與校驗(yàn)類的映射關(guān)系加載校驗(yàn)類,利用加載的校驗(yàn)類對(duì)所述校驗(yàn)塊進(jìn)行校驗(yàn);輸出校驗(yàn)結(jié)果。
[0007]在其中一個(gè)實(shí)施例中,所述根據(jù)讀取的校驗(yàn)塊以及所述配置信息中校驗(yàn)塊與校驗(yàn)類的映射關(guān)系加載校驗(yàn)類的步驟中,是利用控制反轉(zhuǎn)的方式依賴查找校驗(yàn)類,并加載所述校驗(yàn)類。
[0008]在其中一個(gè)實(shí)施例中,所述讀取配置文件中的配置信息的步驟之后還包括:顯示所述配置信息。
[0009]在其中一個(gè)實(shí)施例中,所述校驗(yàn)塊由校驗(yàn)特性組構(gòu)成。
[0010]在其中一個(gè)實(shí)施例中,所述根據(jù)需要校驗(yàn)的特性選擇校驗(yàn)塊的步驟之后還包括:定義選擇的校驗(yàn)塊的校驗(yàn)邏輯順序;所述依次對(duì)選擇的各個(gè)校驗(yàn)塊進(jìn)行校驗(yàn)的步驟為根據(jù)定義的校驗(yàn)邏輯順序?qū)Ω鱾€(gè)校驗(yàn)塊進(jìn)行校驗(yàn)。
[0011]—種XBRL實(shí)例文檔校驗(yàn)系統(tǒng),包括:讀取模塊,用于讀取配置文件中的配置信息;所述配置信息包括包含有XBRL實(shí)例文檔特性的校驗(yàn)塊以及校驗(yàn)塊與校驗(yàn)類的映射關(guān)系;選擇模塊,用于根據(jù)需要校驗(yàn)的特性選擇校驗(yàn)塊;特性校驗(yàn)?zāi)K,用于依次對(duì)選擇的各個(gè)校驗(yàn)塊進(jìn)行校驗(yàn);所述特性校驗(yàn)?zāi)K包括讀取單元、加載單元以及校驗(yàn)單元;所述讀取單元用于讀取校驗(yàn)塊;所述加載單元用于根據(jù)讀取的校驗(yàn)塊以及所述配置信息中校驗(yàn)塊與校驗(yàn)類的映射關(guān)系加載校驗(yàn)類;所述校驗(yàn)單元用于利用加載的校驗(yàn)類對(duì)所述校驗(yàn)塊進(jìn)行校驗(yàn);輸出模塊,用于輸出校驗(yàn)結(jié)果。
[0012]在其中一個(gè)實(shí)施例中,所述加載單元根據(jù)讀取的校驗(yàn)塊以及所述配置信息中校驗(yàn)塊與校驗(yàn)類的映射關(guān)系加載校驗(yàn)類是利用控制反轉(zhuǎn)的方式依賴查找校驗(yàn)類,并加載所述校驗(yàn)類。
[0013]在其中一個(gè)實(shí)施例中,還包括顯示模塊,用于顯示所述讀取模塊讀取到的配置信息。
[0014]在其中一個(gè)實(shí)施例中,所述特性校驗(yàn)?zāi)K由校驗(yàn)特性組構(gòu)成。
[0015]在其中一個(gè)實(shí)施例中,還包括定義模塊,用于對(duì)所述校驗(yàn)塊的校驗(yàn)邏輯順序進(jìn)行定義。
[0016]上述XBRL實(shí)例文檔校驗(yàn)方法和系統(tǒng),在校驗(yàn)之初并不會(huì)對(duì)所有的校驗(yàn)塊以及校驗(yàn)類進(jìn)行加載,而是先讀取配置信息,并根據(jù)配置信息選擇要校驗(yàn)的校驗(yàn)塊后按需加載校驗(yàn)塊以及校驗(yàn)類,從而可以大大提高校驗(yàn)效率。同時(shí)校驗(yàn)塊可以按需進(jìn)行選擇,使得校驗(yàn)過(guò)程的靈活性較強(qiáng)。另外,上述XBRL實(shí)例文檔校驗(yàn)方法和系統(tǒng),當(dāng)XBRL實(shí)例文檔具有新的特性時(shí),只需要在配置文件中增加該特性以及校驗(yàn)類即可,而無(wú)需對(duì)整個(gè)校驗(yàn)過(guò)程進(jìn)行重新開發(fā)設(shè)計(jì),提高了產(chǎn)品開發(fā)迭代效率。
【附圖說(shuō)明】
[0017]圖1為傳統(tǒng)的XBRL實(shí)例文檔校驗(yàn)方法的流程圖;
[0018]圖2為一實(shí)施例中的XBRL實(shí)例文檔校驗(yàn)方法的流程圖;
[0019]圖3為圖2所示實(shí)施例中的XBRL實(shí)例文檔校驗(yàn)方法中步驟S230的具體流程圖;
[0020]圖4為另一實(shí)施例中的XBRL實(shí)例文檔校驗(yàn)方法的流程圖;
[0021]圖5為一實(shí)施例中的XBRL實(shí)例文檔校驗(yàn)系統(tǒng)的方框圖;
[0022]圖6為圖5所示實(shí)施例中的XBRL實(shí)例文檔校驗(yàn)系統(tǒng)中特性校驗(yàn)?zāi)K530的結(jié)構(gòu)示意圖;
[0023]圖7為另一實(shí)施例中的XBRL實(shí)例文檔校驗(yàn)系統(tǒng)的方框圖。
【具體實(shí)施方式】
[0024]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0025]—種XBRL實(shí)例文檔校驗(yàn)方法,用于對(duì)XBRL實(shí)例文檔是否符合編報(bào)規(guī)則以及XBRL語(yǔ)法進(jìn)行校驗(yàn),從而確保該XBRL實(shí)例文檔的有效性。在本實(shí)施例中,主要通過(guò)對(duì)XBRL實(shí)例文檔中的特性進(jìn)行校驗(yàn),從而判斷出XBRL實(shí)例文檔是否符合編報(bào)規(guī)則以及XBRL語(yǔ)法。
[0026]圖2所示為一實(shí)施例中的XBRL實(shí)例文檔校驗(yàn)方法,包括以下步驟。
[0027]S210,讀取配置文件中的配置信息。
[0028]配置信息中包括了校驗(yàn)塊信息以及校驗(yàn)塊與校驗(yàn)類的映射關(guān)系。其中校驗(yàn)塊包含了 XBRL實(shí)例文檔特性,即校驗(yàn)塊是由細(xì)化的不能再細(xì)化的特性組成。校驗(yàn)塊中可以包括單個(gè)的校驗(yàn)特性,也可以是由多個(gè)校驗(yàn)特性形成的校驗(yàn)特性組構(gòu)成。校驗(yàn)類是用于對(duì)校驗(yàn)塊所包含的特性進(jìn)行校驗(yàn)的校驗(yàn)代碼所在類。因此,通過(guò)校驗(yàn)塊和校驗(yàn)類的映射關(guān)系可以實(shí)現(xiàn)對(duì)校驗(yàn)類的查找以及加載,從而實(shí)現(xiàn)對(duì)校驗(yàn)代碼的調(diào)用進(jìn)而實(shí)現(xiàn)對(duì)校驗(yàn)塊的校驗(yàn)。在本實(shí)施例中,校驗(yàn)塊中的特性數(shù)量可以進(jìn)行動(dòng)態(tài)調(diào)整,即可以動(dòng)態(tài)調(diào)整校驗(yàn)塊中的校驗(yàn)粒度,校驗(yàn)過(guò)程的靈活性較高。同時(shí),當(dāng)產(chǎn)品有新的特性增加時(shí),只需要在配置文件中增加具有該特性的校驗(yàn)塊以及與之對(duì)應(yīng)的校驗(yàn)類即可,無(wú)需修改任何以前的代碼也無(wú)需重新進(jìn)行開發(fā)設(shè)計(jì),提高了產(chǎn)品開發(fā)迭代效率。在本實(shí)施例中,在讀取配置信息的同時(shí)還會(huì)對(duì)其中的配置信息進(jìn)行分組。在一具體實(shí)施例中,配置文件的配置信息如下:
[0029]#校驗(yàn)用例與校驗(yàn)器的對(duì)應(yīng)關(guān)系
[0030]Vl-Exist@301-1dScope = com.kingdee.xbrl.engine, validater.testcase.1dScopeExis tValidater
[0031]V2-Refer@301-1dScope = com.kingdee.xbrl.engine, validater.testcase.1dScopeRef erValidater
[0032]......
[0033]Vl-Schema@302-context = com.kingdee.xbrl.engine, validater.testcase.ContextX chemaValidater
[0034]......
[0035]V8-1nstant@302-context = com.kingdee.xbrl.engine, validater.testcase.ContextInst antValidater
[0036]......
[0037]S220,根據(jù)需要校驗(yàn)的特性選擇校驗(yàn)塊。
[0038]在實(shí)際的XBRL實(shí)例文檔校驗(yàn)過(guò)程中,并不需要對(duì)其所有的特性進(jìn)行校驗(yàn),而只需要對(duì)其中的部分特性進(jìn)行校驗(yàn)即可。因此,根據(jù)需要校驗(yàn)的特性來(lái)選擇校驗(yàn)塊。
[0039]S230,依次對(duì)選擇的各個(gè)校驗(yàn)塊進(jìn)行校驗(yàn)。
[0040]對(duì)選擇的校驗(yàn)塊進(jìn)行校驗(yàn)。校驗(yàn)塊的校驗(yàn)順序可以將用戶的選擇順序作為默認(rèn)的校驗(yàn)邏輯順序,也可以為用戶定義的校驗(yàn)邏輯順序。在本實(shí)施例中,對(duì)單個(gè)校驗(yàn)塊進(jìn)行校驗(yàn)步驟具體如圖3所示。如圖3所示,對(duì)單個(gè)校驗(yàn)塊進(jìn)行校驗(yàn)的步驟具體包括以下過(guò)程。
[0041]S310,讀取校驗(yàn)塊。根據(jù)選擇結(jié)果讀取校驗(yàn)塊。
[0042]S320,加載校驗(yàn)類。
[0043]根據(jù)讀取到的校驗(yàn)塊以及配置文件信息中校驗(yàn)塊與校驗(yàn)類的映射關(guān)系,利用控制反轉(zhuǎn)(Invers1n of Control,1C)的方式中依賴查找校驗(yàn)類,并加載該校驗(yàn)類。通過(guò)控制反轉(zhuǎn)方式可以動(dòng)態(tài)加載校驗(yàn)類,提高了資源的利用效率以及系統(tǒng)的性能。
[0044]S330,利用加載的校驗(yàn)類對(duì)校驗(yàn)塊進(jìn)行校驗(yàn)