资源简介
XBRL相比Excel、PDF、网页等财务信息格式有众多优势,原因就在于它将业务报告整体拆分为一个个元素而存在,使报告由静态变为动态,让计算机可以对报告内容进行抽取和组合。
例如,对于Word格式财务报告,尽管人们可以手工抽取不同文件中的元素(例如净资产数据)进行比较分析,但计算机不能自动完成这一任务。从计算机软件角度来讲,无法读懂Word文件并进行有意义的拆分。而在XBRL技术下,每一个元素都有其特定的识别标记,从而使报告可拆分。
代码片段和文件信息
package cn.ykj.build;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.xmlWriter;
import cn.ykj.parse.xmlLabelParse;
/**
* @author yuheng
* @DATE 2017-4-28
*
* 生成xbrl主文件(xml)
*/
public class xmlCreate {
/**
* 建立一个xml文档文档名由输入属性决定
*
* @param param
* filename 需建立的文件名
* @return返回操作结果 0表失败 1表成功
*/
public static int createxmlFile(String filename) {
/** 返回操作结果 0表失败 1表成功 */
int returnValue = 0;
/** 建立document对象 */
Document document = DocumentHelper.createDocument();
/** 建立xml文档的根xbrli:xbrl */
Element xbrliElement = document.addElement(“xbrli:xbrl“);
//给跟标签加命名空间
xbrliElement.addNamespace(“ykj“ “http://www.ykj.com/xbrl/taxeditor/ykj“);
xbrliElement.addNamespace(“link“ “http://www.xbrl.org/2003/linkbase“);
xbrliElement.addNamespace(“xsi“ “http://www.w3.org/2001/xmlSchema-instance“);
xbrliElement.addNamespace(“iso4217“ “http://www.xbrl.org/2003/iso4217“);
xbrliElement.addNamespace(“xlink“ “http://www.w3.org/1999/xlink“);
xbrliElement.addNamespace(“xbrldt“ “http://http://xbrl.org/2005/xbrldt“);
xbrliElement.addNamespace(“xbrli“ “http://www.xbrl.org/2003/instance“);
xbrliElement.addNamespace(“cas“ “http://xbrl.mof.gov.cn/taxonomy/2010-09-30/cas“);
xbrliElement.addNamespace(“ifrs“ “http://xbrl.iasb.org/taxonomy/2010-04-30/ifrs“);
/** 加入一行注释 */
xbrliElement.addComment(“来自云会计的xbrl-xml“);
/** 加入第一个link:schemaRef节点 */
xbrliElement.addElement(“link:schemaRef“).addAttribute(“xlink:type“ “simple“).addAttribute(“xlink:href“ “ykj_cn.xsd“);
//***********************
//其决定了下面主表填值的标签重复条数
//定义context节点数量并存入分组ID
List contextIdList = new ArrayList();
/** 加入第一个xbrli:context节点*/
Element contextElement = xbrliElement.addElement(“link:context“).addAttribute(“id“ “BeginningBalance20160101“);
contextIdList.add(“BeginningBalance20160101“);
//---
/** 向xbrli:context中加入第一个xbrli:entity节点*/
Element entity = contextElement.addElement(“xbrli:entity“);
/** 加入第一个xbrli:identifier节点*/
Element identifier = entity.addElement(“xbrli:identifier“).addAttribute(“scheme“ “http://www.saic.gov.cn/“);
/** 向xbrli:identifier注入值*/
identifier.setText(“100000100357322“);
//--
/** 向xbrli:context中加入第一个xbrli:period节点*/
Element period = contextElement.addElement(“xbrli:period“);
/** 加入第一个xbrli:instant节点*/
period.addElement(“xbrli:instant“).setText(“2016-01-01“);
//*********************
/** 加入第二个xbrli:context节点*/
Element contextElement2 = xbrliElement.addElement(“link:context“).addAttribute(“id“ “ClosingBalance20161231“);
contextIdList.add(“ClosingBalance20161231“);
//---
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 428 2017-04-28 14:57 xbrl\.classpath
文件 380 2017-04-28 12:53 xbrl\.project
文件 629 2017-04-28 14:57 xbrl\.settings\org.eclipse.jdt.core.prefs
文件 6905 2017-04-28 16:08 xbrl\bin\cn\ykj\build\xm
文件 2386 2017-04-28 14:58 xbrl\bin\cn\ykj\parse\xm
文件 2253 2017-04-28 16:07 xbrl\bin\cn\ykj\test\Testxm
文件 1706 2017-04-28 15:58 xbrl\bin\cn\ykj\util\CopyFile.class
文件 781 2017-04-28 14:57 xbrl\bin\cn\ykj\util\PathUtil.class
文件 410 2017-04-28 15:32 xbrl\bin\xbrlResource\ykj_cn-calculation.xm
文件 109960 2017-04-28 15:32 xbrl\bin\xbrlResource\ykj_cn-definition.xm
文件 184154 2017-04-28 09:51 xbrl\bin\xbrlResource\ykj_cn-label.xm
文件 115527 2017-04-28 15:32 xbrl\bin\xbrlResource\ykj_cn-presentation.xm
文件 410 2017-04-28 15:32 xbrl\bin\xbrlResource\ykj_cn-reference.xm
文件 55888 2017-04-28 15:32 xbrl\bin\xbrlResource\ykj_cn.xsd
文件 313898 2017-04-11 14:35 xbrl\lib\dom4j-1.6.1.jar
文件 226877 2017-04-11 14:49 xbrl\lib\jaxen-1.1-beta-7.jar
文件 10730 2017-04-28 16:08 xbrl\src\cn\ykj\build\xm
文件 1769 2017-04-28 14:58 xbrl\src\cn\ykj\parse\xm
文件 1427 2017-04-28 16:07 xbrl\src\cn\ykj\test\Testxm
文件 1746 2017-04-28 15:58 xbrl\src\cn\ykj\util\CopyFile.java
文件 335 2017-04-28 13:14 xbrl\src\cn\ykj\util\PathUtil.java
文件 410 2017-04-28 15:32 xbrl\src\xbrlResource\ykj_cn-calculation.xm
文件 109960 2017-04-28 15:32 xbrl\src\xbrlResource\ykj_cn-definition.xm
文件 184154 2017-04-28 09:51 xbrl\src\xbrlResource\ykj_cn-label.xm
文件 115527 2017-04-28 15:32 xbrl\src\xbrlResource\ykj_cn-presentation.xm
文件 410 2017-04-28 15:32 xbrl\src\xbrlResource\ykj_cn-reference.xm
文件 55888 2017-04-28 15:32 xbrl\src\xbrlResource\ykj_cn.xsd
目录 0 2017-04-28 16:09 xbrl\bin\cn\ykj\build
目录 0 2017-04-28 16:09 xbrl\bin\cn\ykj\parse
目录 0 2017-04-28 16:09 xbrl\bin\cn\ykj\test
............此处省略22个文件信息
评论
共有 条评论