【发布时间】:2013-05-14 06:37:43
【问题描述】:
最近我对使用 Windows 语音识别宏尝试一些 XML 和 Javascript 产生了兴趣。这是我对这两种语言的第一次体验,但由于我的编程历史很短,我认为我可以深入研究。到目前为止,它进展顺利。但是现在我正在尝试对我的宏实现更深层次的交互性,我开始遇到错误,我无法在网上找到解释,所以我来这里寻求您的帮助。
这是给我带来问题的宏:
<command>
<listenFor>Whats the weather like in [CityName]</listenFor>
<script language="JScript">
<![CDATA[
var xml_doc = new ActiveXObject("Microsoft.XMLDOM");
xml_doc.async = false;
xml_doc.load("http://api.openweathermap.org/data/2.5/weather?q={[CityName]}&mode=xml");
var city = xml_doc.getElementByTagName("city").getAttribute("name");
var temperature = xml_doc.getElementByTagName("temperature");
Application.Speak(city);
]]>
</script>
</command>
这是错误信息:
Error compiling grammar for speech Macros:
"AI-base.WSRMac"
==========
Line 40: 80045048 - Invalid rule reference to <RULEREF NAME="CityName" REFID=""/>
==========
00001:
00002: <GRAMMAR LANGID="0409">
...
...
...
00038: <RULE NAME="Rule_8">
00039: <P>
00040: <p>Whats the weather like in </p><ruleref name="CityName" propname="CityName" />
00041: </P>
00042: </RULE>
00043: <RULE name="build:namedDictation"><dictation min="1" max="10"/></RULE>
00044: </GRAMMAR>
我试图用这个宏做的是从用户那里获取一个城市名称并获取该位置的天气,将它放在几个变量中,然后让它以我喜欢的格式告诉我天气。
谁能解释我做错了什么以及如何解决它?
在此先感谢 :) -德克
【问题讨论】:
标签: javascript xml speech-recognition