xsd からランダムな xml ファイルを生成してランダムなテストを実行するために、ランダムな xml ジェネレーター ツールを使用したいと考えています。(私は酸素ツールを使用しています)
ランダム ジェネレーターは、生成された値にセマンティック制限を適用しません。たとえば、 p1 と p2 などの複数の要素「パラメーター」を持つ要素「パラメーター」がありますが、「パラメーター」を使用する別の要素「制約」があります。つまり、 P1, P2 がある場合、 p1 と p2 のサブセットを使用する必要があります。制約のために他のパラメーターをランダムに再生成する代わりに、ランダム ジェネレーター ツールにそれら (p1 と p2) を使用させたいと考えています。「key」、「keyref」などを使用しましたが、それでも機能しません。制限なしでどこでもランダムな文字列を生成するだけです。オプション「要素と属性の値:ランダム(制限を適用)」を選択することに言及する必要があります したがって、ランダムな値を生成するときに制限を考慮する必要がありますが、そうではありません! 助けてください..
有効な XML のサンプル:
<system>
<parameters>
<parameter id="1" name="p1" >
<value id="1" name="value1"/>
<value id="2" name="value2"/>
</parameter>
<parameter id="2" name="p2" >
<value id="1" name="value1"/>
<value id="2" name="value2"/>
</parameter>
</parameters>
<constraint text="p1=p2">
<parameter name="p1"/>
<parameter name="p2"/>
</constraint>
</system>
したがって、上記の例でわかるように、生成されたすべてのxmlが無効であり、有効なものが必要なため、他のランダムパラメーターを生成する代わりに、既に生成されたパラメーターのサブセット (p1 および p2) を使用する必要があります。
無効な XML のサンプル:
<system>
<parameters>
<parameter id="1" name="p1" >
<value id="1" name="value1"/>
<value id="2" name="value2"/>
</parameter>
<parameter id="2" name="p2" >
<value id="1" name="value1"/>
<value id="2" name="value2"/>
</parameter>
</parameters>
<constraint text="**p3**=**p5**">
<parameter name="**p8**"/>
<parameter name="**p9**"/>
</constraint>
</system>
ありがとう