Sometimes, I have to check the validity of some big xml files against a xsd file.
The biggest xml file I received had a size close to 1.5GB.
xmllint took all my RAM and almost all the swap space, for a total memory usage of 18GB.
Consequently, the validation process lasted for 24 hours.

My question: Is there an alternative to xmllint --schema that consumes less memory, perhaps making use of some streaming features instead of loading the file to memory?