Разрешены ли вложенные операторы if в vxml? - PullRequest
2 голосов
/ 19 августа 2009

Разрешены ли вложенные операторы «если»? например:

<if cond="1 == 1">
  <if cond="2 == 2">
      One is in fact equal to one and Two is in fact equal to two
  <else/>
      One is in fact equal to one but Two is never not equal to two
  </if>
<else/>
  One is never not equal to one
</if>

Я понимаю, что мог бы переписать это условие с помощью выражения "&&", но логика, которую я пытаюсь сделать, была бы беспорядочной, чтобы продолжать повторять в цепочке if ififs, что это должно быть.

Ответы [ 2 ]

3 голосов
/ 19 августа 2009

Да, согласно найденному определению схемы здесь . if является элементом executable.content, который может содержать последовательность из нуля или более элементов executable.content.

0 голосов
/ 15 февраля 2017

Добавление к ответу @ John (поскольку в комментариях есть ограничение на количество слов):

Это относится и к VXML 2.1: https://www.w3.org/TR/voicexml21/vxml.xsd

<xsd:element name="if">
<xsd:sequence>
<xsd:group ref="executable.content" minOccurs="0" maxOccurs="unbounded"/>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="elseif"/>
<xsd:group ref="executable.content" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:sequence minOccurs="0" maxOccurs="1">
<xsd:element ref="else"/>
<xsd:group ref="executable.content" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:sequence>
<xsd:attributeGroup ref="If.attribs"/>
</xsd:complexType>
</xsd:element>
...