GrammarBuilder.AppendRuleReference Método

Definición

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

Sobrecargas

Nombre Description
AppendRuleReference(String)

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

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 usar reglas de gramática preinsercionales 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 de los siguientes formatos.

La compilación de un archivo de gramática SRGS de formato XML en un archivo de gramática binaria con la extensión .cfg puede reducir el tiempo consumido por las búsquedas de una coincidencia, especialmente si la gramática requiere 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 CFG, vea SrgsGrammarCompiler.

AppendRuleReference(String)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

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

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

Ruta de acceso o identificador de recursos universales (URI) del archivo que describe una gramática de reconocimiento de voz en un formato compatible.

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 debajo del 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

Importante

El uso de una instancia de este tipo con datos que no son de confianza es un riesgo de seguridad. Use este objeto solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.

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 W3C Speech Recognition Grammar Specification (SRGS) 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 gramaticales. Para anexar una regla gramatical específica, use el AppendRuleReference método .

Consulte también

Se aplica a

AppendRuleReference(String, String)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

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

Ruta de acceso del archivo o identificador de recursos universales (URI) del archivo que describe una gramática de reconocimiento de voz en un formato compatible.

rule
String

Identificador de la regla que se va a 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 debajo del 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

Importante

El uso de una instancia de este tipo con datos que no son de confianza es un riesgo de seguridad. Use este objeto solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.

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