У SIGame-пакетов есть XSD-схемы для валидации Content.xml, соответствующие третьей и пятой версиям формата. Эти схемы можно использовать для тестирования, чтобы убедиться, что пакеты корректно сохраняются.
К сожалению, крейт quick-xml не поддерживает валидацию XSD, поэтому придётся искать другое решение. Одним из вариантов может быть использование libxml2 и враппера для работы с ним, но только в тестах: libxml2 не поддерживается в WASM, что делает невозможным его использование в рантайме.
Из интересного, можно попробовать прикрутить фаззер (fuzzer), который будет генерировать тестовые данные пакетов и проверять их соответствие схеме.
У SIGame-пакетов есть XSD-схемы для валидации
Content.xml, соответствующие третьей и пятой версиям формата. Эти схемы можно использовать для тестирования, чтобы убедиться, что пакеты корректно сохраняются.К сожалению, крейт quick-xml не поддерживает валидацию XSD, поэтому придётся искать другое решение. Одним из вариантов может быть использование libxml2 и враппера для работы с ним, но только в тестах: libxml2 не поддерживается в WASM, что делает невозможным его использование в рантайме.
Из интересного, можно попробовать прикрутить фаззер (fuzzer), который будет генерировать тестовые данные пакетов и проверять их соответствие схеме.