我需要用 XML 描述查询。查询子句由一个值和一个比较类型组成。例如,让我们采用三种比较类型:相等性、范围内包含和相似性,其中整数定义了相似度。我可以这样描述它们:
<Clause type="equal">42</Clause>
<Clause type="inside" lowerlimit="41" upperlimit="43"/>
<Clause type="similar" degree="2">Abcd</Clause>
或者我可以在特定于上下文的节点中描述值,如下所示:
<Clause type="equal">
<Value>42</Value>
</Clause>
<Clause type="inside">
<RangeLimit lowerlimit="41" upperlimit="43"/>
</Clause>
<Clause type="similar">
<Similarity degree="2">Abcd</Similarity>
</Clause>
我发现第一个示例更易于阅读,解析器代码会更简洁。还有一个事实是,我有 9 种类型的子句只接受值(如相等),并且只有两种具有附加参数。因此,如果我选择第二种选择,那么生成的 XML 将非常大,并且大小在我要解决的问题中很重要。
另一方面,我不确定我是否喜欢属性之间的关系,第二个示例更具描述性和统一性。
选择第一选择是否有任何可能的影响?