Currently, Makefile serves 3 functions. 1. Validate the XML file against the schema. 2. If invalid, use xmllint to highlight the problem. xmllint only works with canonicalized version thanks to the lack of support of entitty references. 3. If valid, sign it. All should be done in one tool.