我必须承认一些替代规则,但我不知道如何进行互斥。比如我要识别“play”、“stop”,或者“set 1”、“set 2”,我该怎么做?我尝试了类似的方法,但是当我不需要数字时它无法识别(例如,“start 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>