protected virtual RazorEngineCompiledTemplate GetCompiledTemplate(ITemplateProvider templateProvider, TemplateData data)
        {
            string template    = templateProvider.ProvideTemplate(data.Language);
            var    razorEngine = new RazorEngine();

            return(razorEngine.Compile(template));
        }
        protected virtual XslCompiledTransform ConstructXslTransform(ITemplateProvider templateProvider, TemplateData data)
        {
            string template = templateProvider.ProvideTemplate(data.Language);

            var transform = new XslCompiledTransform();

            using (TextReader textReader = new StringReader(template))
                using (XmlReader styleSheetReader = XmlReader.Create(textReader))
                {
                    transform.Load(styleSheetReader);
                }

            return(transform);
        }