Mono.TextTemplating.TemplatingEngine.ProcessTemplate C# (CSharp) Method

ProcessTemplate() public method

public ProcessTemplate ( string content, ITextTemplatingEngineHost host ) : string
content string
host ITextTemplatingEngineHost
return string
		public string ProcessTemplate (string content, ITextTemplatingEngineHost host)
		{
			ParsedTemplate pt = ParsedTemplate.FromText (content, host);
			if (pt.Errors.HasErrors) {
				host.LogErrors (pt.Errors);
				return null;
			}
			
			TemplateSettings settings = GetSettings (host, pt);
			if (pt.Errors.HasErrors) {
				host.LogErrors (pt.Errors);
				return null;
			}
			
			CodeCompileUnit ccu = GenerateCompileUnit (host, pt, settings);
			if (pt.Errors.HasErrors) {
				host.LogErrors (pt.Errors);
				return null;
			}
			
			System.Reflection.Assembly results = GenerateCode (host, pt, settings, ccu);
			if (pt.Errors.HasErrors) {
				host.LogErrors (pt.Errors);
				return null;
			}
			
			if (!String.IsNullOrEmpty (settings.Extension)) {
				host.SetFileExtension (settings.Extension);
			}
			if (settings.Encoding != null) {
				//FIXME: when is this called with false?
				host.SetOutputEncoding (settings.Encoding, true);
			}
			
			string output = "";
			try {
				output = Run (results, settings.Namespace + "." + settings.Name, host, settings.Culture);
			} catch (Exception ex) {
				pt.LogError ("Error running transform: " + ex.ToString ());
			}
			host.LogErrors (pt.Errors);
			return output;
		}
		

Usage Example

Esempio n. 1
0
        public bool ProcessTemplate(string inputFileName, string inputContent, ref string outputFileName, out string outputContent)
        {
            errors.Clear();
            encoding = Encoding.UTF8;

            outputFile     = outputFileName;
            inputFile      = inputFileName;
            outputContent  = Engine.ProcessTemplate(inputContent, this);
            outputFileName = outputFile;

            return(!errors.HasErrors);
        }
All Usage Examples Of Mono.TextTemplating.TemplatingEngine::ProcessTemplate