是否有适用于.NET的Relaxer?Relaxer活着吗?RelaxNG可行吗?

Che*_*eso 9 javascript c# relaxng relaxer

我读到了关于Relaxer的事情,它将.RNG编译成Java类.BBut网站http://www.relaxer.org/已经死了.

Q1:
Relaxer活着吗?这是真的吗,有效吗?从.RNG生成Java类是否合理?

Q2:
是否有适用于.NET的Relaxer?是否有一个工具可以从RelaxNG模式生成C#类?

问题3: Javascript是否有松弛剂?

而且,最后

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


有关相关问题,请参阅维护JavaScript和C#对象模型之间的一致性.

Mar*_*ger 10

只需使用Mono的RelaxngValidatingReader即可.

我通过编译Mono Commons.Xml.Relaxng项目制作了NuGet包.

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);
    }
}
Run Code Online (Sandbox Code Playgroud)


Che*_*eso 4

与其让这个问题永远悬而未决,并继续认为根本没有答案实际上是一个相当明确的答案,我将自己提供一个答案。

答案:

  1. 不,从所有迹象来看,Relaxer 已经不存在了。

  2. .NET 没有 Relaxer

  3. Javascript 没有 Relaxer

  4. RelaxNG 显然已经死了,但它很稳定,只是看起来很死气沉沉,但它被广泛用作 XSD 的替代品。最近添加的一项内容是Charles Foster在 Saxon 中对 XQuery 和 XSLT 进行的 RelaxNG 验证。

  5. 正如评论和 Martin 的回答中提到的,.NET 中的 RelaxNG 验证有很多替代方案。

  • 顺便说一句,Relax-NG本身看起来就很好,所以几乎不需要维护。 (6认同)