Syntax grammar XML validator available on Github

I’ve created a syntax grammar XML validator script to help when I’m writing language definition extensions for Nova. I often make trivial mistakes in my XML, and I was using xmllint to check for well-formed XML whenever Nova refused to load my extension.

Now I also added Relax NG schemas based on the excellent extension documentation. With the schemas, xmllint can also detect misspelled element names, missing attributes, and other structural problems.

I put it on Github in case it is useful for other extension developers. It doesn’t require any other software to be installed since xmllint comes with macOS.

7 Likes

This looks great; thanks Jakob! It’s a huge improvement over commenting out portions of XML to try and track down my mistakes.

1 Like

Thanks Jakob – this is a really helpful contribution! :+1:

1 Like

I just pushed an update to the syntax schemas to match the documentation for Nova 9.

When I run the validator on the included extensions in Nova.app/Contents/SharedSupport/Extensions, it finds a few bugs as well as some undocumented attributes and elements.

Run it like this:

% ./validate.sh -v /Applications/Nova.app/Contents/SharedSupport/Extensions/*
1 Like