Decide on class of object to be created from algorithm URI
===

Because of specifications imposed on me I have written my own C# code to sign xml, and to validate signed xml. Much like the SignedXml class does, but this way I'm more flexible e.g. in using xml namespace prefixes or not (it seems SignedXml does NOT like namespace prefixes in the signature xml, but my xml specs say I must), and in the algorithm for the signature (specs now say sha256).

Everything seems to work, but an "imperfection" that bothers me is that - for example - when validating the xml, I need to transform or verify data using a particular class of object, and all I have to go by is the algorithm URI specified in the xml. An example would canonicalization: if the xml says "http://www.w3.org/2001/10/xml-exc-c14n#" I *know* I can use the XmlDsigExcC14NTransform class, but my question is: is there a way to get from such a URI (or any URI) to a particular class of object?

I now use a list of URI's known to me and the object classes (I think) they refer to, which is not really what I like.

Thanks, Bob