GrammarBuilder.AppendRuleReference Método

Definición

Anexa un archivo o una regla de gramática a la secuencia actual de elementos de gramática.

Sobrecargas

AppendRuleReference(String)

Anexa un archivo de definición de gramática a la secuencia actual de elementos de gramática.

AppendRuleReference(String, String)

Anexa la regla especificada de un archivo de definición de gramática a la secuencia actual de elementos de gramática.

Comentarios

Los AppendRuleReference métodos pueden anexar un archivo de gramática o una regla de gramática de un archivo. Estos métodos permiten a las aplicaciones hacer uso de reglas de gramática preimplementadas o disponibles públicamente. La aplicación debe tener acceso de lectura a la ubicación de los archivos de gramática especificados.

Estos métodos pueden leer una gramática de reconocimiento de voz a partir de los siguientes formatos.

La compilación de un archivo de Gramática SRGS con formato XML en un archivo de gramática binaria con la extensión. cfg puede reducir el tiempo consumido por las búsquedas para buscar coincidencias, especialmente si la gramática requiere el reconocimiento de un gran número de palabras y frases. Para obtener información sobre cómo compilar gramáticas de SRGS en el formato binario de CFG, vea SrgsGrammarCompiler .

AppendRuleReference(String)

Anexa un archivo de definición de gramática a la secuencia actual de elementos de gramática.

public:
 void AppendRuleReference(System::String ^ path);
public void AppendRuleReference (string path);
member this.AppendRuleReference : string -> unit
Public Sub AppendRuleReference (path As String)

Parámetros

path
String

La ruta de acceso o el identificador de recursos universal (URI) del archivo que describe una gramática de reconocimiento de voz en un formato admitido.

Ejemplos

En el siguiente ejemplo de C# se crea una gramática de reconocimiento de voz que usa la regla denominada Cities en un archivo SRGS local, Cities. grxml. El contenido del archivo Cities. grxml aparece bajo el ejemplo de código de C#.

private static Grammar CreateCitiesGrammar1()  
{  
  GrammarBuilder builder = new GrammarBuilder();  
  builder.AppendRuleReference("file://c:/temp/cities.grxml");  

  Grammar citiesGrammar = new Grammar(builder);  
  citiesGrammar.Name = "Cities Grammar 1";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-16" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.grxml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item> Seattle </item>  
      <item> Los Angeles </item>  
      <item> New York </item>  
      <item> Miami </item>  
    </one-of>  
  </rule>  
</grammar>  

Comentarios

El URI proporcionado por el path argumento puede ser local o remoto. La aplicación debe tener acceso de lectura a la ubicación de los archivos de gramática especificados.

Una representación de la especificación de la gramática de reconocimiento de voz (SRGS) de W3C puede definir una regla raíz. Este método anexa la gramática, empezando por su regla raíz, a la secuencia actual de elementos de gramática. Para anexar una regla de gramática concreta, use el AppendRuleReference método.

Consulte también

Se aplica a

AppendRuleReference(String, String)

Anexa la regla especificada de un archivo de definición de gramática a la secuencia actual de elementos de gramática.

public:
 void AppendRuleReference(System::String ^ path, System::String ^ rule);
public void AppendRuleReference (string path, string rule);
member this.AppendRuleReference : string * string -> unit
Public Sub AppendRuleReference (path As String, rule As String)

Parámetros

path
String

La ruta de acceso o el identificador de recursos universal (URI) del archivo que describe una gramática de reconocimiento de voz en un formato compatible.

rule
String

El identificador de la regla para anexar, o null para anexar la regla raíz predeterminada del archivo de gramática.

Ejemplos

En el siguiente ejemplo de C# se crea una gramática de reconocimiento de voz que usa la regla denominada Cities en un archivo SRGS local, Cities. grxml. El contenido del archivo Cities. grxml aparece bajo el ejemplo de código de C#.

private static Grammar CreateCitiesGrammar2()  
{  
  GrammarBuilder builder = new GrammarBuilder();  
  builder.Append("Does");  
  builder.AppendRuleReference(@"c:\temp\cities.grxml", "Cities");  
  builder.Append("have a shuttle");  

  Grammar citiesGrammar = new Grammar(builder);  
  citiesGrammar.Name = "Cities Grammar 2";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.grxml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item> Seattle </item>  
      <item> Los Angeles </item>  
      <item> New York </item>  
      <item> Miami </item>  
    </one-of>  
  </rule>  
</grammar>  

Comentarios

El URI proporcionado por el path argumento puede ser local o remoto. La aplicación debe tener acceso de lectura a la ubicación de los archivos de gramática especificados.

Puede usar el AppendRuleReference método para anexar un archivo de gramática a partir de su regla raíz.

Consulte también

Se aplica a