gpt4 book ai didi

xml - 使用 XML DTD 验证 YAML

转载 作者:行者123 更新时间:2023-12-02 02:22:41 24 4
gpt4 key购买 nike

我在系统上处理大量遗留代码,这些代码要求来自其他部门的各种技术经验很少或没有技术经验的人必须学习 XML(和一组相当复杂的 DTD)以将文档数字化,然后通过到一些专门设计用于使用 XML 的专用设备。

我突然想到,对于真正不了解标记语言的第一件事的人来说,YAML 或 JSON(或其他我根本没有听说过的东西?)在人类创作方面可能要容易得多。是否有一个库(对于 Visual Studio 来说是理想的,这样我可以避免使用像 Ruby 这样更简单的东西所涉及的公司繁文缛节),它可以针对大量的 XML DTD 验证 YAML,或者 YAML 首先需要以某种方式完全转换为 XML然后/然后/验证?

我担心的是,一个工具的内部用户可以让他们在 YAML 中创作以节省他们使用 XML 的麻烦,他们不知道如何处理验证错误,因为已经通过转换。

最佳答案

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

但是,编写这样的工具不会太难。这完全是关于将 YAML 转换为可以通过 XSD 中的规则进行验证的内容。这可以通过将 YAML 转换为 XML,然后验证该 XML 来实现,但也可以通过将 XSD 或 DTD 编译为 C#,然后构建 C# 代码所需的对象树来实现。

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

关于xml - 使用 XML DTD 验证 YAML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7430508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com