通常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复杂性