public static string ToXml(NodeWriter nodeWriter) { var builder = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(builder)) { WriteXml(writer, nodeWriter.Nodes); } return(builder.ToString()); }
public static string ToXml(StandardDsl dsl) { var nodeWriter = new NodeWriter(); using (var scope = new DslEvaluationScope(nodeWriter)) { dsl.Execute(); } return(ToXml(nodeWriter)); }
public static string ToXml(NodeWriter nodeWriter) { var builder = new StringBuilder(); using (XmlWriter writer = XmlWriter.Create(builder)) { WriteXml(writer, nodeWriter.Nodes); } return builder.ToString(); }
public static string ToXml(StandardDsl dsl) { var nodeWriter = new NodeWriter(); using (var scope = new DslEvaluationScope(nodeWriter)) { dsl.Execute(); } return ToXml(nodeWriter); }
public Batch[] Item <T>(Func <T, string> func) { return(new Batch[] { delegate { NodeWriter.WriteNode(new ItemNode <T>(func)); return null; } }); }
public void TestNodeWriter() { var writer = new NodeWriter(); writer.WriteStartNode(new NamedNode("table")) .WriteStartNode(new NamedNode("tr")) .WriteStartNode(new NamedNode("td")) .WriteNode(new TextNode("column1")) .WriteEndNode() .WriteEndNode() .WriteEndNode(); string expected = @"<?xml version=""1.0"" encoding=""utf-16""?><table><tr><td>column1</td></tr></table>"; Assert.AreEqual(expected, DslToXml.ToXml(writer)); }
public Batch[] Component(params Batch[] batches) { Batch asBatch = delegate { var componentNode = new ComponentNode { Name = NodeWriter.ExtractName }; NodeWriter.WriteStartNode(componentNode); ExecuteBatches(batches); NodeWriter.WriteEndNode(); return(null); }; asBatch.Ignore(); return(new[] { asBatch }); }
public Batch[] Section(params Batch[] batches) { return(new Batch[] { delegate { string name = NodeWriter.ExtractName; var sectionNode = new SectionNode(); FindNode <ComponentNode>().Sections.Add(name, sectionNode); var nodeWriter = new NodeWriter(); using (new DslEvaluationScope(nodeWriter)) { ExecuteBatches(batches); } sectionNode.Nodes.AddRange(nodeWriter.Nodes); return null; } }); }
public DslEvaluationScope(NodeWriter nodeWriter) { _nodeWriter = nodeWriter; _previous = (DslEvaluationScope) Local.Data[CurrentDslEvaluationScopeKey]; Local.Data[CurrentDslEvaluationScopeKey] = this; }
public DslEvaluationScope(NodeWriter nodeWriter) { _nodeWriter = nodeWriter; _previous = (DslEvaluationScope)Local.Data[CurrentDslEvaluationScopeKey]; Local.Data[CurrentDslEvaluationScopeKey] = this; }