private byte[] ConvertToHtml(byte[] sourceXmlContent, string xsl, string fileExtension, bool xslAutomaticDetection) { if (!IsDocumentProcessable(fileExtension)) { return(null); } string documentXml = GetDocumentXmlStringFromBytes(sourceXmlContent); XMLConverterModel converterModel = new XMLConverterModel() { ModelKind = XMLModelKind.Invalid, Xsl = xsl }; if (xslAutomaticDetection) { converterModel = GetConverterModel(documentXml); if (converterModel.ModelKind == XMLModelKind.Invalid) { _logger.InfoFormat("ConvertToHtml - document {0} is invalid. Set base style.", fileExtension); converterModel.Xsl = _xmlFactory.GetDefaultXsl(); } } if (string.IsNullOrEmpty(converterModel.Xsl)) { _logger.InfoFormat("ConvertToHtml - XSLT not found for document {0}.", fileExtension); return(null); } _logger.InfoFormat("ConvertToHtml - XSLT found, XML type: {0}", converterModel.ModelKind.ToString()); string htmlResult = CreateHtmlFromXsltTemplate(documentXml, converterModel.Xsl); return(Encoding.UTF8.GetBytes(htmlResult)); }
private XMLConverterModel GetConverterModel(string documentXml) { XMLConverterModel converterModel = _xmlFactory.BuildXmlModel(documentXml); return(converterModel); }