2010-01-21 4 views
8

Ich lese über Relaxer, die Sache, die .RNG zu Java-Klassen kompiliert. BBut die Website, http://www.relaxer.org/, ist tot.Gibt es einen Relaxer für .NET? Ist Relaxer am Leben? Ist RelaxNG lebensfähig?

Q1:
Ist Relaxer am Leben? Ist es real, funktioniert es? Ist es sinnvoll, Java-Klassen aus .RNG zu generieren?

Q2:
Gibt es einen Relaxer für .NET? Gibt es ein Tool, das C# -Klassen aus dem RelaxNG-Schema generiert?

Q3: Gibt es einen Relaxer für Javascript?

und schließlich

Q4:
Ist RelaxNG am Leben? Ist es machbar? Relevant und nützlich in der REST/JSON-Welt? Benutzen die Leute es noch oder wird es verblassen, eine gute Idee, die fallengelassen wurde? Ich weiß, dass das subjektiv ist, aber ich würde gerne Ihre Einschätzung erfahren. Ich sehe nur 9 oder 10 RelaxNG Qs auf stackoverflow, also stelle ich die Relevanz dieser Technologie in Frage. Wenn nicht RelaxNG, was dann? WADL? Nichts?


Siehe Maintaining Consistency Between JavaScript and C# Object Models für eine verwandte Frage.

Antwort

2

Anstatt diese Frage hier für immer unbeantwortet zu lassen, und gehen auf die Theorie, dass überhaupt keine Antwort ist eigentlich eine ziemlich endgültige Antwort, werde ich selbst eine Antwort geben.

Die Antworten:

  1. Nein, bei allen Indikationen, Relaxer nicht mehr am Leben ist.

  2. Es gibt keine Relaxer für .NET

  3. Es gibt keine Relaxer für Javascript

  4. RelaxNG ist offenbar auch tot noch am Leben, gerade auf der Suche deadish wie es stabil ist, aber es verwendet wird, ziemlich viel als Alternative zu XSD. Ein neuer Zusatz war RelaxNG validation in Saxon for XQuery and XSLT von Charles Foster getan.

  5. Es gibt eine Reihe von Alternativen zur RelaxNG-Validierung in .NET, wie in den Kommentaren und Martins Antwort erwähnt.

+1

Ich habe Tenuto erfolgreich als RelaxNG Validator für .NET verwendet. Es ist hier aufgeführt: http: //www.relaxng.org/ –

+1

Für was es wert ist, Trang scheint eine Menge von dem zu tun, was Relaxer tat, und wird aktiv gepflegt: http://code.google.com/p/jing-trang/ – Tao

+1

Ich habe eine Spezifikation für ein Nachrichtenschema geschrieben im RelaxNG Compact-Format, das ich in eine XSD konvertieren muss. Ja Leute interessieren sich. ftp://medical.nema.org/medical/dicom/final/sup95_ft.pdf – bleepzter

8

Verwenden Sie einfach den RelaxngValidatingReader von Mono.

Ich habe eine NuGet Package gemacht, indem ich die Mono Commons.Xml.Relaxng project kompiliert habe.

PS: Ich verwende dies in der Produktion für einige AlpineBits Projekte.

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); 
    } 
} 
+0

Irgendwelche Unterlagen für das Projekt? Wie benutzt man es? In 'Documentation/de' sehe ich eine XML Dokumentation, aber gibt es eine gerenderte (HTML) Version? –

+0

@FranklinYu Ein einfaches Beispiel zum Überprüfen einer XML-Datei wurde hinzugefügt. Siehe auch die [Komponententests] (https://github.com/mono/mono/blob/master/mcs/class/Commons.Xml.Relaxng/Test/RelaxngValidatingReaderTests.cs) im Mono-Repository. –

+0

Danke. Ich dachte, es gibt eine Dokumentation von 'Commons.Xml.Relaxng' online verfügbar, da es [eine für die meisten Teile von Mono] (http://docs.go-mono.com/) gibt. Ich denke immer noch, dass sich einige Dokumentationen verbessern würden, und versuche vielleicht, dies per Pull-Request in das Mono-Repository einzufügen. (Oder fragen Sie in der Mailingliste nach (https://lists.dot.net/mailman/listinfo/mono-docs-list).) –

Verwandte Themen