我无法找到解决空闲混合元素问题的解决方案,即我想强制我的混合元素非空。以下问题完美地解决了这个问题:Define an element as non-empty in RelaxNG
假设我的元素text
是混合内容(即与文字交错),其中可能包含元素bold
,italic
,{{1 }}。我可以在RelaxNG中将其定义为:
underline
我想要禁止的首先是<element name="text">
<mixed>
<zeroOrMore>
<ref name="bold" />
</zeroOrMore>
<zeroOrMore>
<ref name="italic" />
</zeroOrMore>
<zeroOrMore>
<ref name="underline" />
</zeroOrMore>
</mixed>
</element>
,上述当然不会这样做。理想情况下,我还想禁止任何其他仅限空白的值(<text></text>
)。其他任何东西都应该是有效的(也像<text> </text>
那样构造)。我玩弄了以下内容但是它甚至没有验证一个简单的<text><bold>blah</bold></text>
实例:
<text>blah</text>
任何可以了解这一点的RelaxNG专家?