예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
            }
        }