Transform.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //
  2. // Transform.cs - Transform implementation for XML Signature
  3. //
  4. // Author:
  5. // Sebastien Pouliot ([email protected])
  6. //
  7. // (C) 2002, 2003 Motus Technologies Inc. (http://www.motus.com)
  8. //
  9. using System.Text;
  10. using System.Xml;
  11. namespace System.Security.Cryptography.Xml {
  12. public abstract class Transform {
  13. static private string xmldsig = "http://www.w3.org/2000/09/xmldsig#";
  14. private string algo;
  15. public Transform () {}
  16. public string Algorithm {
  17. get { return algo; }
  18. set { algo = value; }
  19. }
  20. public abstract Type[] InputTypes {
  21. get;
  22. }
  23. public abstract Type[] OutputTypes {
  24. get;
  25. }
  26. protected abstract XmlNodeList GetInnerXml ();
  27. public abstract object GetOutput ();
  28. public abstract object GetOutput (Type type);
  29. public XmlElement GetXml ()
  30. {
  31. StringBuilder sb = new StringBuilder ();
  32. sb.Append ("<Transform Algorithm=\"");
  33. sb.Append (algo);
  34. // sb.Append ("\" xmlns=\"");
  35. // sb.Append (xmldsig);
  36. sb.Append ("\" />");
  37. XmlDocument doc = new XmlDocument ();
  38. doc.LoadXml (sb.ToString ());
  39. return doc.DocumentElement;
  40. }
  41. public abstract void LoadInnerXml (XmlNodeList nodeList);
  42. public abstract void LoadInput (object obj);
  43. }
  44. }