public int LoadXSL(String _strXslFile, XslInputType xslInputType, XmlResolver xr) { _strXslFile = FullFilePath(_strXslFile); xslt = new XslCompiledTransform(); XmlReaderSettings xrs = null; switch (xslInputType) { case XslInputType.URI: /* _output.WriteLine("Loading style sheet as URI {0}", _strXslFile); xslt.Load(_strXslFile, XsltSettings.TrustedXslt, xr); break; */ case XslInputType.Reader: switch (_readerType) { case ReaderType.XmlTextReader: XmlTextReader trTemp = new XmlTextReader(_strXslFile); try { _output.WriteLine("Loading style sheet as XmlTextReader " + _strXslFile); xslt.Load(trTemp, XsltSettings.TrustedXslt, xr); } catch (Exception ex) { throw (ex); } finally { if (trTemp != null) trTemp.Dispose(); } break; case ReaderType.XmlNodeReader: XmlDocument docTemp = new XmlDocument(); docTemp.Load(_strXslFile); XmlNodeReader nrTemp = new XmlNodeReader(docTemp); try { _output.WriteLine("Loading style sheet as XmlNodeReader " + _strXslFile); xslt.Load(nrTemp); } catch (Exception ex) { throw (ex); } finally { if (nrTemp != null) nrTemp.Dispose(); } break; case ReaderType.XmlValidatingReader: default: xrs = new XmlReaderSettings(); #pragma warning disable 0618 xrs.ProhibitDtd = false; #pragma warning restore 0618 XmlReader xvr = XmlReader.Create(_strXslFile, xrs); try { _output.WriteLine("Loading style sheet as XmlValidatingReader " + _strXslFile); xslt.Load(xvr, XsltSettings.TrustedXslt, xr); } catch (Exception ex) { throw (ex); } finally { if (xvr != null) xvr.Dispose(); } break; } break; case XslInputType.Navigator: xrs = new XmlReaderSettings(); xrs.ValidationType = ValidationType.None; #pragma warning disable 0618 xrs.ProhibitDtd = false; #pragma warning restore 0618 XmlReader xrLoad = XmlReader.Create(_strXslFile, xrs); XPathDocument xdTemp = new XPathDocument(xrLoad, XmlSpace.Preserve); xrLoad.Dispose(); _output.WriteLine("Loading style sheet as Navigator " + _strXslFile); xslt.Load(xdTemp, XsltSettings.TrustedXslt, xr); break; } return 1; }
// -------------------------------------------------------------------------------------------------------------- // LoadXSL_Resolver // ------------------------------------------------------------------------------------------------------------- public int LoadXSL_Resolver(string _strXslFile, XslInputType xslInputType, ReaderType readerType, XmlResolver xr) { _strXslFile = FullFilePath(_strXslFile); xslt = new XslCompiledTransform(); XmlReaderSettings xrs = null; switch (xslInputType) { case XslInputType.URI: _output.WriteLine("Loading style sheet as URI " + _strXslFile); xslt.Load(_strXslFile, XsltSettings.TrustedXslt, xr); break; case XslInputType.Reader: switch (readerType) { case ReaderType.XmlTextReader: XmlTextReader trTemp = new XmlTextReader(_strXslFile); try { _output.WriteLine("Loading style sheet as XmlTextReader " + _strXslFile); xslt.Load(trTemp, XsltSettings.TrustedXslt, xr); } finally { if (trTemp != null) { trTemp.Dispose(); } } break; case ReaderType.XmlNodeReader: XmlDocument docTemp = new XmlDocument(); docTemp.Load(_strXslFile); XmlNodeReader nrTemp = new XmlNodeReader(docTemp); try { _output.WriteLine("Loading style sheet as XmlNodeReader " + _strXslFile); xslt.Load(nrTemp, XsltSettings.TrustedXslt, xr); } finally { if (nrTemp != null) { nrTemp.Dispose(); } } break; case ReaderType.XmlValidatingReader: default: xrs = new XmlReaderSettings(); #pragma warning disable 0618 xrs.ProhibitDtd = false; #pragma warning restore 0618 XmlReader vrTemp = XmlReader.Create(_strXslFile, xrs); try { _output.WriteLine("Loading style sheet as XmlValidatingReader " + _strXslFile); xslt.Load(vrTemp, XsltSettings.TrustedXslt, xr); } finally { if (vrTemp != null) { vrTemp.Dispose(); } } break; } break; case XslInputType.Navigator: xrs = new XmlReaderSettings(); #pragma warning disable 0618 xrs.ProhibitDtd = false; #pragma warning restore 0618 XmlReader xrLoad = XmlReader.Create(_strXslFile, xrs); XPathDocument xdTemp = new XPathDocument(xrLoad, XmlSpace.Preserve); xrLoad.Dispose(); _output.WriteLine("Loading style sheet as Navigator " + _strXslFile); xslt.Load(xdTemp, XsltSettings.TrustedXslt, xr); break; } return(1); }
public void Init(object objParam) { // Get input and transform type from attribute _nInputXsl = GetXslInputType(String.Empty); _nOutput = GetOutputType(String.Empty); // Get parameter info from runtime variables passed to LTM _fTrace = false; _navType = GetDocType(InitStringValue("doctype")); _readerType = GetReaderType(InitStringValue("readertype")); //This is a temporary fix to restore the baselines. Refer to Test bug # _strPath = Path.Combine(@"TestFiles\", FilePathUtil.GetTestDataPath(), @"XsltApiV2\"); _httpPath = FilePathUtil.GetHttpTestDataPath() + @"/XsltApiV2/"; _standardTests = Path.Combine(@"TestFiles\", FilePathUtil.GetHttpStandardPath() + @"/xslt10/Current/"); return; }
// -------------------------------------------------------------------------------------------------------------- // LoadXSL // ------------------------------------------------------------------------------------------------------------- public int LoadXSL(string _strXslFile, XslInputType xslInputType, ReaderType readerType) { return(LoadXSL(_strXslFile, xslInputType, readerType, new XmlUrlResolver())); }