【问题标题】:Validating YAML with an XML DTD使用 XML DTD 验证 YAML
【发布时间】:2011-11-17 19:59:59
【问题描述】:

我在系统上处理大量遗留代码,这些代码需要来自其他部门的各种人员,几乎没有或根本没有技术经验,必须学习 XML(以及一组相当复杂的 DTD)才能将文档数字化,这然后传递到一些专门为使用 XML 而设计的专用设备。

我突然想到,对于那些对标记语言一无所知的人来说,YAML 或 JSON(或其他我从未听说过的东西?)在人工创作方面可能要容易得多。是否有一个库(对于 Visual Studio 来说是理想的,这样我就可以避免使用像 Ruby 这样更简单的东西所涉及的企业繁文缛节)可以针对大量 XML DTD 验证 YAML 还是首先需要以某种方式将 YAML 完全转换为 XML和 /then/ 验证?

我担心的是,让他们在 YAML 中进行创作以省去使用 XML 的麻烦的工具的内部用户不知道如何处理由于已经被进一步删除的验证错误经历了一次转化。

【问题讨论】:

    标签: xml json yaml markup dtd


    【解决方案1】:

    我不知道这样的工具是否存在,但即使存在,它也可能不可能足够精确以向用户产生有意义的错误消息。即使在创作 XML 时,DTD 或 XSD 也会经常产生难以理解的错误消息。

    但是,编写这样的工具不会太难。这一切都是关于将 YAML 翻译成可以通过 XSD 中的规则进行验证的东西。这可以通过将 YAML 转换为 XML,然后验证该 XML 来实现,但也可以通过将 XSD 或 DTD 编译为 C#,然后构建 C# 代码预期的对象树来完成。

    如果这样的工具保留了有关 YAML 的元数据(如行号和字符号),可能会向用户返回一些有意义的错误消息。如果首先将 XSD 或 DTD 转换为 C#,则尤其如此,因为在 C# 中,您对 XML 本身的依赖较少,并且可以更轻松地将验证扩展到适合 YAML 的内容。

    【讨论】:

      猜你喜欢
      • 2016-09-18
      • 1970-01-01
      • 2011-09-30
      • 2016-04-01
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多