いくつかの代替ルールを認識しなければなりませんが、相互排除を行う方法がわかりません。たとえば、「再生」、「停止」、または「セット 1」、「セット 2」を認識したい場合、どうすればよいですか? このようなことを試してみましたが、番号が必要ない場合は認識しません(たとえば、「開始2」は正しく認識されますが、自明に認識したくありません)。
<grammar version="1.0" tag-format="semantics/1.0" xml:lang="en-US" root="main">
<rule id="main">
<ruleref uri="#actions"/>
<ruleref uri="#numbers"/>
</rule>
<rule id="actions">
<item repeat="0-1">
<one-of>
<item>play</item>
<item>stop</item>
<item>set</item>
</one-of>
</item>
</rule>
<rule id="numbers">
<item repeat="0-1">
<one-of>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
</one-of>
</item>
</rule>
</grammar>