Esempio n. 1
0
        private MSG.Message TransformToCSBDataSetSchemedXDSGWMessage(MSG.Message msg, string msgID)
        {
            if (!_entity.Context.ConfigMgr.Config.EnableXMLTransform)
            {
                return(msg);
            }

            _entity.Context.Log.Write("Begin transforming XDSGW message.");
            string         file = ConfigHelper.GetFullPath(_entity.Context.AppArgument.ConfigFilePath, _entity.Context.ConfigMgr.Config.XSLTFilePath);
            XMLTransformer t    = XMLTransformer.CreateFromFileWithCache(file, _entity.Context.Log);

            if (t == null)
            {
                return(null);
            }

            string csbMsgXml   = "";
            string otherMsgXml = msg.ToXMLString();

            if (!t.TransformString(otherMsgXml, ref csbMsgXml, XSLTExtensionTypes.None))
            {
                return(null);
            }

            MSG.Message csbMsg = XObjectManager.CreateObject <MSG.Message>(csbMsgXml);
            if (csbMsg == null)
            {
                _entity.Context.Log.Write(LogType.Error, "Cannot deserialize the transformed XML into XDSGW message.");
                string fname = string.Format("{0}_transformed", msgID);
                DumpErrorMessage(csbMsgXml, fname);
            }

            _entity.Context.Log.Write("Finish transforming XDSGW message.");
            return(csbMsg);
        }
Esempio n. 2
0
        //internal bool XSLTTransform(string sourceXml, ref string targetXml, string xsltFileName, bool enableExtension)
        //{
        //    string xslFile = ConfigHelper.GetFullPath(Program.AppArgument.ConfigFilePath, xsltFileName);
        //    XMLTransformer it = XMLTransformer.CreateFromFileWithCache(xslFile, Program.Log, enableExtension);
        //    return it.TransformString(sourceXml, ref targetXml, enableExtension ? XSLTExtensionTypes.XmlNodeTransformer : XSLTExtensionTypes.None);
        //}

        internal bool XSLTTransform(string sourceXml, ref string targetXml, string xsltFileName, bool enableExtension)
        {
            string         xslFile = ConfigHelper.GetFullPath(_contextForTemplate2.AppArgument.ConfigFilePath, xsltFileName);
            XMLTransformer it      = XMLTransformer.CreateFromFileWithCache(xslFile, _contextForTemplate2.Log, enableExtension);

            Message sourceMsg = new Message();

            sourceMsg.Body = sourceXml;

            string targetMsgXml = null;
            string sourceMsgXml = sourceMsg.ToXMLString();
            bool   res          = it.TransformString(sourceMsgXml, ref targetMsgXml, enableExtension ? XSLTExtensionTypes.XmlNodeTransformer : XSLTExtensionTypes.None);

            if (res)
            {
                Message targetMsg = XObjectManager.CreateObject <Message>(targetMsgXml);
                if (targetMsg != null)
                {
                    targetXml = targetMsg.Body;
                }
                else
                {
                    _contextForTemplate2.Log.Write(LogType.Error, "Cannot parse xml string to message object. \r\n" + targetMsgXml);
                    res = false;
                }
            }

            return(res);
        }
Esempio n. 3
0
        public static List <XIMWrapper> Transform(XMLTransformer transformer, List <DataSet> dataSetList)
        {
            if (transformer == null || dataSetList == null)
            {
                return(null);
            }
            List <XIMWrapper> resultList = new List <XIMWrapper>();

            foreach (DataSet ds in dataSetList)
            {
                StringBuilder sb = new StringBuilder();
                StringWriter  sw = new StringWriter(sb);
                ds.WriteXml(sw);
                string xml = sb.ToString();

                string str = "";
                if (transformer.TransformString(xml, ref str))
                {
                    XIMWrapper w = new XIMWrapper(str);
                    w.GUIDList.Add(ConfigMain.GetGUID(ds));
                    resultList.Add(w);
                }
            }
            return(resultList);
        }
