【摘 要】XBRL是XML在商业报告领域的规范化,发展步伐迅猛。XBRL吸收了XML的结构层次特点,并有其独特的地方。它通过分层机制,有利于把握商业事实内在语义,便于计算机理解,促进了财务信息数据挖掘。
【关键词】XBRL; XML; 层次结构; 数据挖掘
XBRL(eXtensible Business Reporting Language,可扩展商业报告语言)是用于企业财务数据电子交流的语言,是一种基于XML语言的实现(准确的说是规范化)。上世纪90年代末美国首先提出XBRL理论,很快为实务界所采纳,短短几年之内,XBRL得到超乎寻常的发展。在XBRL国际组织(xbrl.org)的推动下,目前XBRL在全球范围内已经被大多数会计师事务所、贸易机构、软件开发商、金融机构、投资者以及政府机构采用。
现在对XBRL的研究普遍存在仅从技术上理解的倾向,但其实际情况并非如此。XBRL的广泛传播并不是仅仅是由于技术规范的成熟和标准的整齐划一,更重要的是因为它对于现实生活中商业行为的深刻理解和语义层面的把握,才使得不同语法形式下(外在表现为异质平台)信息共享成为可能,极大地促进了财务信息数据挖掘的进行,满足了决策者对有用信息和知识的需求。本文将探讨XBRL的层次结构特点,以说明为何它能有效地把握语义信息及由此而产生的数据挖掘问题。
一、XML层次结构与计算机理解
XBRL是XML在商业报告领域的应用。XML是一种面向计算机的使用元数据标识信息的标准化结构;XBRL则给出了元数据的一个规范化,并简单定义了财务报告文档信息标记的语义关系。
XBRL,或者说XML之所以要采用层次结构的方式,是因为人和计算机对事物的理解,都是分层的。
笔者采用自然语言描述这样一个事实——“红星股份有限公司2006年年报总资产是1 000万元”,我们理解这一语句的过程大致分为这么几步:分析语句语法结构为“<主语名词词组>(<‘是’><数量词宾语>=”,此语法结构对应的语义解释规则为“(等值于)(个体—>属性,数量值)”,据此语句解释为“(等值于)(红星股份有限公司—>总资产,1 000万元)”;至此解释并没有完成,而只是把对象语言的自然语言形式转化为了元语言的逻辑函数形式,对对象语言的理解也转化为了对逻辑函数的理解。要理解这一逻辑函数项,需要解释等值关系、年报总资产等语义要素的含义,对这些要素的理解又需要诉诸于更上一层的元语言。由此每一层次的语言都需要在更上一层的元语言中实现语义解释。当然,如此反复将导致无限循环,可能存在语义解释系统都以一定的假设(尤其是对某些形而上命题的假设,亦即本体论)为起点。以W3C总监Tim Berners-Lee在XML2000年会上提出的语义Web为例,其意义解释层次结构如图1所示。
这一层次结构中,只有XML层、RDF层、Ontology层、Logic层是为语言解释而设计的,这四个层次本身还可以进一步划分。XML文档描述的是信息内容,NS定义了信息内容的访问地址标识,XML Schema则规定了文档的语法格式;RDF提供了标准的元数据语义描述规范;而本体论(ontology)在RDFs基础上定义了领域共享概念的形式化显式说明,Ontology一般分为顶层本体、领域本体、任务本体、应用本体;逻辑层则(Logic)提供了基于本体进行逻辑推理的规则,它目前有SWRL(Semantic Web Rule Language)与ORL(OWL Rule Language)两个提案,未形成标准。
相比HTML及PDF的会计信息表述形式,XML的优势在于可标识信息的语义项,这种标识是对计算机而言的。以“投资收益1 000万元”为例,PDF与HTML等方式只是通过网络传递人类能通过视觉系统将其中的信息项“投资收益”与值项“1 000”相对应起来的、显示在屏幕上或打印到纸上的“电子图纸”;而在XML里,我们可以通过标签来唯一地标识信息项,如1000表示投资收益1 000万元,计算机可以轻松地通过查找各上市公司发布财务报表的固定网址上的标签来获得各上市公司投资收益。而对PDF与HTML文档,计算机只能将整篇的文档汇总到一起供我们集中阅读。
XML的思想精髓在于分层,实现“信息显示与信息内容相分离”、“信息内容与信息语法格式相分离”、“语法格式与语义规则相分离”、“语义规则与本体论相分离”。分层机制将语义解释转化为了对树形结构文档的解读问题,这使得计算机能够使用一个相似的递归算法来实现,大大降低了工程实践的难度,也从实践的角度佐证了语义解释亦是递归计算。不过不能因此而认为树形结构的XML文件就完整地表示了信息语义关系,XML不过是信息的语法形式,尽管语义解释的元语言语句也可以是XML(事实上Schema、RDF、OWL都采用树形文档结构),但逻辑上两者处于不同层次上。
狭义地讲,计算机对XML的理解是根据Schema文档定义的语法要素(element)及要素之间的组合关系(complexType)识别出XML实例文档中语法要素,并据此建立语法要素与信息内容之间的关联。但如果没有RDF、OWL、Logic层次的支持,计算机理解只可能是限定于特定语言层次上的形式化理解。从广义上看,XML是一个包含了RDF、OWL、Logic的完整体系结构,计算机理解实质上是借助于递归算法,对各层次的关系完整把握。
二、XBRL的层次结构
作为XML的一个应用模式,XBRL的层次结构也有其特点。可以将现有的XBRL分为三层:技术规格(specification)、分类标准(Taxonomy)和实例文档(Instance Documents)。
技术规格,或称说明、规范,主要用于定义XBRL的各种专门术语,描述了XBRL文件的结构,详细规定了XBRL分类的标准和XBRL实例文档的语法和语义。虽然有XML元素和属性的语义上的表述,但XBRL规格是一项侧重技术的文件,目的在于定义一项符合规范的XBRL文档。
分类标准是财务报告发布的语法格式,也部分定义了各会计报表要素的“语义关系”。如“资产=负债+所有者权益”、“主营业务收入是利润表的要素”、“Assets表达资产的概念”等等。分类标准由名为Taxonomy.xsd的XML Schema文档与相关联的五个XML链接库文件(Definition.xml,Calculation.xml, Presentation.xml,Label.xml,Reference.xml)组成,Taxonomy定义的是报表的语法形式,链接库文件定义的是报表语法要素的语义关系,其结构如图2所示。