다음을 통해 공유


SrgsDocument.WriteSrgs(XmlWriter) 메서드

정의

Speech Recognition Grammar Specification (SRGS) Version 1.0을 준수하는 XML 형식 문법 파일에 SrgsDocument 개체의 내용을 기록합니다.

public:
 void WriteSrgs(System::Xml::XmlWriter ^ srgsGrammar);
public void WriteSrgs (System.Xml.XmlWriter srgsGrammar);
member this.WriteSrgs : System.Xml.XmlWriter -> unit
Public Sub WriteSrgs (srgsGrammar As XmlWriter)

매개 변수

srgsGrammar
XmlWriter

XmlWriter 인스턴스를 작성하는 데 사용하는 SrgsDocument입니다.

예외

srgsGrammar이(가) null인 경우

예제

다음 예제는 SrgsDocument 개체를 만들고 다음 이라는 공용 규칙 winnerRule합니다. 그런 다음 SrgsItem "세계 컵을 찾은 국가:" 라는 문자열로 구성 된를 만들고이 항목을 Elements 규칙의 속성에 추가 합니다. 이 예에서는 다음 두 개의 자세한 규칙을 만듭니다 (ruleEurope 하 고 ruleSAmerica), 각 중는 SrgsOneOf 3 개를 포함 하는 개체 SrgsItem 개체. 그런 다음 다른 SrgsOneOf 개체가 포함 된 만들어집니다 SrgsRuleRef 참조 하는 개체 ruleEuroperuleSAmerica합니다. 새 SrgsOneOf 개체에 추가 되는 Elements 속성을 winnerRule입니다. 그런 다음 세 가지 규칙 (winnerRule, ruleEurope, 및 ruleSAmerica)에 추가 됩니다는 Rules 속성을 SrgsDocument입니다. 이 예제에서는 빈 XML 파일을 만들고 인스턴스의 마지막으로, XmlWriter합니다. WriteSrgs 메서드를 XmlWriter 의 콘텐츠를 작성 하는 인스턴스는 SrgsDocument XML 파일.

public void WorldSoccerWinners ()  
{  

  // Create an SrgsDocument, create a new rule  
  // and set its scope to public.  
  SrgsDocument document = new SrgsDocument();  
  SrgsRule winnerRule = new SrgsRule("WorldCupWinner");  
  winnerRule.Scope = SrgsRuleScope.Public;  

  // Add the introduction.  
  winnerRule.Elements.Add(new SrgsItem("A nation that has won the World Cup is: "));  

  // Create the rule for the European nations.  
  SrgsOneOf oneOfEurope = new SrgsOneOf(new SrgsItem[] {new SrgsItem("England"),   
    new SrgsItem("France"), new SrgsItem("Germany"), new SrgsItem("Italy")});  
  SrgsRule ruleEurope = (new SrgsRule("EuropeanNations", new SrgsElement[] {oneOfEurope}));  

  // Create the rule for the South American nations.  
  SrgsOneOf oneOfSAmerica = new SrgsOneOf(new SrgsItem[] {new SrgsItem("Argentina"),   
    new SrgsItem("Brazil"), new SrgsItem("Uruguay")});  
  SrgsRule ruleSAmerica = (new SrgsRule("SouthAmericanNations", new SrgsElement[] {oneOfSAmerica}));  

  // Add references to winnerRule for ruleEurope and ruleSAmerica.  
  winnerRule.Elements.Add(new SrgsOneOf(new SrgsItem[] {(new SrgsItem   
    (new SrgsRuleRef(ruleEurope))), new SrgsItem(new SrgsRuleRef(ruleSAmerica))}));  

  // Add all the rules to the document and make winnerRule   
  // the root rule of the document.  
  document.Rules.Add(new SrgsRule[] {winnerRule, ruleEurope, ruleSAmerica});  
  document.Root = winnerRule;  

  // Create a string object with the path to the file to use.  
  string srgsDocumentFile = Path.Combine(Path.GetTempPath(), "srgsDocumentFile.xml");  

  // Create an XmlWriter object and pass the file path.  
  XmlWriter writer = XmlWriter.Create(srgsDocumentFile);  

  // Write the contents of the XmlWriter object to an SRGS-compatible XML file.  
  document.WriteSrgs(writer);  
  writer.Close();  
}  

적용 대상