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); }
//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); }
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); }
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)); }
/// <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); }
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."); } }
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); } }
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()); }
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()); }