XBRL类型报文的开发(小demo)
来源:互联网 发布:ipod打电话软件 编辑:程序博客网 时间:2024/06/03 16:46
//需要的jar包为 xbrlCOREpublic class Demo {/** * @param args * @throws IOException * @throws XBRLException * @throws JDOMException * @throws InstanceException * @throws CloneNotSupportedException * * 源码: * Element rootElement = new Element("xbrl"); 组成 : 右 xbrl rootElement.setNamespace(instance.getInstanceNamespace());生成xbrli 合并为<xbrli:xbrl Attribute typeAttribute = new Attribute("type", "simple"); typeAttribute.setNamespace(instance.getNamespace(NamespaceConstants.XLINK_NAMESPACE.getURI()));给type+namespace name:type=simple //set.add(Dset); 可以都放到set里 也可以等价于 in.addDiscoverableTaxonomySet(Dset); */public static void main(String[] args) throws IOException, XBRLException, JDOMException,InstanceException, CloneNotSupportedException {String XBRL_SCHEMA_LOC_INSTANCE_URI =NamespaceConstants.XBRL_SCHEMA_LOC_INSTANCE_URI;@SuppressWarnings("rawtypes")Set set = new HashSet();/******************************************************************************************************************************** * <link:schemaRef xlink:type="simple" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="taxName" /> * in.addNamespace(NamespaceConstants.XLINK_NAMESPACE); //xlink: * in.addNamespace 会影响到这些标签的生成。 *********************************************************************************************************************************/DiscoverableTaxonomySet Dset = new DiscoverableTaxonomySet();TaxonomySchema tax = new TaxonomySchema(Dset);tax.setName("taxName");Dset.setTopTaxonomy(tax);/*********************************************************************************************************************************/Instance in = new Instance(set);/******************************************************************************************************************************** * <xbrli:unit id="PURE"> <xbrli:measure>xbrli:pure</xbrli:measure> </xbrli:unit>InstanceUnit unit = InstanceUnitFactory.getUnitPure(); *********************************************************************************************************************************///in.addNamespace(NamespaceConstants.XL_NAMESPACE);in.addNamespace(NamespaceConstants.XSI_NAMESPACE);in.addNamespace("chinawealth_entry_point", "http://www.chinawealth.com.cn/taxonomy/2016-04-30/cas/chinawealth/chinawealth_entry_point");in.addNamespace(NamespaceConstants.LINK_NAMESPACE);in.addNamespace("cas", XBRL_SCHEMA_LOC_INSTANCE_URI);in.addNamespace("num","http://www.xbrl.org/dtr/type/numeric");in.addNamespace("nonnum","http://www.xbrl.org/dtr/type/non-numeric");in.addNamespace(NamespaceConstants.XBRLDT_NAMESPACE);in.addNamespace("ifrs-full","http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs-full");in.addNamespace("rol_chinawealth_2016-04-30", "http://www.chinawealth.com.cn/taxonomy/2016-04-30/cas/chinawealth/rol_chinawealth_2016-04-30");in.addNamespace("wemax", "http://www.chinawealth.com.cn/taxonomy/2016-04-30/cas/chinawealth");//这里写了, 下面的 ceConcept.setNamespace(Namespace.getNamespace("wemax", "bbb"));//会改变标签名但是 namespace会移动到顶层显示。但是两者必须相同in.addNamespace("iso4217","http://www.xbrl.org/2003/iso4217");in.addNamespace(NamespaceConstants.XLINK_NAMESPACE); //xlink:in.addSchemaLocation("schemaLocation", "aaa");//in.setInstanceNamespace(Namespace.getNamespace("live", "aaa"));//修改前面标签 <iso4217://in.setComment("setCom");//注释 <!-- setCom --> /********************************************************************************************************************************* * - <xbrli:context id="C-D-20160411-20160412"> <xbrli:entity> <xbrli:identifier scheme="http://www.pbc.gov">C99999</xbrli:identifier> </xbrli:entity> <xbrli:period> <xbrli:startDate>123</xbrli:startDate> <xbrli:endDate>456</xbrli:endDate> </xbrli:period> </xbrli:context> *********************************************************************************************************************************/InstanceContext con = new InstanceContext("C-D-20160411-201604122");con.setIdentifier("C99999");con.setPeriodStartDate("123");con.setPeriodEndDate("456");con.setIdentifierScheme("http://www.pbc.gov");//--------------------------------------------------------------/********************************************************************************************************************************** * * <wemax:concepSSt unitRef="PURE" contextRef="C-D-20160411-20160412">fact</concept> * Namespace.getNamespace("aaa", "bbb") * * fact value **factElement.addContent(new CDATA(" content")); * ********************************************************************************************************************************* */ Concept ceConcept = new Concept("concepSSt");ceConcept.setNamespace(Namespace.getNamespace("wemax", "http://www.chinawealth.com.cn/taxonomy/2016-04-30/cas/chinawealth"));Fact fact = new Fact(ceConcept);//fact.setInstanceUnit(unit);fact.setInstanceContext(con);//testList list = new ArrayList();CDATA cdata = new CDATA("adfasfsdf");cdata.append("a");cdata.append("cccccccccccccc");list.add(new Element("aabbcc").setNamespace(Namespace.getNamespace("newE", "NewUrl")));list.add(cdata);fact.setContentList(list);//----fact.setValue("adasdf||asdfsf||asdfsdafsdf|ASDFSDAFsa|||Asdfsdf");//********************************************************************************************************************************//in.addUnit(unit);in.addContext(con);in.addDiscoverableTaxonomySet(Dset);in.addFact(fact);InstanceOutputter out = new InstanceOutputter(in);out.saveAsFile("C:\\sra", "test1.xml");} /** * * @return 废弃的方法 */ /* public Element addFactElement() { Set factSet = instance.getFactSet(); Element factElement = new Element("ele"); factElement.setName("InvestorsSummaTionOfDiffenrentTypesInformationRegistrationTuple"); factElement.setNamespace(Namespace.getNamespace("wemax","http://www.chinawealth.com.cn/taxonomy/2016-04-30/cas/chinawealth")); Iterator factSetIterator = factSet.iterator(); while (factSetIterator.hasNext()) { factElement.addContent( getFactElement((Fact) factSetIterator.next())); } return factElement; }*/}
阅读全文
0 0
- XBRL类型报文的开发(小demo)
- xbrl-获取所有基金的模板类型
- ICMP报文的类型
- 开发一个Toolbar小demo的步骤
- ICMP报文的类型说明
- XBRL官网不保证24X7可用,这就是为什么开发XBRL应用要建立Schema文件的本地缓存
- 快速解锁小程序(最完整的小程序开发资料:视频+Demo+工具包)
- 关注XBRL技术规范,开发路线图
- android:AppWidget 窗口小部件的开发思想和Demo
- delphi开发获取文件MD5值的小demo
- 基于MVC开发模式的天气预报小Demo
- IOS开发-tableViewCell 的小demo,group分组。
- iOS开发:GitHub 上传自己的小项目/demo
- XBRL对审计事务所的影响 - xbrl-public
- 一句话总结:XBRL的精髓
- 通讯报文中浮点类型的处理
- 几种常见的ICMP报文类型
- ajax小的DEMO
- 分布式下的爬虫Scrapy应该如何做-关于动态内容js或者ajax处理(2)
- Android开发-button监听事件
- CSS笔记
- java多线程学习
- IntelliJ IDEA 如何彻底删除项目
- XBRL类型报文的开发(小demo)
- CentOS 64位 安装openfire
- PAT 1009. 说反话 (20)
- DDMS进行Pull文件报错Failed to pull selection: open failed: Permission denied的解决方法
- c语言大数乘法各位相加问题
- 1.1数组和链表:189. Rotate Array(Leetcode)
- java连接数据库方式(三):MyBatis 与Spring整合
- 剑指offer[一]:二维数组中的查找(java和c++版本)
- 黑马java全套视频教程 黑马javaee传智播客 32期 28期+20套项目