是否有一种定义良好的方法来衡量XML文件的大小和/或复杂性



通常LOC是衡量程序源代码的广泛使用的度量标准之一。它非常适合测量Java或C代码的大小。然而,在我们目前的一个研究项目中,我们需要测量XML文件中代码的大小。由于XML格式的灵活性,LOC似乎不太适合这个目的。

我想知道是否有一种衡量XML代码大小或复杂性的好方法。我在网上搜索过,大多数已发表的研究工作都集中在定义XML模式(DTD)的复杂性,而不是XML文件。例如:XML文档集合的度量

我还发现,有一些工具/库可以根据不同的标记名称来计数/列出节点或元素。例如:xml文件中元素的计数获取XML节点计数的最简单方法

然而,我们的研究并不关心标签或元素的名称。我们只需要一个定义良好的度量来衡量XML文件中代码的大小或复杂性,尤其是Android布局文件和AndroidManifest.XML文件。

测量XML文件的定义良好的方法

尺寸

  • XML文件字节计数
  • 文本内容字符数
  • {Element|Attribute|DOM节点}计数
  • 上述措施的总和

复杂性

  • 唯一的{元素|属性}名称计数
  • 元素树层次结构的最大或平均{depth|width}
  • ID/IDREF DAG结构的有向无环图测度
  • 将验证XML的最小架构的大小
    • 仅限于特定的架构标准{XSD|DTD|RelaxNG|…}
    • 仅限于特定的模式特征子集(例如:无xsd:any,…)
  • 字符串形式的XML文件的Kolmogorov复杂性

最新更新