The most common causes of corruption due to schema validation are the use of the PSVI, which can alter some of the DOM nodes while validating, or using defaulted attributes in the schema that show up on only one side or the other.
There are lots of namespace-related issues that break things because of XML canonicalization as well. An enveloped signature generally needs exclusive c14n, but that's not a get out of jail free card or anything, it's often even harder in its own way than inclusive. It would take a book to even begin to cover all that, and I'm afraid that's just not something I can do for you. Honestly I don’t know if such a book exists. -- Scott
