2
0

Multiplexer.cs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  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;
  16. using System.Security.Policy;
  17. using System.Xml.XPath;
  18. namespace System.Xml.Xsl {
  19. public sealed class XslTransform {
  20. XmlResolver xmlResolver = new XmlUrlResolver ();
  21. XslTransformImpl impl;
  22. #region Constructors
  23. public XslTransform ()
  24. {
  25. if (Environment.GetEnvironmentVariable ("MONO_UNMANAGED_XSLT") == null)
  26. impl = new ManagedXslTransform ();
  27. else
  28. impl = new UnmanagedXslTransform ();
  29. }
  30. #endregion
  31. [MonoTODO ("Security check.")]
  32. #if NET_1_1
  33. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  34. #endif
  35. public XmlResolver XmlResolver {
  36. set {
  37. xmlResolver = value;
  38. }
  39. }
  40. #region Transform
  41. #if NET_1_1
  42. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  43. #endif
  44. public XmlReader Transform (IXPathNavigable input, XsltArgumentList args)
  45. {
  46. return Transform (input.CreateNavigator (), args, xmlResolver);
  47. }
  48. #if NET_1_1
  49. public XmlReader Transform (IXPathNavigable input, XsltArgumentList args, XmlResolver resolver)
  50. #else
  51. XmlReader Transform (IXPathNavigable input, XsltArgumentList args, XmlResolver resolver)
  52. #endif
  53. {
  54. return Transform (input.CreateNavigator (), args, resolver);
  55. }
  56. #if NET_1_1
  57. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  58. #endif
  59. public XmlReader Transform (XPathNavigator input, XsltArgumentList args)
  60. {
  61. return Transform (input, args, xmlResolver);
  62. }
  63. #if NET_1_1
  64. public XmlReader Transform (XPathNavigator input, XsltArgumentList args, XmlResolver resolver)
  65. #else
  66. XmlReader Transform (XPathNavigator input, XsltArgumentList args, XmlResolver resolver)
  67. #endif
  68. {
  69. // todo: is this right?
  70. MemoryStream stream = new MemoryStream ();
  71. Transform (input, args, new XmlTextWriter (stream, null), resolver);
  72. stream.Position = 0;
  73. return new XmlTextReader (stream);
  74. }
  75. #if NET_1_1
  76. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  77. #endif
  78. public void Transform (IXPathNavigable input, XsltArgumentList args, TextWriter output)
  79. {
  80. Transform (input.CreateNavigator (), args, output, xmlResolver);
  81. }
  82. #if NET_1_1
  83. public void Transform (IXPathNavigable input, XsltArgumentList args, TextWriter output, XmlResolver resolver)
  84. #else
  85. void Transform (IXPathNavigable input, XsltArgumentList args, TextWriter output, XmlResolver resolver)
  86. #endif
  87. {
  88. Transform (input.CreateNavigator (), args, output, resolver);
  89. }
  90. #if NET_1_1
  91. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  92. #endif
  93. public void Transform (IXPathNavigable input, XsltArgumentList args, Stream output)
  94. {
  95. Transform (input.CreateNavigator (), args, output, xmlResolver);
  96. }
  97. #if NET_1_1
  98. public void Transform (IXPathNavigable input, XsltArgumentList args, Stream output, XmlResolver resolver)
  99. #else
  100. void Transform (IXPathNavigable input, XsltArgumentList args, Stream output, XmlResolver resolver)
  101. #endif
  102. {
  103. Transform (input.CreateNavigator (), args, output, resolver);
  104. }
  105. #if NET_1_1
  106. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  107. #endif
  108. public void Transform (IXPathNavigable input, XsltArgumentList args, XmlWriter output)
  109. {
  110. Transform (input.CreateNavigator (), args, output, xmlResolver);
  111. }
  112. #if NET_1_1
  113. public void Transform (IXPathNavigable input, XsltArgumentList args, XmlWriter output, XmlResolver resolver)
  114. #else
  115. void Transform (IXPathNavigable input, XsltArgumentList args, XmlWriter output, XmlResolver resolver)
  116. #endif
  117. {
  118. Transform (input.CreateNavigator (), args, output, resolver);
  119. }
  120. #if NET_1_1
  121. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  122. #endif
  123. public void Transform (XPathNavigator input, XsltArgumentList args, XmlWriter output)
  124. {
  125. impl.Transform (input, args, output, xmlResolver);
  126. }
  127. #if NET_1_1
  128. public void Transform (XPathNavigator input, XsltArgumentList args, XmlWriter output, XmlResolver resolver)
  129. #else
  130. void Transform (XPathNavigator input, XsltArgumentList args, XmlWriter output, XmlResolver resolver)
  131. #endif
  132. {
  133. impl.Transform (input, args, output, resolver);
  134. }
  135. #if NET_1_1
  136. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  137. #endif
  138. public void Transform (XPathNavigator input, XsltArgumentList args, Stream output)
  139. {
  140. impl.Transform (input, args, output, xmlResolver);
  141. }
  142. #if NET_1_1
  143. public void Transform (XPathNavigator input, XsltArgumentList args, Stream output, XmlResolver resolver)
  144. #else
  145. void Transform (XPathNavigator input, XsltArgumentList args, Stream output, XmlResolver resolver)
  146. #endif
  147. {
  148. impl.Transform (input, args, output, resolver);
  149. }
  150. #if NET_1_1
  151. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  152. #endif
  153. public void Transform (XPathNavigator input, XsltArgumentList args, TextWriter output)
  154. {
  155. impl.Transform (input, args, output, xmlResolver);
  156. }
  157. #if NET_1_1
  158. public void Transform (XPathNavigator input, XsltArgumentList args, TextWriter output, XmlResolver resolver)
  159. #else
  160. void Transform(XPathNavigator input, XsltArgumentList args, TextWriter output, XmlResolver resolver)
  161. #endif
  162. {
  163. impl.Transform (input, args, output, resolver);
  164. }
  165. #if NET_1_1
  166. [Obsolete ("You should pass XmlResolver to Transform() method", false)]
  167. #endif
  168. public void Transform (string inputfile, string outputfile)
  169. {
  170. impl.Transform (inputfile, outputfile, xmlResolver);
  171. }
  172. #if NET_1_1
  173. public void Transform (string inputfile, string outputfile, XmlResolver resolver)
  174. #else
  175. void Transform (string inputfile, string outputfile, XmlResolver resolver)
  176. #endif
  177. {
  178. impl.Transform (inputfile, outputfile, resolver);
  179. }
  180. #endregion
  181. #region Load
  182. public void Load (string url)
  183. {
  184. Load (url, null);
  185. }
  186. public void Load (string url, XmlResolver resolver)
  187. {
  188. impl.Load (url, resolver);
  189. }
  190. #if NET_1_1
  191. [Obsolete("You should pass evidence.", false)]
  192. #endif
  193. public void Load (XmlReader stylesheet)
  194. {
  195. Load (stylesheet, null, null);
  196. }
  197. #if NET_1_1
  198. [Obsolete("You should pass evidence.", false)]
  199. #endif
  200. public void Load (XmlReader stylesheet, XmlResolver resolver)
  201. {
  202. Load (stylesheet, resolver, null);
  203. }
  204. #if NET_1_1
  205. [Obsolete("You should pass evidence.", false)]
  206. #endif
  207. public void Load (XPathNavigator stylesheet)
  208. {
  209. Load (stylesheet, null, null);
  210. }
  211. #if NET_1_1
  212. [Obsolete("You should pass evidence.", false)]
  213. #endif
  214. public void Load (XPathNavigator stylesheet, XmlResolver resolver)
  215. {
  216. Load (stylesheet, resolver, null);
  217. }
  218. #if NET_1_1
  219. [Obsolete("You should pass evidence.", false)]
  220. #endif
  221. public void Load (IXPathNavigable stylesheet)
  222. {
  223. Load (stylesheet.CreateNavigator(), null);
  224. }
  225. #if NET_1_1
  226. [Obsolete("You should pass evidence.", false)]
  227. #endif
  228. public void Load (IXPathNavigable stylesheet, XmlResolver resolver)
  229. {
  230. Load (stylesheet.CreateNavigator(), resolver);
  231. }
  232. // Introduced in .NET 1.1
  233. #if NET_1_1
  234. public void Load (IXPathNavigable stylesheet, XmlResolver resolver, Evidence evidence)
  235. #else
  236. internal void Load (IXPathNavigable stylesheet, XmlResolver resolver, Evidence evidence)
  237. #endif
  238. {
  239. impl.Load (stylesheet.CreateNavigator(), resolver, evidence);
  240. }
  241. #if NET_1_1
  242. public void Load (XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence)
  243. #else
  244. internal void Load (XPathNavigator stylesheet, XmlResolver resolver, Evidence evidence)
  245. #endif
  246. {
  247. impl.Load (stylesheet, resolver, evidence);
  248. }
  249. #if NET_1_1
  250. public void Load (XmlReader stylesheet, XmlResolver resolver, Evidence evidence)
  251. #else
  252. internal void Load (XmlReader stylesheet, XmlResolver resolver, Evidence evidence)
  253. #endif
  254. {
  255. impl.Load (stylesheet, resolver, null);
  256. }
  257. #endregion
  258. }
  259. }