【问题标题】:Is there a Relaxer for .NET? Is Relaxer alive? Is RelaxNG viable? [closed].NET 有松弛器吗?放松者还活着吗? RelaxNG 可行吗? [关闭]
【发布时间】:2011-01-07 23:03:27
【问题描述】:

我阅读了有关将 .RNG 编译为 Java 类的东西的 Relaxer。 B但是http://www.relaxer.org/这个网站已经死了。

第一季度:
放松者还活着吗?是真的吗,有用吗?从.RNG生成Java类合理吗?

第二季度:
.NET 有松弛器吗?是否有从 RelaxNG 模式生成 C# 类的工具?

Q3:是否有适用于 Javascript 的 Relaxer?

最后

第四季度:
RelaxNG还活着吗?可行吗?在 REST/JSON 世界中相关且有用吗?人们还在使用它还是会褪色,一个已经放弃的好主意?我知道这是主观的,但我想知道你的评价。我在 stackoverflow 上只看到 9 或 10 个 RelaxNG Q,所以我质疑这项技术的相关性。如果不是RelaxNG,那又是什么? WADL? 什么都没有?


有关相关问题,请参阅 Maintaining Consistency Between JavaScript and C# Object Models。

【问题讨论】:

    标签: c# javascript relaxng relaxer


    【解决方案1】:

    只需使用 Mono 的 RelaxngValidatingReader。

    我通过编译Mono Commons.Xml.Relaxng project 制作了一个NuGet Package。

    PS:我在一些AlpineBits 项目中使用它。

    XmlReader instance = new XmlTextReader ("instance.xml");
    XmlReader grammar = new XmlTextReader ("grammar.rng");
    using (RelaxngValidatingReader reader = new RelaxngValidatingReader (instance, grammar)) {
        try {
            while (!reader.EOF) {
                reader.Read();
            }
            Console.WriteLine("validation succeeded");
        }
        catch (Exception ex) {
            Console.WriteLine("validation failed with message:");
            Console.WriteLine(ex.Message);
        }
    }
    

    【讨论】:

    • 项目的任何文档?喜欢怎么用?在Documentation/en 中,我看到了一些 XML 文档,但是否有渲染 (HTML) 版本?
    • @FranklinYu 添加了一个如何验证 xml 文件的简单示例。另请参阅 mono 存储库中的 unit tests。
    • 谢谢。我认为网上有一些Commons.Xml.Relaxng 的文档,因为有one for most parts of Mono。我仍然认为某些文档会有所改进,并且可能会尝试通过拉取请求将其添加到单声道存储库中。 (或者可以在mailing list 中询问。)
    【解决方案2】:

    我不会让这个问题永远悬而未决,而是坚持根本没有答案实际上是一个非常明确的答案的理论,我将自己提供一个回应。

    答案:

    1. 不,所有迹象表明,Relaxer 没有生命。

    2. .NET 没有松弛器

    3. Javascript 没有松弛器

    4. RelaxNG 显然也死了 还活着,只是看起来死气沉沉,因为它很稳定,但它被大量用作 XSD 的替代品。最近添加的是 RelaxNG validation in Saxon for XQuery and XSLT,由 Charles Foster 完成。

    5. 如 cmets 和 Martin 的回答中所述,.NET 中的 RelaxNG 验证有很多替代方案。

    【讨论】:

    • 我已经成功地将 Tenuto 用作 .NET 的 RelaxNG 验证器。它在这里列出:relaxng.org
    • 对于它的价值,Trang 似乎做了很多 Relaxer 所做的事情,并且得到了积极的维护:code.google.com/p/jing-trang
    • 我有一个以 RelaxNG Compact 格式编写的消息模式的规范,我必须将其转换为 XSD。是的,人们关心。 medical.nema.org/medical/dicom/final/sup95_ft.pdf
    • 我使用的是 Relax-NG,我想为它找到一个活生生的 .NET 验证器。
    • 顺便说一句,Relax-NG 本身看起来还不错,所以几乎不需要维护。
    猜你喜欢
    • 2012-04-03
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多