Ich habe gerade hier gelernt, über nxml-mode , was laut README ein
istHauptmodus für GNU Emacs für Bearbeiten von XML-Dokumenten. Es unterstützt Bearbeiten von wohlgeformten XML-Dokumenten und bietet auch eine schemafreundliche Bearbeitung von XML-Dokumenten mit RELAX NG Kompakte Syntax.
Gibt es einen Modus, der dasselbe für W3C XML Schema tut?
Wenn ich sowas nicht finden kann, dann ist der nxml-Modus für mich sowieso nützlich, vorausgesetzt, ich gehe streng mit W3C XML Schema und nicht mit Relax-NG um?
Verwandte Themen: Schemabewusste Bearbeitung in VIM
Ich habe dies mit einem ziemlich vereinfachten XSD-Schema versucht - eines, das vier Elemente unterschiedlichen Typs definiert hat. Bei Verwendung dieses Schemas mit nxml-mode musste ich 3 XSL-Konvertierungen durchführen:
[Vorher war mir nicht klar, dass es zwei Sorten von RNG gibt. ]
Das Ergebnis ist eine ziemlich kompakte RNC-Datei, die sogar verständlich ist.
Ich habe das gleiche auch mit einem XSLT XSD versucht und ähnliche, positive Ergebnisse erhalten: eine gute .nc Datei, die mit dem nxml-Modus verwendet werden kann. Dies stellte sich als unnötig heraus, da nxml-mode mit einem RNC für XSLT ausgeliefert wird. Aber es gab mir die Sicherheit, dass komplexere XSD-Dateien in .RNC konvertiert werden konnten.
Nachdem Sie den .RNC erhalten haben, können Sie ihn zum Editieren eines XML-Dokuments verwenden. Öffnen Sie das Dokument (möglicherweise ein neues, leeres Dokument) und stellen Sie sicher, dass der nxml-Modus ausgeführt wird, wenn dies nicht automatisch für Sie erledigt wird. Ordnen Sie dann das Schema diesem Dokument im nxml-Modus unter Verwendung von C-c C-s C-f zu. Dies ist nur beim erstmaligen Bearbeiten eines Dokuments erforderlich - danach kann das Schema dem Dokument automatisch zugeordnet werden.
Sobald ein Schema mit einem Dokument verknüpft ist, erhalten Sie eine schemabefühlende Vervollständigung (aka Intellisense) und Validierung. NXML-Mode-Shops mit. RNC-Schemas für XSLT, Docbook, und amüsant, RNG Xml Syntax und andere.
Es braucht ein wenig Aufbau, aber es funktioniert.
Auch ohne Schemas ist es sehr nützlich. Sie können abschließende Tags automatisch vervollständigen, nach Tag und vielen anderen tollen Funktionen navigieren. Alles in allem, Alex Ott hat Recht auf das Geld.
Verwenden Sie den Sun RNG Converter, um das XSD in RNG / XML zu bekommen, und dann Trang, um den RNG in RNG compact syntax zu bekommen. Sie können den Sun-Konverter von msv.java.net herunterladen.