我想在relaxNG中使用组元素进行嵌套选择。由于relaxNG不支持条件语句,因此我必须将元素组合在一起,以获得True与False的值。我不能使用紧凑的relaxNG,因为lxml(python库)不支持它,元素不会按顺序排列,我需要交错。我想要实现的是这样的。
if A is True:
do nothing.
else:
if B is True:
do nothing
else:
2 more elements appear
if C is True:
do nothing
else:
2 more elements appear
我目前正在使用group with group将元素组合在一起。如您所见,B和C嵌套在A中。当我使用
时<choice>
A - True
<group>
<interleave>
A - False
<choice>
B - True
<group>
<interleave>
B - False, two elements appear
<interleave>
</group>
</choice>
<choice>
C - True
<group>
<interleave>
C - False, two elements appear
<interleave>
</group>
</choice>
</interleave>
</group>
</choice>
目前,该代码给出了错误,指出Element有额外的内容。我认为这是交错问题。但我不知道如何实现这一结果。