Реализация DSL в Ruby для генерации специфичного для домена XML - PullRequest
1 голос
/ 15 декабря 2010

Я бы хотел реализовать DSL в Ruby для генерации специфичных для домена XML-документов (т.е. XML, который соответствует определенной схеме). Я могу использовать, например, Builder для написания XML на Ruby, что уже является значительным улучшением при написании XML вручную, но я также хотел бы:

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

Так что мой план на данный момент состоит в том, чтобы расширить Builder с помощью удобных методов и пока игнорировать сторону ограничения схемы.

Мои вопросы к сообществу: звучит ли это как разумный план, и что более важно, существуют ли какие-либо DSL, которые каким-то образом расширяют Builder, и я мог бы использовать его для вдохновения.

К сожалению, поиск в Google для ruby ​​, xml , builder , extension , dsl , ... hasn не очень интересные результаты.

1 Ответ

2 голосов
/ 15 декабря 2010

Я не знаю, использует ли он Builder, но haml , безусловно, стоит посмотреть.

Я также нашел эту статью , в которой упоминается много других,, вероятно, Markaby ближе всего к вашей идее, но последний коммит на github - с 2008 года. Конечно, смотреть на код _why должно быть интересно.

...