最近、Windows Speech Recognition Macros で 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>
私がこのマクロでやろうとしているのは、ユーザーから都市名を取得し、その場所の天気をいくつかの変数で取得して、好きな形式で天気を教えてくれるようにすることです。
誰かが私が間違っていることとそれを修正する方法を説明してもらえますか?
前もって感謝します:) -ダーク