SrgsDocument.WriteSrgs(XmlWriter) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 참조 하는 개체 ruleEurope
및 ruleSAmerica
합니다. 새 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();
}