我正在寻找一种方法来构建一个VXML语法,它需要输入一定数量的数字,但也要求输入不是全零。
此用例是银行编号。例如,我想强制输入(语音或DTMF,无关紧要)9位数作为路由号码,但要求并非所有数字都为零。 (暂时忽略模数检查,我在这里不关心)。
鉴于<one-of>
和<item>
的语法结构,我可以通过枚举所有可能性(例如本问题末尾的规则)来看到这一点。但是,这看起来很荒谬。有没有更好的方式我还没有遇到过?任何帮助将不胜感激。
<rule>
<one-of>
<item>
<item repeat="1">
<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>
</item>
<item repeat="8">
<item>0</item>
<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>
</item>
</item>
<item>
<item repeat="1">
<item>0</item>
<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>
</item>
<item repeat="1">
<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>
</item>
<item repeat="7">
<item>0</item>
<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>
</item>
</item>
<item>
<item repeat="2">
<item>0</item>
<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>
</item>
<item repeat="1">
<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>
</item>
<item repeat="6">
<item>0</item>
<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>
</item>
</item>
etc....
</one-of>
</rule>
答案 0 :(得分:1)
这样的事情
<rule id="zero">
<oneof>
<item>0</item>
</oneof>
</rule>
<rule id="nonzero">
<oneof>
<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>
</oneof>
</rule>
<rule id="alldigits">
<oneof>
<item>
<ruleref uri="#zero"/>
</item>
<item>
<ruleref uri="#nonzero"/>
</item>
</oneof>
</rule>
<rule id="account-num">
<oneof>
<item>
<item repeat="7">
<ruleref uri="#alldigits"/>
</item>
<item repeat="1">
<ruleref uri="#nonzero"/>
</item>
</item>
</oneof>
</rule>
规则account-number指定至少一个数字不能为零。