У меня есть набор записей, которые мне нужно проверить, чтобы убедиться, что узел существует, но только если запись не относится к определенному типу. Например:
<record>
<type>Audio</type>
</record>
<record>
<type>Video</type>
</record>
<record>
<type>Text</type>
<preview>https://website.com/preview.jpg</preview>
</record>
Я хочу сказать, что запись недействительна, если у нее нет поля <preview>
, если только это не аудио- или видеофайл, в этом случае без поля <preview>
хорошо.
Но как-то так не работает:
<pattern>
<rule context="record/type !='Audio' and record/type !='Video'">
<assert test="record/preview">Needs preview image</assert>
</rule>
</pattern>
Есть ли способ сделать проверку одного узла условной по значению другого узла?