Пример #1
0
        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));
        }
Пример #2
0
        private XMLConverterModel GetConverterModel(string documentXml)
        {
            XMLConverterModel converterModel = _xmlFactory.BuildXmlModel(documentXml);

            return(converterModel);
        }