1) Let X be the element selected for signing/verification.
2) Find the set of namespaces attributes that need to be added to X by traversing up the tree starting from X (till we reach the document element).
3) Clone X to get Y.
4) Add the above computed (Step 2) set of attributes to Y.
4) Cascade namespace attributes down the Y tree.
5) Use Y for all future operations.
This can be implemented without making too many major changes to the code (I can volunteer for this). The only drawback that I see with this approach is the expense of the clone operation.
Any comments on this?
Regards,
Vishal
Berin Lautenbach wrote:
Jozef Aerts - Comp.Chem.Cons. - XML4Pharma wrote:
Dear Berin,
Many thanks. Does the cascading down HAVE to happen ? Or can it be avoided ?
As I understand it (and maybe someone else can comment here!) - yes it does.
The C++ library bypasses this by keeping a record of the cascaded namespace attributes and then removing them after canonicalisation, but that hasn't been built into the Java library (yet... :>).
If it cannot be avoided, is there a way to "uncascade" it after signing, or at verification time ?
Not that I am aware of.
Unfortunately, the code from "the code below" was missing in your mail. Could you send it to me ?
Apologies - I meant your code (it was originally "below" when I quoted :>.) SO the question was - are you trying to validate a previously signed document that you have now added the schema attribute to, or are you signing a "schema document" and then the validation is failing? If the former, then the validation *should* fail. If the latter, then the validation should succeed, so we need to track down the problem.
