Мне недавно пришлось сделать что-то похожее на это.
То, с чем я пошел, было использованием файлов шаблонов XML и определением схемы для файлов.В моей подпрограмме (-ах) валидации я перебираю все XML-узлы критериев и, используя информацию в них, я выполняю валидацию.Это позволяет мне переопределять файл XML в любое время, и он будет работать с моим приложением (если оно остается в пределах определенной схемы).