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)
与其让这个问题永远悬而未决,并继续认为根本没有答案实际上是一个相当明确的答案,我将自己提供一个答案。
答案:
不,从所有迹象来看,Relaxer 已经不存在了。
.NET 没有 Relaxer
Javascript 没有 Relaxer
RelaxNG 显然也已经死了,但它很稳定,只是看起来很死气沉沉,但它被广泛用作 XSD 的替代品。最近添加的一项内容是Charles Foster在 Saxon 中对 XQuery 和 XSLT 进行的 RelaxNG 验证。
正如评论和 Martin 的回答中提到的,.NET 中的 RelaxNG 验证有很多替代方案。