0

クエリを XML で記述する必要があります。クエリ句は、値と比較タイプで構成されます。たとえば、3 つの比較タイプを考えてみましょう: 等値、範囲への包含、および類似度です。ここで、整数は類似度を定義します。それらを次のように説明できます。

<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 種類の節があり、追加のパラメーターを持つのは 2 種類だけであるという事実もあります。したがって、2 番目の選択肢を選択すると、結果の XML は非常に大きくなり、解決しようとしている問題ではサイズが重要になります。

一方、属性間の関係が好きかどうかはわかりません。2 番目の例は、より説明的で統一されています。

最初の選択肢を使用することで、何か影響はありますか?

4

1 に答える 1

1

属性に依存する要素をスキーマで記述するのは困難です。

提供された 2 つのどちらかを選択する必要がある場合は、プログラミングの観点からすると、2 つ目の方が簡単に操作できます。<Clause>どちらの場合でも、要素の 2 つの形式を混在させないように簡単に制約することはできません。

<Clause type="similar">
    <RangeLimit lowerLimit="42" upperLimit="43"/>
</Clause>

いくつかの代替手段を次に示します。

<Equal>42</Equal>
<Inside lowerLimit="42" upperLimit="43"/>
<Similar degree="2">Abcd</Similar>

<Clause>
    <Similar degree="2">Abcd</Similar>
</Clause>
于 2013-10-08T14:46:17.090 に答える