2014-01-14 2 views
1

Я пытаюсь создать CustomLanguage для xml, чтобы получить подсветку синтаксиса в xamSyntaxEditor для xml.Infragistics XamSyntaxEditor - синтаксический разбор EBNF для xml

Я посмотрел на «How to use infragistics syntax parsing engine?» и подумал, что хорошим способом начать было бы получить файл EBNF для XML и использовать метод Infragistics.Documents.Parsing.Grammar.LoadEbnd().

Я использовал файл EBNF из http://www.jelks.nu/XML/xmlebnf.txt

Это оказалось слишком легко. У меня много ошибок. Начиная с ошибки «UnrecognizedContent» для «::».

Мои маленькие знания говорят мне, что «:: =» является важной частью EBNF.

Что я сделал не так? Использует ли это даже обычный EBNF?

+0

Есть ли веская причина, по которой вы переопределяете синтаксический анализатор XML из царапины, а не использование одного из парсеров XML, доступных в готовом виде? Весь смысл XML заключается в том, что он является общим синтаксисом для многих языков и что приложение должно иметь дело только с семантикой ... Если вы действительно хотите сделать это по какой-то причине, я бы предложил посмотреть на авторитетную грамматику в самой Рекомендации XML, а не доверять второму источнику. – keshlam

ответ

1

В браузере образца для WPF 13.2 под синтаксисом Parsing Engine> Data есть образец с именем CustomLanguage. В этом примере показана пользовательская грамматика XML, используемая для выделения синтаксиса. Сама грамматика может быть найдена в папке исходного кода образцов по следующему относительному пути: \ CLR4.0 \ IGSyntaxParsingEngine \ Samples \ Languages ​​\ XML.ebnf

Смежные вопросы