是否有明确定义的方法来衡量 and/or 文件的大小 XML 的复杂性?

Is there a well-defined way to measure size and/or complexity of XML files?

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

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

我还发现有 tools/libraries 可以 count/list 基于不同标签名称的节点或元素。如: Simplest way to get XML node count

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

衡量 XML 文件的明确方法

尺寸

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

复杂性

  • 唯一{元素|属性}名称计数
  • 元素树层次结构的最大或平均{depth|width}
  • Directed Acyclic Graph measures ID/IDREF DAG 结构
  • 验证 XML 的最小模式的大小
    • 限于特定架构标准{XSD|DTD|RelaxNG|...}
    • 仅限于特定架构功能子集(例如:无 xsd:any、...)
  • XML 文件的
  • Kolmogorov complexity 作为字符串