Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a Relaxer for .NET? Is Relaxer alive? Is RelaxNG viable? [closed]

I read about Relaxer, the thing that compiles .RNG to Java classes. BBut the website, http://www.relaxer.org/, is dead.

Q1:
Is Relaxer alive? Is it real, does it work? Is it reasonable to generate Java classes from .RNG?

Q2:
Is there a Relaxer for .NET? Is there a tool that generates C# classes from RelaxNG schema?

Q3: Is there a Relaxer for Javascript?

AND, finally

Q4:
Is RelaxNG alive? Is it viable? Relevant and useful in the REST/JSON world? Are people still using it or is it going to fade, a good idea that has been dropped? I know that is subjective, but I'd like to know your assessment. I see only 9 or 10 RelaxNG Q's on stackoverflow, so I question the relevance of this technology. If not RelaxNG, then what? WADL? Nothing?


See Maintaining Consistency Between JavaScript and C# Object Models for a related question.

like image 963
Cheeso Avatar asked Jan 21 '10 21:01

Cheeso


2 Answers

Just use Mono's RelaxngValidatingReader.

I've made a NuGet Package by compiling the Mono Commons.Xml.Relaxng project.

PS: I use this in production for some AlpineBits projects.

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);
    }
}
like image 67
Martin Meixger Avatar answered Sep 28 '22 22:09

Martin Meixger


Rather than let this question hang out here unanswered forever, and going on the theory that no answer at all is actually a pretty definitive answer, I'm going to provide a response myself.

The answers:

  1. No, by all indications, Relaxer is not alive.

  2. There is no Relaxer for .NET

  3. There is no Relaxer for Javascript

  4. RelaxNG is apparently also dead still alive, just looking deadish as it is stable, but it is used quite a lot as alternative to XSD. A recent addition was RelaxNG validation in Saxon for XQuery and XSLT done by Charles Foster.

  5. There are a bunch of alternatives for RelaxNG validation in .NET, as mentioned in the comments and Martin's answer.

like image 38
Cheeso Avatar answered Sep 28 '22 23:09

Cheeso