目前,我正在尝试区分不同的序列化文本格式。主要在XBRL、XML、CSV和JSON之间。
我假设,如果我们使用解析器解析XBRL/XML并没有抛出任何异常,那么它就是一个有效的XML文档,需要进一步检查该文档是常规xml还是xbrl。
如果第一次检查失败,请尝试解析csv。如果解析csv返回异常,请尝试解析为JSON。如果以上都不起作用,那么它就是一个无效的文档。
这是识别文档文本格式类型的一种特殊方式吗?还是有更好的方法?(例如,读取文档的前几个字节等)。
谢谢
发布于 2018-06-06 21:02:53
我想具体说明XML和XBRL之间的区别。
XML是一种语法。XML解析器的任务可能是解析出元素,对照模式检查元素,并对照文档的结构执行其他语法级验证。在大多数情况下,解析XML是对文档结构的语法检查。
XBRL利用XML格式,因此所有XBRL文档也都是XML文档。但是,XBRL规范超越了XML解析器,以确保以XML格式编码的数据的语义是正确的。例如,XBRL解析器加载计算链接库(如果定义了计算链接库),并确保参与计算的数值按照计算链接库的定义正确相加。Gepsio等工具执行这种特定于XBRL Specification的语义检查工作,以确保以XML格式编码的数据符合XML中定义的所有规则。
XBRL是针对XML编码数据的语义规则。有效的XBRL也是有效的XML,但反之亦然。
https://stackoverflow.com/questions/32452416
复制相似问题