Esempio n. 4
0
        internal bool XSLTTransform(string sourceXml, ref string targetXml, string xsltFileName)
        {
            string         xslFile = ConfigHelper.GetFullPath(_contextForTemplate.AppArgument.ConfigFilePath, xsltFileName);
            XMLTransformer it      = XMLTransformer.CreateFromFileWithCache(xslFile, _contextForTemplate.Log);

            return(it.TransformString(sourceXml, ref targetXml, XSLTExtensionTypes.None));
        }
Esempio n. 5
0
        /// <summary>
        /// In order to support including multiple XSLT files in the XSLT script,
        /// we disable the external extension (e.g. calling C# code from XSLT) currently.
        /// </summary>
        /// <param name="sourceMsg"></param>
        /// <param name="targetMsg"></param>
        /// <param name="rootFolderPath"></param>
        /// <param name="log"></param>
        /// <returns></returns>
        public bool TransformMessage(Message sourceMsg, out Message targetMsg, string rootFolderPath, ILog log)
        {
            targetMsg = null;
            if (sourceMsg == null)
            {
                return(false);
            }

            string xslFilePath = XSLTFileLocation;

            if (!Path.IsPathRooted(xslFilePath))
            {
                xslFilePath = Path.Combine(rootFolderPath, xslFilePath);
            }
            XMLTransformer t = XMLTransformer.CreateFromFileWithCache(xslFilePath, log, EnableXSLTExtension);

            if (t == null)
            {
                return(false);
            }

            string targetString = null;
            string sourceString = sourceMsg.ToXMLString();

            if (!t.TransformString(sourceString, ref targetString, XSLTExtensionTypes.None) ||
                string.IsNullOrEmpty(targetString))
            {
                return(false);
            }

            targetMsg = XObjectManager.CreateObject <Message>(targetString);
            return(targetMsg != null);
        }
Esempio n. 6
0
        private void buttonHL7toXML_Click(object sender, EventArgs e)
        {
            string         hl7Msg = this.textBoxSourceXml.Text.Trim();
            string         xmlMsg = "";
            XMLTransformer t      = XMLTransformer.CreateFromFile(this.textBoxXSLTPath.Text.Trim(), _log);

            if (t.TransformString(hl7Msg, ref xmlMsg, XSLTExtensionTypes.None))
            {
                this.textBoxXmlMsg.Text = xmlMsg;
            }
            else
            {
                _log.Write("Transforming fialed.");
            }
        }
Esempio n. 7
0
        private void buttonInput_Click(object sender, EventArgs e)
        {
            string str = "";

            if (_transformer == null)
            {
                return;
            }
            if (_transformer.TransformString(this.textBoxInXML.Text, ref str))
            {
                this.textBoxGCXml.Text = str;
            }
            else
            {
                MessageBox.Show(XMLTransformer.LastErrorInfor);
            }
        }
Esempio n. 8
0
        public static string[] Transform(XMLTransformer transformer, List <XmlNode> nodeList)
        {
            if (transformer == null || nodeList == null)
            {
                return(null);
            }
            List <string> list = new List <string>();

            foreach (XmlNode node in nodeList)
            {
                string outXML = "";
                string inXML  = node.OuterXml;
                if (transformer.TransformString(inXML, ref outXML))
                {
                    list.Add(outXML);
                }
            }
            return(list.ToArray());
        }
Esempio n. 9
0
        private static string[] Transform(XMLTransformer transformer, List <DataSet> dataSetList)
        {
            if (transformer == null || dataSetList == null)
            {
                return(null);
            }
            List <string> resultList = new List <string>();

            foreach (DataSet ds in dataSetList)
            {
                StringBuilder sb = new StringBuilder();
                StringWriter  sw = new StringWriter(sb);
                ds.WriteXml(sw);
                string xml = sb.ToString();

                string str = "";
                if (transformer.TransformString(xml, ref str))
                {
                    resultList.Add(str);
                }
            }
            return(resultList.ToArray());
        }