Exemplo n.º 1
0
        protected override void DoWrite(Node node)
        {
            var emittedNodes = transform.TransformNode(node);

            foreach (var emittedNode in emittedNodes)
            {
                writer.Write(emittedNode);
            }
        }
Exemplo n.º 2
0
        private IEnumerable <Node> EnumerateNodes()
        {
            while (reader.Read())
            {
                var nodes = transform.TransformNode(reader.Current);
                foreach (var node in nodes)
                {
                    yield return(node);
                }
            }

            var lastNodes = transform.Complete();

            foreach (var node in lastNodes)
            {
                yield return(node);
            }
        }
Exemplo n.º 3
0
        private IEnumerable <Node> ProcessTransformationChain(Node node, ITransform transform, LinkedListNode <ITransform> next)
        {
            var transformedNodes = transform.TransformNode(node);

            foreach (var transformedNode in transformedNodes)
            {
                if (next != null)
                {
                    var others = ProcessTransformationChain(transformedNode, next.Value, next.Next);
                    foreach (var other in others)
                    {
                        yield return(other);
                    }
                }
                else
                {
                    yield return(transformedNode);
                }
            }
        }