public string postProcess(PageWriter writer, string xml) { bool anyModulesReplaced; var document = ExtractHTML.loadHTML(xml); do { anyModulesReplaced = false; var references = findModuleReferences(document).ToArray(); foreach (var reference in references) { var moduleName = reference.URI.LocalPath; var template = resolveModuleTemplate(writer.Site, moduleName); var parameters = ModuleParameters.fromReference(reference); var moduleContext = new ModuleContext(writer, parameters); var moduleHTML = "<root>" + template.generateHTML(moduleContext) + "</root>"; var moduleDocument = ExtractHTML.loadWithoutDTD(moduleHTML); reference.expand(moduleDocument.DocumentElement.ChildNodes); anyModulesReplaced = true; } } while (anyModulesReplaced); return(XHTMLWriter.writeStrict(document)); }
public string postProcess(PageWriter pageWriter, string html) { return(_moduleProcessor.postProcess(pageWriter, html)); }