Я хочу использовать инструмент случайного генератора xml для выполнения случайного тестирования путем создания случайных файлов xml из xsd. (Я использую кислородный инструмент)
Генератор случайных чисел не будет применять семантические ограничения к сгенерированным значениям. например, у меня есть элемент «параметры», который имеет несколько элементов «параметр», например, 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>
Поэтому я хочу использовать подмножество уже сгенерированных параметров (p1 и p2), как вы можете видеть в приведенном выше примере, вместо создания некоторых других случайных параметров, потому что тогда все сгенерированные XML-файлы недействительны, и мне нужен действительный.
ПРИМЕР недопустимого 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>
Спасибо