Вам необходимо предоставить входные файлы для scons. В настоящее время у вас есть исходный файл, жестко запрограммированный в «рецепте» компоновщика. Лучше использовать заполнитель SOURCE в строке действия и затем указать входной файл при вызове компоновщика.
xmlValidator = Builder(action='xmllint --noout --schema '+
pwd+'/path/schema.xsd $SOURCE')
Env.Append(BUILDERS = {'ValidateXML' : xmlValidator})
Env.ValidateXML(source='file.xml')
Это всегда будет запускать проверку, поэтому вы можете захотеть, чтобы она выводила результат в файл. Для этого вы должны использовать заполнитель TARGET, например:
xmlValidator = Builder(action='xmllint --schema '+
pwd+'/path/schema.xsd $SOURCE --output $TARGET')
Env.ValidateXML(source='file.xml', target="out.txt")