Проверка YAML с помощью XML DTD - PullRequest
       14

Проверка YAML с помощью XML DTD

2 голосов
/ 15 сентября 2011

Я работаю с огромным объемом унаследованного кода в системе, который требует от людей всех видов из других отделов, не имеющих или почти не имеющих технического опыта, необходимости изучать XML (и довольно сложный набор DTD) для оцифровки документов, что затем перейдите к некоторым специализированным устройствам, специально разработанным для использования XML.

Мне пришло в голову, что YAML или JSON (или что-то еще, о чем я вообще не слышал?) Может оказаться намного проще в человеческом авторском праве для людей, которые действительно не знают ничего о языках разметки. Существует ли библиотека (в идеале для Visual Studio, чтобы я мог избежать корпоративной волокиты, связанной с использованием чего-то более легкого, например, Ruby), которая может проверять YAML по отношению к массивному XML DTD или же сначала нужно каким-то образом полностью преобразовать YAML в XML и / затем / подтверждено?

Я опасаюсь, что внутренние пользователи инструмента, который позволит им писать в YAML, чтобы избавить их от проблем работы с XML, не будут знать, что делать с ошибкой проверки, которая в дальнейшем удаляется из-за того, что был преобразован.

1 Ответ

1 голос
/ 15 сентября 2011

Я не знаю, существует ли такой инструмент, но даже если бы он существовал, вероятно, было бы невозможно, чтобы он был достаточно точным, чтобы выдавать значимые сообщения об ошибках пользователю.Даже при разработке XML DTD или XSD часто очень трудно понять сообщения об ошибках.

Однако написание такого инструмента не будет слишком сложным.Все дело в переводе YAML во что-то, что может быть подтверждено правилами в XSD.Это может быть достигнуто путем перевода YAML в XML, а затем проверки этого XML, но это также может быть сделано путем компиляции XSD или DTD в C #, а затем построения дерева объектов, ожидаемого кодом C #.

Возможно, если таковоеинструмент, сохраняющий метаданные о YAML (например, номера строк и символов), несколько значимых сообщений об ошибках могут быть возвращены пользователю.Это может быть особенно верно, если XSD или DTD сначала переводятся в C #, поскольку в C # вы меньше зависите от самого XML и можете легче расширить проверку на то, что соответствует YAML.

...