1

我正在寻找一种构建 VXML 语法的方法,该语法需要输入一定数量的数字,但也要求输入不能全为零。

用例是银行号码。例如,我想为路由号码强制输入 9 位数字(语音或 DTMF,没关系),但要求并非所有数字都为零。(暂时忽略模数检查,我不关心这里)。

鉴于 and 的语法结构<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>
4

1 回答 1

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-num 指定至少一个数字不能为零。

于 2013-01-30T21:44:37.640 回答