Реализация DSL в Ruby для генерации XML, специфичного для домена

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

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

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

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

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


person liwp    schedule 14.12.2010    source источник


Ответы (1)


Не знаю, использует ли он Builder, но haml, безусловно, стоит поискать.

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

person krusty.ar    schedule 14.12.2010
comment
Спасибо krusty.ar, как ты говоришь, Маркаби, похоже, близок к тому, чем я хочу заниматься! Понятия не имею, почему я не подумал о том, чтобы выглядеть как все генераторы HTML ... - person liwp; 15.12.2010