我正在尝试使用实体从用户那里获取输入(比如性别 - 男性/女性)并将其存储在配置文件变量和下面的代码片段中。
<default>
<output>
<prompt selectionType="RANDOM">
<item>I did not quite get that.</item>
</prompt>
</output>
</default>
<input id="input_2508594">
<grammar>
<item>$(Gender)={gender}</item>
<item>I am a
</item>
</grammar>
<action operator="SET_TO" varName="gender">{gender.value:main}</action>
<output>
<prompt selectionType="RANDOM">
<item>Hi hello {gender}!</item>
</prompt>
</output>
</input>
<entities>
<entity name="Gender">
<value name="Male" value="Male"/><value name="Female" value="Female"/>
</entity>
</entities>
<variables>
<var_folder name="Home">
<var description="friend" name="UserName" type="TEXT"/>
<var description="one" name="gender" type="TEXT"/>
</var_folder>
</variables>
现在,如果我说“I am a”,对话服务会以“Hi hello!”响应。但是,如果我输入“女性”,WDS 会响应默认输出“我不太明白。”。然后我尝试给$(Gender)={gender}
,它返回“Hi hello!”。因此,看起来对话框没有解析实体的输入,我无法将输入存储到配置文件变量中。
请问有什么建议吗?我是否遗漏了对话框 xml 文件中的任何内容?