Multiplexer.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. // System.Xml.Xsl.XslTransform
  2. //
  3. // Authors:
  4. // Tim Coleman <[email protected]>
  5. // Gonzalo Paniagua Javier ([email protected])
  6. //
  7. // (C) Copyright 2002 Tim Coleman
  8. // (c) 2003 Ximian Inc. (http://www.ximian.com)
  9. //
  10. using System;
  11. using System.Collections;
  12. using System.IO;
  13. using System.Text;
  14. using System.Runtime.InteropServices;
  15. using System.Security.Policy;
  16. using System.Xml.XPath;
  17. namespace System.Xml.Xsl {
  18. public sealed class XslTransform {
  19. XmlResolver xmlResolver;
  20. XslTransformImpl impl;
  21. #region Constructors
  22. public XslTransform ()
  23. {
  24. if (Environment.GetEnvironmentVariable ("MONO_MANAGED_XSLT") != null)
  25. impl = new ManagedXslTransform ();
  26. else
  27. impl = new UnmanagedXslTransform ();
  28. }
  29. #endregion
  30. public XmlResolver XmlResolver { set { xmlResolver = value; }}
  31. #region Transform
  32. public XmlReader Transform (IXPathNavigable input, XsltArgumentList args)
  33. {
  34. return Transform (input.CreateNavigator (), args);
  35. }
  36. public XmlReader Transform(XPathNavigator input, XsltArgumentList args)
  37. {
  38. // todo: is this right?
  39. MemoryStream stream = new MemoryStream ();
  40. Transform (input, args, new XmlTextWriter (stream, null));
  41. stream.Position = 0;
  42. return new XmlTextReader (stream);
  43. }
  44. public void Transform(IXPathNavigable input, XsltArgumentList args, TextWriter output)
  45. {
  46. Transform (input.CreateNavigator (), args, output);
  47. }
  48. public void Transform(IXPathNavigable input, XsltArgumentList args, Stream output)
  49. {
  50. Transform (input.CreateNavigator (), args, output);
  51. }
  52. public void Transform(IXPathNavigable input, XsltArgumentList args, XmlWriter output)
  53. {
  54. Transform (input.CreateNavigator (), args, output);
  55. }
  56. public void Transform(XPathNavigator input, XsltArgumentList args, XmlWriter output)
  57. {
  58. impl.Transform (input, args, output, xmlResolver);
  59. }
  60. public void Transform(XPathNavigator input, XsltArgumentList args, Stream output)
  61. {
  62. impl.Transform (input, args, new XmlTextWriter (output, null), xmlResolver);
  63. }
  64. public void Transform(XPathNavigator input, XsltArgumentList args, TextWriter output)
  65. {
  66. impl.Transform (input, args, output, xmlResolver);
  67. }
  68. public void Transform (string inputfile, string outputfile)
  69. {
  70. impl.Transform (inputfile, outputfile, xmlResolver);
  71. }
  72. #endregion
  73. public void Load (string url)
  74. {
  75. Load (url, null);
  76. }
  77. public void Load (string url, XmlResolver resolver)
  78. {
  79. impl.Load (url, resolver);
  80. }
  81. #if NET_1_1
  82. [Obsolete("You should pass evidence.", false)]
  83. #endif
  84. public void Load (XmlReader stylesheet)
  85. {
  86. Load (stylesheet, null, null);
  87. }
  88. #if NET_1_1
  89. [Obsolete("You should pass evidence.", false)]
  90. #endif
  91. public void Load (XmlReader stylesheet, XmlResolver resolver)
  92. {
  93. Load (stylesheet, resolver, null);
  94. }
  95. #if NET_1_1
  96. [Obsolete("You should pass evidence.", false)]
  97. #endif
  98. public void Load (XPathNavigator stylesheet)
  99. {
  100. Load (stylesheet, null, null);
  101. }
  102. #if NET_1_1
  103. [Obsolete("You should pass evidence.", false)]
  104. #endif
  105. public void Load (XPathNavigator stylesheet, XmlResolver resolver)
  106. {
  107. Load (stylesheet, resolver, null);
  108. }
  109. #if NET_1_1
  110. [Obsolete("You should pass evidence.", false)]
  111. #endif
  112. public void Load (IXPathNavigable stylesheet)
  113. {
  114. Load (stylesheet.CreateNavigator(), null);
  115. }
  116. #if NET_1_1
  117. [Obsolete("You should pass evidence.", false)]
  118. #endif
  119. public void Load (IXPathNavigable stylesheet, XmlResolver resolver)
  120. {
  121. Load (stylesheet.CreateNavigator(), resolver);
  122. }
  123. // Introduced in .NET 1.1
  124. #if NET_1_1
  125. public void Load (IXPathNavigable stylesheet, XmlResolver resolver, Evidence evidence)
  126. #else
  127. internal void Load (IXPathNavigable stylesheet, XmlResolver resolver, Evidence evidence)
  128. #endif
  129. {
  130. impl.Load (stylesheet.CreateNavigator(), resolver, evidence);
  131. }
  132. #if NET_1_1
  133. public void Load (XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence)
  134. #else
  135. internal void Load (XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence)
  136. #endif
  137. {
  138. impl.Load (stylesheet, resolver, evidence);
  139. }
  140. #if NET_1_1
  141. public void Load (XmlReader stylesheet, XmlResolver resolver, Evidence evidence)
  142. #else
  143. internal void Load (XmlReader stylesheet, XmlResolver resolver, Evidence evidence)
  144. #endif
  145. {
  146. impl.Load (stylesheet, resolver, null);
  147. }
  148. }
  149. }