2 Stimmen

Aufbau einer externen Grammatik in voicexml

Wie sieht die Struktur einer externen vxml-Grammatik aus?

Im Moment habe ich folgende Inline-Grammatik:

<grammar root="main" version="1.0" xml:lang="de-DE">

  <rule id="main" scope="public">
    <one-of>
      <item> 1 </item>
      <item> 2 </item>
      <item>3 </item>
      <item> 4</item>
    </one-of>
  </rule>

</grammar>

Anstelle dieser Inline-Grammatik möchte ich schreiben

<grammar src = "mygrammar.grxml" type="application/srgs+xml" />

und verweisen auf die externe Grammatik.

Kann ich die Inline-Grammatik einfach kopieren und in mygrammer.grxml einfügen?

oder benötige ich weitere Codezeilen?

vielen Dank im Voraus

----EDIT----

wo früher meine Inline-Grammatik war, habe ich jetzt

<grammar src = "grammar_produkte.grxml" type="application/srgs+xml" />

und meine externe Grammatik sieht wie folgt aus (wie Sie sagten):

<?xml version="1.0" ?>
<grammar root="main" version="1.0" xml:lang="de-DE">

  <rule id="main" scope="public">
    <one-of>
      <item> 1 </item>
      <item> 2 </item>
      <item> 3 </item>
      <item> 4 </item>
    </one-of>
  </rule>
</grammar>

aber es funktioniert nicht. Es wird angezeigt, dass ein Fehler aufgetreten ist und dass die Anwendung angehalten wird. Habe ich etwas falsch gemacht? Die Datei befindet sich im gleichen Verzeichnis wie die .vxml.

Ich verwende MS Speech Server 2007

----------------Edit-------

Hallo,

Ich beziehe mich auf die Grammatikdatei mit:

<grammar src = "grammar_produkte2.grxml" type="application/srgs+xml"  />

Zusätzlich zu der zuvor verwendeten Grammatik verwende ich jetzt dieses Beispiel (von der Website):

 <?xml version="1.0"?>

<grammar xml:lang="de-DE" 
tag-format="semantics-ms/1.0" version="1.0" 
root="Root" mode="voice" 
xmlns="http://www.w3.org/2001/06/grammar" 
xmlns:sapi=
"http://schemas.microsoft.com/
Speech/2002/06/SRGSExtensions">

    <rule id="produkte" scope="public">
       <one-of>
        <item>
          <item>ham</item>
          <tag>$._value = "ham"</tag>
        </item>
        <item>
          <item>roast beef</item>
          <tag>$._value = "roast beef"</tag>
        </item>
        <item>
          <item>italian</item>
          <tag>$._value = "italian"</tag>
        </item>
      </one-of>
     </rule>
 </grammar>

Ich habe es mit mode=voice und dtmf versucht.

Brauche ich noch etwas anderes als den Sprachserver? Die Dateien befinden sich im selben Ordner.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X