Render() public method

Renders page content back to its XML representation.
public Render ( ) : string
return string
Ejemplo n.º 1
0
		private bool UpdateSummaryPage(IEnumerable<IProjectPage> pages, PageSummary summary)
		{
			var updated = new PageDocument();

			var tbody = new XElement(
				"tbody",
				new XElement(
					"tr",
					new XElement("th", "Area"),
					new XElement("th", "Project"),
					new XElement("th", "Type"),
					new XElement("th", ".NET"),
					new XElement("th", "Owner"),
					new XElement("th", "Status")));

			foreach (var page in pages.OrderBy(p => p.OrderKey))
			{
				tbody.Add(page.RenderSummaryRow(false));
			}

			updated.Root.Add(
				new XElement(
					"table",
					tbody));

			var content = updated.Render();
			var existing = m_confluence.GetCachedPage(summary);

			var before = NormalizeForComparison(existing.Content);
			var after = NormalizeForComparison(content);

			if (after == before)
				return false;

			existing.Content = content;
			m_confluence.UpdatePage(existing);
			return true;
		}
Ejemplo n.º 2
0
		private string NormalizeForComparison(string content)
		{
			var doc = new PageDocument(content);
			var macros = doc.Root.XElements("//ac:structured-macro").ToList();

			foreach (var macro in macros)
			{
				macro.XAttribute("ac:macro-id").RemoveIfExists();
				macro.XAttribute("ac:schema-version").RemoveIfExists();
			}

			return doc.Render();
		}