2014-01-14 31 views
1

我正在嘗試爲xml創建一個CustomLanguage,以便在xamSyntaxEditor中爲XML獲取語法高亮。Infragistics XamSyntaxEditor - 語法解析用於xml的EBNF

我已經看過「How to use infragistics syntax parsing engine?」,並認爲一個好的開始方法是獲取XML的EBNF文件並使用Infragistics.Documents.Parsing.Grammar.LoadEbnd()方法。

我使用http://www.jelks.nu/XML/xmlebnf.txt

的EBNF文件這被證明是太容易了。我得到了很多錯誤。 從「::」的「UnrecognizedContent」錯誤開始。

我的小知識告訴我「:: =」是EBNF的重要組成部分。

我做錯了什麼?這甚至使用常規的EBNF嗎?

+0

是否有充分的理由讓您重新實現XML解析器從頭開始而不是使用現成的XML解析器之一? XML的重點在於它是許多語言的共享語法,而且應用程序只需要處理語義......如果你真的想出於某種原因想要這樣做,我建議你看一下權威性語法XML推薦本身,而不是相信第二個來源。 – keshlam

回答

1

在用於WPF 13.2的示例瀏覽器中,在Syntax Parsing Engine> Data下,有一個名爲CustomLanguage的示例。此示例顯示了用於突出顯示語法的自定義XML語法。語法本身可以在以下相對路徑的示例源代碼文件夾中找到: \ CLR4.0 \ IGSyntaxParsingEngine \ Samples \ Languages \ XML.ebnf