Exemple #1
0
        public static string ToXml(NodeWriter nodeWriter)
        {
            var builder = new StringBuilder();

            using (XmlWriter writer = XmlWriter.Create(builder))
            {
                WriteXml(writer, nodeWriter.Nodes);
            }

            return(builder.ToString());
        }
Exemple #2
0
        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;
 }
Exemple #10
0
 public DslEvaluationScope(NodeWriter nodeWriter)
 {
     _nodeWriter = nodeWriter;
     _previous   = (DslEvaluationScope)Local.Data[CurrentDslEvaluationScopeKey];
     Local.Data[CurrentDslEvaluationScopeKey] = this;
 }