Technical details - adamb924/mortal-engine GitHub Wiki

Text Encoding

Use UTF-8... everywhere. Other encodings might work, but I wouldn't risk it.

XML Namespaces

There are three XML namespaces:

  • https://www.adambaker.org/mortal-engine for [morphology files]] (and [writing system files).
  • https://www.adambaker.org/mortal-engine/stems for stem files.
  • https://www.adambaker.org/mortal-engine/tests for test files.

Dirty secret: Mortal Engine doesn't even look at the namespace. They're actually just there to help with XSD validation.

XML Validation

It is well worth figuring out how to tell Visual Studio where the XSD files are, because it will then give you validation as you type, and autocomplete. There are different ways you can do it. The quick-and-dirty way would just to put the files in the schemata folder in the same folder you have your files.

Mortal Engine doesn't actually validate your input files when it reads them. You should do that beforehand—continuously, automatically, as Visual Studio Code will do for you. If your files don't validate correctly against the relevant XSDs, the program's behavior is undefined.

Qt Version

I've been developing this and testing it with Qt 5.15.1. It also builds on Qt 6, and I have done some limited testing there.