ruby - 在 Ruby 中实现 DSL 以生成特定于域的 XML

标签 ruby xml dsl builder

我想在 Ruby 中实现一个 DSL 来生成特定于域的 XML 文档(即符合特定模式的 XML)。我可以使用例如使用 Ruby 编写 XML 的构建器,这已经是手动编写 XML 的一大改进,但我还想:

  • 可以为我生成一大堆 XML 的便捷方法
  • 并且可能是一种将生成器限制为模式的方法(不一定是 XSD 或 DTD,但实现可能只生成某些标签)

  • 所以我目前的计划是使用方便的方法扩展 Builder 并暂时忽略事物的模式限制方面。

    我向社区提出的问题是,这听起来是否是一个合理的计划,更重要的是,是否有任何 DSL 以某种方式扩展了 Builder,我可以从中汲取灵感。

    不幸的是,在谷歌上搜索 ruby​​、xml、builder、extend、dsl ……并没有返回非常有趣的结果。

    最佳答案

    我不知道它是否使用 Builder,但是 haml当然值得一看。

    我还找到了 this article提到了更多,其中可能是 Markaby最接近您的想法,但 github 上的最后一次提交是从 2008 年开始的。当然,查看 _why 的代码应该很有趣。

    关于ruby - 在 Ruby 中实现 DSL 以生成特定于域的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4444864/

    相关文章:

    uml - UML 类图的文本表示 - UML 的 DSL

    scala - Akka-http中获取客户端IP

    ruby - Net::HTTP.get 显示进度

    ruby-on-rails - CanCan - "user"参数为 nil - Rails 4

    java - 在 AndroidManifest.xml 中添加 "@android:style/Theme.Dialog"后,我的 Android 应用程序崩溃

    java - 如何使用java-xslt方法处理多个文件?

    xml - 将 xml 存储在 xml 中

    System Groovy 脚本中的 java.lang.NumberFormatException

    ruby-on-rails - rails rspec 测试模型上的更新属性

    ruby - 用自己的方法替换对象的通用方法