public bool TransformString(string sourceString, ref string targetString, XSLTExtensionType extType) { try { StringBuilder sb = new StringBuilder(); using (StringWriter sw = new StringWriter(sb)) { using (StringReader sr = new StringReader(sourceString)) { using (XmlTextReader xtr = new XmlTextReader(sr)) { using (XmlTextWriter stw = new XmlTextWriter(sw)) { stw.Formatting = Formatting.Indented; XsltArgumentList arg = XSLTExtension.GetXsltArgumentList(extType, sourceString); bool res = TransformXmlWithExtension(xtr, stw, arg); if (res) { targetString = sb.ToString(); } return(res); } } } } } catch (Exception err) { NotifyError(err); return(false); } }
public static XsltArgumentList GetXsltArgumentList(XSLTExtensionType t, string sourceXml) { switch ((int)t) { default: case 0: return(null); case 1: XsltArgumentList list = new XsltArgumentList(); list.AddExtensionObject("urn:xdsgw:XmlNodeTransformer", new XmlNodeTransformer(sourceXml)); return(list); } }